Commit 6e247490 authored by monty@hundin.mysql.fi's avatar monty@hundin.mysql.fi

Merge

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