Commit 86f4dbe2 authored by monty@donna.mysql.com's avatar monty@donna.mysql.com

Merge monty@work:/home/bk/mysql into donna.mysql.com:/home/my/bk/mysql

parents b2760c0a 1243abdc
...@@ -1826,7 +1826,7 @@ Apart from the following links, you can find and download a lot of ...@@ -1826,7 +1826,7 @@ Apart from the following links, you can find and download a lot of
@strong{MySQL} programs, tools and APIs from the @strong{MySQL} programs, tools and APIs from the
@uref{http://www.mysql.com/Contrib/, Contrib directory}. @uref{http://www.mysql.com/Contrib/, Contrib directory}.
@subheading Tutorials @subheading Tutorials and manuals
@itemize @bullet @itemize @bullet
@c just forwards to the devshed link below.. (jcole) @c just forwards to the devshed link below.. (jcole)
...@@ -1839,6 +1839,8 @@ Beginners @strong{MySQL} Tutorial on how to install and set up ...@@ -1839,6 +1839,8 @@ Beginners @strong{MySQL} Tutorial on how to install and set up
@item @uref{http://www.devshed.com/Server_Side/MySQL/, A lot of @strong{MySQL} tutorials} @item @uref{http://www.devshed.com/Server_Side/MySQL/, A lot of @strong{MySQL} tutorials}
@item @uref{http://mysql.hitstar.com/, MySQL manual in Chinise}.
@item @uref{http://www.linuxplanet.com/linuxplanet/tutorials/1046/1/, @item @uref{http://www.linuxplanet.com/linuxplanet/tutorials/1046/1/,
Setting Up a @strong{MySQL}-Based Website} Setting Up a @strong{MySQL}-Based Website}
...@@ -1925,6 +1927,9 @@ A Win32 GUI client by David Ecker. ...@@ -1925,6 +1927,9 @@ A Win32 GUI client by David Ecker.
@uref{http://www.icaap.org/software/kiosk/, Kiosk; a @strong{MySQL} client for @uref{http://www.icaap.org/software/kiosk/, Kiosk; a @strong{MySQL} client for
database management}. Written in Perl. Will be a part of Bazaar. database management}. Written in Perl. Will be a part of Bazaar.
@item @item
@uref{http://home.skif.net/~voland/zeos/eng/index.html, Zeos client}
A client that supports @strong{MySQL}, Interbase and PostgreSQL.
@item
@uref{http://www.geocities.com/SiliconValley/Ridge/4280/GenericReportWriter/grwhome.html, A free report writer in Java} @uref{http://www.geocities.com/SiliconValley/Ridge/4280/GenericReportWriter/grwhome.html, A free report writer in Java}
@item @item
@uref{http://www.javaframework.de,MySQLExport} @uref{http://www.javaframework.de,MySQLExport}
...@@ -2461,7 +2466,7 @@ carefully and make sure that all the information described here is included ...@@ -2461,7 +2466,7 @@ carefully and make sure that all the information described here is included
in your report. in your report.
If you can make a test case which clearly shows the bug, you should post If you can make a test case which clearly shows the bug, you should post
it to the @email{bugs@@list.mysql.com} list. Note that on this list you it to the @email{bugs@@lists.mysql.com} list. Note that on this list you
should only post a full, repeatable bug report, using the @code{mysqlbug} should only post a full, repeatable bug report, using the @code{mysqlbug}
script (if you are running on Windows, you should include a script (if you are running on Windows, you should include a
description of the operating system and the @strong{MySQL} version). description of the operating system and the @strong{MySQL} version).
...@@ -5477,6 +5482,22 @@ you are probably using @code{gcc} (or using an old binary compiled with ...@@ -5477,6 +5482,22 @@ you are probably using @code{gcc} (or using an old binary compiled with
/usr/bin/perl: can't resolve symbol '__divdi3' /usr/bin/perl: can't resolve symbol '__divdi3'
@end example @end example
If you get the following error from @code{Msql-Mysql-modules},
when you run the tests:
@example
t/00base............install_driver(mysql) failed: Can't load '../blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: ../blib/arch/auto/DBD/mysql/mysql.so: undefined symbol: uncompress at /usr/lib/perl5/5.00503/i586-linux/DynaLoader.pm line 169.
@end example
it means that you need to include the compression library, -lz, to the
link line. This can be done by changing the line:
$sysliblist .= " -lm";
to
$sysliblist .= " -lm -lz";
in file lib/DBD/mysql/Install.pm in the Msql-Mysql-modules directory.
After this, you MUST run 'make realclean' and then proceed with the
installation from the beginning.
Add @code{-L/usr/lib/gcc-lib/... -lgcc} to the link command when the Add @code{-L/usr/lib/gcc-lib/... -lgcc} to the link command when the
@file{mysql.so} library gets built (check the output from @code{make} for @file{mysql.so} library gets built (check the output from @code{make} for
@file{mysql.so} when you compile the Perl client). The @code{-L} option @file{mysql.so} when you compile the Perl client). The @code{-L} option
...@@ -11618,7 +11639,7 @@ to restart @code{mysqld} with @code{--skip-grant-tables} to be able to run ...@@ -11618,7 +11639,7 @@ to restart @code{mysqld} with @code{--skip-grant-tables} to be able to run
* DROP TABLE:: @code{DROP TABLE} syntax * DROP TABLE:: @code{DROP TABLE} syntax
* OPTIMIZE TABLE:: @code{OPTIMIZE TABLE} syntax * OPTIMIZE TABLE:: @code{OPTIMIZE TABLE} syntax
* CHECK TABLE:: @code{CHECK TABLE} syntax * CHECK TABLE:: @code{CHECK TABLE} syntax
* ANALYZE TABLE:: * ANALYZE TABLE:: @code{ANALYZE TABLE} syntax
* REPAIR TABLE:: @code{REPAIR TABLE} syntax * REPAIR TABLE:: @code{REPAIR TABLE} syntax
* DELETE:: @code{DELETE} syntax * DELETE:: @code{DELETE} syntax
* SELECT:: @code{SELECT} syntax * SELECT:: @code{SELECT} syntax
...@@ -16856,6 +16877,9 @@ The command returns a table with the following columns: ...@@ -16856,6 +16877,9 @@ The command returns a table with the following columns:
You can check the stored key distribution with the @code{SHOW INDEX} command. You can check the stored key distribution with the @code{SHOW INDEX} command.
@xref{SHOW DATABASE INFO}. @xref{SHOW DATABASE INFO}.
If the table hasn't changed since the last @code{ANALYZE TABLE} command,
the table will not be analyzed again.
@findex REPAIR TABLE @findex REPAIR TABLE
@node REPAIR TABLE, DELETE, ANALYZE TABLE, Reference @node REPAIR TABLE, DELETE, ANALYZE TABLE, Reference
@section @code{REPAIR TABLE} syntax @section @code{REPAIR TABLE} syntax
...@@ -34517,7 +34541,7 @@ Python module with caching. By @email{gandalf@@rosmail.com}. ...@@ -34517,7 +34541,7 @@ Python module with caching. By @email{gandalf@@rosmail.com}.
@item @uref{http://www.mysql.com/Downloads/Contrib/MySQLmodule-1.4.tar.gz, MySQLmodule-1.4.tar.gz} @item @uref{http://www.mysql.com/Downloads/Contrib/MySQLmodule-1.4.tar.gz, MySQLmodule-1.4.tar.gz}
Python interface for @strong{MySQL}. By Joseph Skinner @email{joe@@earthlight.co.nz}; Modified by Joerg Senekowitsch @email{senekow@@ibm.net} Python interface for @strong{MySQL}. By Joseph Skinner @email{joe@@earthlight.co.nz}; Modified by Joerg Senekowitsch @email{senekow@@ibm.net}
@item @uref{http://www.mysql.com/Downloads/Contrib/mysql_mex_1_1.tar.gz, mysql_mex_1_1.tar.gz} @item @uref{http://www.mysql.com/Downloads/Contrib/mysql_mex_1_1b.tar.gz, mysql_mex_1_1b.tar.gz}
An interface program for the Matlab program by MathWorks. The interface An interface program for the Matlab program by MathWorks. The interface
is done by Kimmo Uutela and John Fisher (not by Mathworks). is done by Kimmo Uutela and John Fisher (not by Mathworks).
Check @uref{http://boojum.hut.fi/~kuutela/mysqlmex.html,mysqlmex.html} Check @uref{http://boojum.hut.fi/~kuutela/mysqlmex.html,mysqlmex.html}
...@@ -34594,7 +34618,7 @@ have still some bugs. you can test the program with all features. Please ...@@ -34594,7 +34618,7 @@ have still some bugs. you can test the program with all features. Please
send bugs and hints to Marco Suess @email{ms@@it-netservice.de}. Original send bugs and hints to Marco Suess @email{ms@@it-netservice.de}. Original
URL @url{http://www.it-netservice.de/pages/software/index.html}. URL @url{http://www.it-netservice.de/pages/software/index.html}.
@item @uref{http://www.mysql.com/Downloads/Win32/admin13.exe,Atronic's @strong{MySQL} client for Win32 1.3.0.0} and @uref{http://www.mysql.com/Downloads/Win32/admin13.readme,Atronic's @strong{MySQL} client readme}. @item @uref{http://www.mysql.com/Downloads/Win32/ARTADMIN201.EXE,Atronic's @strong{MySQL} client for Win32 2.0.1.0}.
Home page for this can be found at: @uref{http://www.artronic.hr}. Home page for this can be found at: @uref{http://www.artronic.hr}.
@item @uref{http://www.mysql.com/Downloads/Win32/W9xstop.zip,Utility from Artronic to stop MySQL on win9x} @item @uref{http://www.mysql.com/Downloads/Win32/W9xstop.zip,Utility from Artronic to stop MySQL on win9x}
...@@ -34620,7 +34644,7 @@ A query tool for @strong{MySQL} and PostgreSQL. ...@@ -34620,7 +34644,7 @@ A query tool for @strong{MySQL} and PostgreSQL.
A query tool written in Perl. Uses DBI and Tk. A query tool written in Perl. Uses DBI and Tk.
@item @uref{http://www.mysql.com/Downloads/Contrib/mascon1.exe, mascon1.exe} @item @uref{http://www.mysql.com/Downloads/Contrib/mascon1.exe, mascon1.exe}
You can get the newest one from You can get the newest one from
@uref{http://www.SciBit.com,http://www.SciBit.com}. @uref{http://www.scibit.com/Products/Software/Utils/Mascon.asp,Mascon.asp}.
@item @uref{http://www.virtualbeer.net/dbui/,DBUI} @item @uref{http://www.virtualbeer.net/dbui/,DBUI}
DBUI is a Gtk graphical database editor. DBUI is a Gtk graphical database editor.
@end itemize @end itemize
...@@ -35352,6 +35376,12 @@ Fixed that BDB tables work on part keys. ...@@ -35352,6 +35376,12 @@ Fixed that BDB tables work on part keys.
@item @item
Check table now updates key statistics for the table. Check table now updates key statistics for the table.
@item @item
@code{ANALYZE TABLE} will now only update tables that has been changed
since last @code{ANALYZE}. Note that this is a new feature and tables
will not be marked to be analyzed until they are updated in any way with
3.23.23 or newer. For older tables, you have to do @code{CHECK TABLE}
to update the key distribution.
@item
Added @code{CHANGE MASTER TO} command Added @code{CHANGE MASTER TO} command
@item @item
Added @code{FAST}, @code{QUICK} @code{EXTENDED} check types to Added @code{FAST}, @code{QUICK} @code{EXTENDED} check types to
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB /* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or the Free Software Foundation; either version 2 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
......
...@@ -407,9 +407,10 @@ int _mi_mark_file_changed(MI_INFO *info) ...@@ -407,9 +407,10 @@ int _mi_mark_file_changed(MI_INFO *info)
{ {
char buff[3]; char buff[3];
register MYISAM_SHARE *share=info->s; register MYISAM_SHARE *share=info->s;
if (!share->state.changed || ! share->global_changed) if (!(share->state.changed & STATE_CHANGED) || ! share->global_changed)
{ {
share->state.changed|=1; share->state.changed|=(STATE_CHANGED | STATE_NOT_ANALYZED |
STATE_NOT_OPTIMIZED_KEYS);
if (!share->global_changed) if (!share->global_changed)
{ {
share->global_changed=1; share->global_changed=1;
......
...@@ -78,7 +78,7 @@ typedef struct st_mi_state_info ...@@ -78,7 +78,7 @@ typedef struct st_mi_state_info
time_t check_time; /* Time for last check */ time_t check_time; /* Time for last check */
uint sortkey; /* sorted by this key (not used) */ uint sortkey; /* sorted by this key (not used) */
uint open_count; uint open_count;
bool changed; /* Changed since isamchk */ uint8 changed; /* Changed since myisamchk */
my_off_t rec_per_key_rows; /* Rows when calculating rec_per_key */ my_off_t rec_per_key_rows; /* Rows when calculating rec_per_key */
ulong *rec_per_key_part; ulong *rec_per_key_part;
...@@ -279,14 +279,24 @@ struct st_myisam_info { ...@@ -279,14 +279,24 @@ struct st_myisam_info {
#define WRITEINFO_UPDATE_KEYFILE 1 #define WRITEINFO_UPDATE_KEYFILE 1
#define WRITEINFO_NO_UNLOCK 2 #define WRITEINFO_NO_UNLOCK 2
/* bits in state.changed */
#define STATE_CHANGED 1
#define STATE_CRASHED 2
#define STATE_CRASHED_ON_REPAIR 4
#define STATE_NOT_ANALYZED 8
#define STATE_NOT_OPTIMIZED_KEYS 16
#define STATE_NOT_SORTED_PAGES 32
#define mi_getint(x) ((uint) mi_uint2korr(x) & 32767) #define mi_getint(x) ((uint) mi_uint2korr(x) & 32767)
#define mi_putint(x,y,nod) { uint16 boh=(nod ? (uint16) 32768 : 0) + (uint16) (y);\ #define mi_putint(x,y,nod) { uint16 boh=(nod ? (uint16) 32768 : 0) + (uint16) (y);\
mi_int2store(x,boh); } mi_int2store(x,boh); }
#define mi_test_if_nod(x) (x[0] & 128 ? info->s->base.key_reflength : 0) #define mi_test_if_nod(x) (x[0] & 128 ? info->s->base.key_reflength : 0)
#define mi_mark_crashed(x) (x)->s->state.changed|=2 #define mi_mark_crashed(x) (x)->s->state.changed|=STATE_CRASHED
#define mi_mark_crashed_on_repair(x) (x)->s->state.changed|=4+2 #define mi_mark_crashed_on_repair(x) (x)->s->state.changed|=STATE_CRASHED|STATE_CRASHED_ON_REPAIR
#define mi_is_crashed(x) ((x)->s->state.changed & 2) #define mi_is_crashed(x) ((x)->s->state.changed & STATE_CRASHED)
#define mi_is_crashed_on_repair(x) ((x)->s->state.changed & 4) #define mi_is_crashed_on_repair(x) ((x)->s->state.changed & STATE_CRASHED_ON_REPAIR)
/* Functions to store length of space packed keys, VARCHAR or BLOB keys */ /* Functions to store length of space packed keys, VARCHAR or BLOB keys */
......
...@@ -2078,7 +2078,7 @@ static int save_state_mrg(File file,MRG_INFO *mrg,my_off_t new_length, ...@@ -2078,7 +2078,7 @@ static int save_state_mrg(File file,MRG_INFO *mrg,my_off_t new_length,
state.checksum=crc; state.checksum=crc;
if (isam_file->s->base.keys) if (isam_file->s->base.keys)
isamchk_neaded=1; isamchk_neaded=1;
state.changed=1; /* Force one check of table */ state.changed=STATE_CHANGED | STATE_NOT_ANALYZED; /* Force check of table */
DBUG_RETURN (mi_state_info_write(file,&state,1+2)); DBUG_RETURN (mi_state_info_write(file,&state,1+2));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment