diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index b96a2eabfa1..8e4996cb76b 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -35,6 +35,7 @@ paul@teton.kitebird.com root@x3.internalnet sasha@mysql.sashanet.com serg@serg.mysql.com +sinisa@rhols221.adsl.netsonic.fi tfr@sarvik.tfr.cafe.ee tim@bitch.mysql.fi tim@black.box diff --git a/Docs/manual.texi b/Docs/manual.texi index a77e50b794d..e0c39f49058 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -9333,9 +9333,10 @@ You can force a MySQL client to use named pipes by specifying the @code{--pipe} option or by specifying @code{.} as the host name. Use the @code{--socket} option to specify the name of the pipe. -Note that starting from 3.23.50, named pipes are only enabled if you start -@code{mysqld} with @code{--enable-named-pipe}. This is because some users have -experienced problems shutting down the MySQL server when named pipes are used. +Note that starting from 3.23.50, named pipes are only enabled if mysqld is +started with with @code{--enable-named-pipe}. This is because some users +have experienced problems shutting down the MySQL server when one uses +named pipes. You can test whether or not MySQL is working by executing the following commands: @@ -9614,8 +9615,8 @@ option to the new MySQL clients or create an option file host = localhost @end example -Starting from 3.23.50, named pipes are only enabled if start mysqld with -@code{--enable-named-pipe}. +Starting from 3.23.50, named pipes are only enabled if mysqld is started +with @code{--enable-named-pipe}. @item @code{Access denied for user} error If you get the error @code{Access denied for user: 'some-user@@unknown' @@ -14178,8 +14179,7 @@ which a not fully working lockd() (as on Linux) you will easily get mysqld to deadlock. @item --enable-named-pipe -Enable support for named pipes; This only works on NT and newer windows -versions. +Enable support for named pipes (only on NT/Win2000/XP). @item -T, --exit-info This is a bit mask of different flags one can use for debugging the @@ -14784,7 +14784,7 @@ system. This section describes how it works. * General security:: General security * Security:: How to make MySQL secure against crackers * Privileges options:: Startup Options for @code{mysqld} Concerning Security -* LOAD DATA LOCAL:: +* LOAD DATA LOCAL:: * What Privileges:: What the privilege system does * Privileges:: How the privilege system works * Privileges provided:: Privileges provided by MySQL @@ -49310,6 +49310,7 @@ users use this code as the rest of the code and because of this we are not yet 100% confident in this code. @menu +* News-3.23.51:: Changes in release 3.23.51 * News-3.23.50:: Changes in release 3.23.50 * News-3.23.49:: Changes in release 3.23.49 * News-3.23.48:: Changes in release 3.23.48 @@ -49364,18 +49365,36 @@ not yet 100% confident in this code. * News-3.23.0:: Changes in release 3.23.0 @end menu -@node News-3.23.50, News-3.23.49, News-3.23.x, News-3.23.x +@node News-3.23.51, News-3.23.50, News-3.23.x, News-3.23.x +@appendixsubsec Changes in release 3.23.51 + +@itemize @bullet +@item +Fixed @code{SIGINT} and @code{SIGQUIT} problems in @code{mysql}. +@item +Fixed bug in character table converts. +@end itemize + +@node News-3.23.50, News-3.23.49, News-3.23.51, News-3.23.x @appendixsubsec Changes in release 3.23.50 @itemize @bullet @item +@code{InnoDB} now retains foreign key constraints through @code{ALTER TABLE} +and @code{CREATE/DROP INDEX}. +@item +@code{InnoDB} now allows foreign key constraints to be added through the +@code{ALTER TABLE} syntax. +@item +@code{InnoDB} tables can now be set to automatically grow in size (autoextend). +@item Our Linux RPMS and binaries are now compiled with @code{gcc} 3.0.4, which should make them a bit faster. @item Fixed some buffer overflow problems when reading startup parameters. @item Because of problems on shutdown we have now disabled named pipes on -Windows by default. To override this, start @code{mysqld} with +windows by default. One can enable named pipes by starting mysqld with @code{--enable-named-pipe}. @item Fixed bug when using @code{WHERE key_column = 'J' or key_column='j'}. diff --git a/client/mysql.cc b/client/mysql.cc index be776997059..e97e349790e 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -39,7 +39,7 @@ #include #include -const char *VER="11.23"; +const char *VER="12.1"; /* Don't try to make a nice table if the data is too big */ #define MAX_COLUMN_LENGTH 1024 @@ -467,12 +467,12 @@ static struct option long_options[] = {"no-auto-rehash",no_argument, 0, 'A'}, {"no-beep", no_argument, 0, 'b'}, {"no-named-commands", no_argument, 0, 'g'}, - {"no-tee", no_argument, 0, OPT_NOTEE}, #ifndef __WIN__ {"no-pager", no_argument, 0, OPT_NOPAGER}, {"nopager", no_argument, 0, OPT_NOPAGER}, /* we are kind */ {"pager", optional_argument, 0, OPT_PAGER}, #endif + {"no-tee", no_argument, 0, OPT_NOTEE}, {"notee", no_argument, 0, OPT_NOTEE}, /* we are kind */ {"tee", required_argument, 0, OPT_TEE}, {"one-database", no_argument, 0, 'o'}, @@ -558,7 +558,7 @@ and you are welcome to modify and redistribute it under the GPL license\n"); still work from the first line.\n\ -G, --enable-named-commands\n\ Named commands are enabled. Opposite to -g.\n\ - -i, --ignore-space Ignore space after function names.\n\ + -i, --ignore-spaces Ignore spaces after function names.\n\ -h, --host=... Connect to host.\n\ -H, --html Produce HTML output.\n\ -X, --xml Produce XML output.\n\ diff --git a/configure.in b/configure.in index a0e6b819367..9649160393a 100644 --- a/configure.in +++ b/configure.in @@ -291,19 +291,15 @@ case "$target_os" in if test "$GCC" != "yes"; then # We are using built-in inline function CFLAGS="$CFLAGS -Kalloca" - CXX="$CXX -DNO_CPLUSPLUS_ALLOCA" - else - CXX="$CXX -DNO_CPLUSPLUS_ALLOCA" fi + CXXFLAGS="$CXXFLAGS -DNO_CPLUSPLUS_ALLOCA" ;; sysv5OpenUNIX8*) if test "$GCC" != "yes"; then # We are using built-in inline function CFLAGS="$CFLAGS -Kalloca" - CXX="$CXX -DNO_CPLUSPLUS_ALLOCA" - else - CXX="$CXX -DNO_CPLUSPLUS_ALLOCA" fi + CXXFLAGS="$CXXFLAGS -DNO_CPLUSPLUS_ALLOCA" ;; esac AC_SUBST(CC) diff --git a/sql/item_func.cc b/sql/item_func.cc index e643075b0bc..90e7a5a6477 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -2115,6 +2115,7 @@ bool Item_func_match::fix_fields(THD *thd,struct st_table_list *tlist) my_error(ER_WRONG_ARGUMENTS,MYF(0),"MATCH"); return 1; } + return 0; } diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index c64fdc7a049..602cd7e38be 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -1921,18 +1921,21 @@ String* Item_func_inet_ntoa::val_str(String* str) uchar buf[8], *p; ulonglong n = (ulonglong) args[0]->val_int(); char num[4]; - // we do not know if args[0] is NULL until we have called - // some val function on it if args[0] is not a constant! + /* + we do not know if args[0] is NULL until we have called + some val function on it if args[0] is not a constant! + */ if ((null_value=args[0]->null_value)) return 0; // Null value + str->length(0); int8store(buf,n); - // now we can assume little endian - // we handle the possibility of an 8-byte IP address - // however, we do not want to confuse those who are just using - // 4 byte ones - + /* + Now we can assume little endian. + We handle the possibility of an 8-byte IP address however, we do + not want to confuse those who are just using 4 byte ones + */ for (p= buf + 8; p > buf+4 && p[-1] == 0 ; p-- ) ; num[3]='.'; while (p-- > buf) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 3a441bb61dc..3ecb59d415a 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -2073,7 +2073,7 @@ The server will not act as a slave."); #ifdef __NT__ if (hPipe == INVALID_HANDLE_VALUE && - (!have_tcpip || opt_disable_networking) + (!have_tcpip || opt_disable_networking)) { sql_print_error("TCP/IP or --enable-named-pipe should be configured on NT OS"); unireg_abort(1); diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 82fe4d0c723..32f2e274132 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -1114,7 +1114,8 @@ make_join_statistics(JOIN *join,TABLE_LIST *tables,COND *conds, } while (keyuse->table == table && keyuse->key == key); if (eq_part == PREV_BITS(uint,table->key_info[key].key_parts) && - (table->key_info[key].flags & HA_NOSAME)) + (table->key_info[key].flags & HA_NOSAME) && + !table->fulltext_searched) { if (const_ref == eq_part) { // Found everything for ref.