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

merge

parents ff4839a9 038fe2fc
...@@ -26,7 +26,7 @@ debug_cflags="-DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DSAFE_MUTEX -O2" ...@@ -26,7 +26,7 @@ debug_cflags="-DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DSAFE_MUTEX -O2"
base_cxxflags="-felide-constructors -fno-exceptions -fno-rtti" base_cxxflags="-felide-constructors -fno-exceptions -fno-rtti"
base_configs="--prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-mysqld-ldflags=-all-static --disable-shared" base_configs="--prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-mysqld-ldflags=-all-static"
alpha_configs="" # not used yet alpha_configs="" # not used yet
pentium_configs="" pentium_configs=""
sparc_configs="" sparc_configs=""
......
...@@ -2,3 +2,4 @@ mwagner@work.mysql.com ...@@ -2,3 +2,4 @@ mwagner@work.mysql.com
sasha@mysql.sashanet.com sasha@mysql.sashanet.com
sasha@work.mysql.com sasha@work.mysql.com
tim@cane.mysql.fi tim@cane.mysql.fi
monty@donna.mysql.com
...@@ -223,6 +223,7 @@ Installing MySQL ...@@ -223,6 +223,7 @@ Installing MySQL
* OS/2:: OS/2 notes * OS/2:: OS/2 notes
* MySQL binaries:: MySQL binaries * MySQL binaries:: MySQL binaries
* Post-installation:: Post-installation setup and testing * Post-installation:: Post-installation setup and testing
* Installing many servers:: Installing many servers on the same machine
* Upgrade:: Upgrading/Downgrading MySQL * Upgrade:: Upgrading/Downgrading MySQL
Installing a MySQL Binary Distribution Installing a MySQL Binary Distribution
...@@ -854,6 +855,7 @@ Changes in release 4.0.x (Development; Alpha) ...@@ -854,6 +855,7 @@ Changes in release 4.0.x (Development; Alpha)
Changes in release 3.23.x (Stable) Changes in release 3.23.x (Stable)
* News-3.23.32::
* News-3.23.31:: Changes in release 3.23.31 * News-3.23.31:: Changes in release 3.23.31
* News-3.23.30:: Changes in release 3.23.30 * News-3.23.30:: Changes in release 3.23.30
* News-3.23.29:: Changes in release 3.23.29 * News-3.23.29:: Changes in release 3.23.29
...@@ -2343,6 +2345,8 @@ Mascon is a powerful Win32 GUI for the administering MySQL server databases. ...@@ -2343,6 +2345,8 @@ Mascon is a powerful Win32 GUI for the administering MySQL server databases.
SuSE Linux (6.1 and above) SuSE Linux (6.1 and above)
@item @uref{http://www.redhat.com/}@* @item @uref{http://www.redhat.com/}@*
RedHat Linux (7.0 and above) RedHat Linux (7.0 and above)
@item @uref{http://distro.conectiva.com.br}
Conectiva Linux (4.0 and above)
@end itemize @end itemize
@subheading Web Development Tools that Support @strong{MySQL} @subheading Web Development Tools that Support @strong{MySQL}
...@@ -3836,7 +3840,10 @@ We will provide hints on optimizing your system and your queries. ...@@ -3836,7 +3840,10 @@ We will provide hints on optimizing your system and your queries.
You are allowed to call a @strong{MySQL} developer (in moderation) and You are allowed to call a @strong{MySQL} developer (in moderation) and
discuss your @strong{MySQL}-related problems. This option is however discuss your @strong{MySQL}-related problems. This option is however
only to be used as a last result during an emergency after we have only to be used as a last result during an emergency after we have
failed to grasp the total problem with email. failed to grasp the total problem with email. To make efficient
use of our time we need to first get all facts about the problem,
before talking on phone, to be able to work as efficiently as possible on
solving the problem.
@end itemize @end itemize
@node Extended login support, , Login support, Support @node Extended login support, , Login support, Support
...@@ -3897,6 +3904,7 @@ rate that is at least 20 % less than our standard rates. ...@@ -3897,6 +3904,7 @@ rate that is at least 20 % less than our standard rates.
* OS/2:: OS/2 notes * OS/2:: OS/2 notes
* MySQL binaries:: MySQL binaries * MySQL binaries:: MySQL binaries
* Post-installation:: Post-installation setup and testing * Post-installation:: Post-installation setup and testing
* Installing many servers:: Installing many servers on the same machine
* Upgrade:: Upgrading/Downgrading MySQL * Upgrade:: Upgrading/Downgrading MySQL
@end menu @end menu
...@@ -8719,7 +8727,7 @@ and remove any @code{-fomit-frame-pointer} options. ...@@ -8719,7 +8727,7 @@ and remove any @code{-fomit-frame-pointer} options.
@cindex post-installation, setup and testing @cindex post-installation, setup and testing
@cindex testing, post-installation @cindex testing, post-installation
@cindex setup, post-installation @cindex setup, post-installation
@node Post-installation, Upgrade, MySQL binaries, Installing @node Post-installation, Installing many servers, MySQL binaries, Installing
@section Post-installation Setup and Testing @section Post-installation Setup and Testing
@menu @menu
...@@ -9042,28 +9050,7 @@ the same time). Generally the problem that occurs when you try to run the ...@@ -9042,28 +9050,7 @@ the same time). Generally the problem that occurs when you try to run the
second server is that it tries to use the same socket and port as the old one. second server is that it tries to use the same socket and port as the old one.
In this case you will get the error message: @code{Can't start server: Bind on In this case you will get the error message: @code{Can't start server: Bind on
TCP/IP port: Address already in use} or @code{Can't start server : Bind on TCP/IP port: Address already in use} or @code{Can't start server : Bind on
unix socket...} You can start the new server with a different socket and unix socket...}. @xref{Installing many servers}.
port as follows:
@tindex MYSQL_UNIX_PORT environment variable
@tindex MYSQL_TCP_PORT environment variable
@tindex Environment variable, MYSQL_UNIX_PORT
@tindex Environment variable, MYSQL_TCP_PORT
@example
shell> MYSQL_UNIX_PORT=/tmp/mysqld-new.sock
shell> MYSQL_TCP_PORT=3307
shell> export MYSQL_UNIX_PORT MYSQL_TCP_PORT
shell> scripts/mysql_install_db
shell> bin/safe_mysqld &
@end example
The environment variables appendix includes a list of other environment
variables you can use to affect @code{mysqld}. @xref{Environment variables}.
After this, you should edit your server boot script to start both daemons
with different sockets and ports. For example, it could invoke
@code{safe_mysqld} twice, but with different @code{--socket}, @code{--port},
and @code{--basedir} options for each invocation.
@item You don't have write access to @file{/tmp} @item You don't have write access to @file{/tmp}
@cindex write access, tmp @cindex write access, tmp
...@@ -9583,8 +9570,8 @@ Output version information and exit. ...@@ -9583,8 +9570,8 @@ Output version information and exit.
@node Option files, , Command-line options, Post-installation @node Option files, , Command-line options, Post-installation
@subsection Option Files @subsection Option Files
@strong{MySQL} Version 3.22 can read default startup options for the server and @strong{MySQL} Version 3.22 can read default startup options for the
for clients from option files. server and for clients from option files.
@strong{MySQL} reads default options from the following files on Unix: @strong{MySQL} reads default options from the following files on Unix:
...@@ -9746,7 +9733,80 @@ shell> my_print_defaults client mysql ...@@ -9746,7 +9733,80 @@ shell> my_print_defaults client mysql
The above output contains all options for the groups 'client' and 'mysql'. The above output contains all options for the groups 'client' and 'mysql'.
@node Upgrade, , Post-installation, Installing @node Installing many servers, Upgrade, Post-installation, Installing
@section Installing many servers on the same machine
@cindex post-install, many servers
@cindex Installing many servers
@cindex Starting many servers
In some cases you may want to have many different @code{mysqld} deamons
(servers) running on the same machine. You may for example want to run
a new version of @code{MySQL} for testing together with an old version
that is in production. Another case is when you want to give different
users access to different mysqld servers that they manage themself.
One way to get a new server running is by starting it with a different
socket and port as follows:
@tindex MYSQL_UNIX_PORT environment variable
@tindex MYSQL_TCP_PORT environment variable
@tindex Environment variable, MYSQL_UNIX_PORT
@tindex Environment variable, MYSQL_TCP_PORT
@example
shell> MYSQL_UNIX_PORT=/tmp/mysqld-new.sock
shell> MYSQL_TCP_PORT=3307
shell> export MYSQL_UNIX_PORT MYSQL_TCP_PORT
shell> scripts/mysql_install_db
shell> bin/safe_mysqld &
@end example
The environment variables appendix includes a list of other environment
variables you can use to affect @code{mysqld}. @xref{Environment variables}.
The above is the quick and dirty way that one commonly use for testing.
The nice thing with this is that all connections you do in the above shell
will automaticly be directed to the new running server!
If you need to do this more permanently, you should create an own option
file for each server. @xref{Option files}. In your startup script that
is executed at boot time (mysql.server?) you should specify for both
servers:
@code{safe_mysqld --default-file=path-to-option-file}
At least the following options should be different per server:
@table @code
@item port=#
@item socket=path
@item pid-file=path
@end table
The following options should be different, if they are used:
@table @code
@item log=path
@item log-bin=path
@item log-update=path
@item log-isam=path
@item bdb-logdir=path
@end table
If you want more performance, you can also specify the following differently:
@table @code
@item tmpdir=path
@item bdb-tmpdir=path
@end table
@xref{Command-line options}.
If you are installing binary @strong{MySQL} versions (.tar files) and
start them with @code{./bin/safe_mysqld} then in most cases the only
option you need to add/change is the @code{socket} and @code{port}
argument to @code{safe_mysqld}.
@node Upgrade, , Installing many servers, Installing
@section Upgrading/Downgrading MySQL @section Upgrading/Downgrading MySQL
@cindex upgrading @cindex upgrading
@cindex downgrading @cindex downgrading
...@@ -9831,7 +9891,11 @@ all your tables with @code{isamchk -r}, as we have made some changes in ...@@ -9831,7 +9891,11 @@ all your tables with @code{isamchk -r}, as we have made some changes in
the sort order! the sort order!
@item The default return type of @code{IF} will now depend on both arguments @item The default return type of @code{IF} will now depend on both arguments
and not only the first argument. and not only the first argument.
@item @code{AUTO_INCREMENT} will not work with negative numbers. @item @code{AUTO_INCREMENT} will not work with negative numbers. The reason
for this is that negative numbers caused problems when wrapping from -1 to 0.
@code{AUTO_INCREMENT} is now for MyISAM tables handled at a lower level and
is much faster than before. For MyISAM tables old numbers are also not reused
anymore, even if you delete some rows from the table.
@item @code{INNER}, @code{DELAYED}, @code{RIGHT}, @code{CASE}, @code{THEN}, @code{WHEN}, @code{ELSE}, @code{END} and @code{WHEN} are now reserved words. @item @code{INNER}, @code{DELAYED}, @code{RIGHT}, @code{CASE}, @code{THEN}, @code{WHEN}, @code{ELSE}, @code{END} and @code{WHEN} are now reserved words.
@item @code{FLOAT(X)} is now a true floating-point type and not a value with @item @code{FLOAT(X)} is now a true floating-point type and not a value with
a fixed number of decimals. a fixed number of decimals.
...@@ -40551,6 +40615,18 @@ All new features are being developed in the 4.0 version. Only ...@@ -40551,6 +40615,18 @@ All new features are being developed in the 4.0 version. Only
bug fixes and minor enhancements to existing features will be bug fixes and minor enhancements to existing features will be
added to 3.23. added to 3.23.
The replication code and BerkeleyDB code is still not as tested and as
the rest of the code, so we will probably need to do a couple of future
releases of 3.23 with small fixes for this part of the code. As long as
you don't use these features, you should be quite safe with
@strong{MySQL} 3.23!
Note that the above doesn't mean that replication or Berkeley DB doesn't
work; We have done a lot of testing of all code, including replication
and BDB without finding any problems. It only means that not as many
users uses this code as the rest of the code and because of this we are
not yet 100 % confident in this code.
@menu @menu
* News-3.23.32:: Changes in release 3.23.32 * News-3.23.32:: Changes in release 3.23.32
* News-3.23.31:: Changes in release 3.23.31 * News-3.23.31:: Changes in release 3.23.31
...@@ -40591,6 +40667,12 @@ added to 3.23. ...@@ -40591,6 +40667,12 @@ added to 3.23.
@appendixsubsec Changes in release 3.23.32 @appendixsubsec Changes in release 3.23.32
@itemize @bullet @itemize @bullet
@item @item
Added missing @file{my_config.h} to RPM distribution.
@item
@code{TRIM("foo" from "foo")} didn't return an empty string.
@item
Added @code{--with-version-suffix} to configure.
@item
Added MASTER_POS_WAIT() Added MASTER_POS_WAIT()
@end itemize @end itemize
...@@ -823,7 +823,7 @@ AC_DEFUN([MYSQL_CHECK_BDB_VERSION], [ ...@@ -823,7 +823,7 @@ AC_DEFUN([MYSQL_CHECK_BDB_VERSION], [
bdb_version_ok=yes bdb_version_ok=yes
# This is ugly, but about as good as it can get # This is ugly, but about as good as it can get
elif test $db_major -eq 3 && test $db_minor -eq 2 && test $db_patch -eq 3 &&\ elif test $db_major -eq 3 && test $db_minor -eq 2 && test $db_patch -eq 3 &&\
grep 'DB_VERSION_STRING.*g: ' [$1] > /dev/null grep 'DB_VERSION_STRING.*h: ' [$1] > /dev/null
then then
bdb_version_ok=yes bdb_version_ok=yes
else else
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
#include "my_readline.h" #include "my_readline.h"
#include <signal.h> #include <signal.h>
const char *VER="11.11"; const char *VER="11.12";
gptr sql_alloc(unsigned size); // Don't use mysqld alloc for these gptr sql_alloc(unsigned size); // Don't use mysqld alloc for these
void sql_element_free(void *ptr); void sql_element_free(void *ptr);
...@@ -521,7 +521,7 @@ static void usage(int version) ...@@ -521,7 +521,7 @@ static void usage(int version)
puts(" -W, --pipe Use named pipes to connect to server"); puts(" -W, --pipe Use named pipes to connect to server");
#endif #endif
printf("\n\ printf("\n\
-P --port=... Port number to use for connection.\n\ -P, --port=... Port number to use for connection.\n\
-q, --quick Don't cache result, print it row by row. This may\n\ -q, --quick Don't cache result, print it row by row. This may\n\
slow down the server if the output is suspended.\n\ slow down the server if the output is suspended.\n\
Doesn't use history file.\n\ Doesn't use history file.\n\
...@@ -530,7 +530,7 @@ static void usage(int version) ...@@ -530,7 +530,7 @@ static void usage(int version)
-S --socket=... Socket file to use for connection.\n"); -S --socket=... Socket file to use for connection.\n");
#include "sslopt-usage.h" #include "sslopt-usage.h"
printf("\ printf("\
-t --table Output in table format.\n\ -t, --table Output in table format.\n\
-T, --debug-info Print some debug info at exit.\n\ -T, --debug-info Print some debug info at exit.\n\
--tee=... Append everything into outfile. See interactive help\n\ --tee=... Append everything into outfile. See interactive help\n\
(\\h) also. Does not work in batch mode.\n"); (\\h) also. Does not work in batch mode.\n");
......
...@@ -32,6 +32,8 @@ concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),': ...@@ -32,6 +32,8 @@ concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':
:my:sql: :my:sql:
concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':') concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':')
:my:sql: :my:sql:
TRIM("foo" FROM "foo") TRIM("foo" FROM "foook") TRIM("foo" FROM "okfoo")
ok ok
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es') insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
this is a test this is a test
replace('aaaa','a','b') replace('aaaa','aa','b') replace('aaaa','a','bb') replace('aaaa','','b') replace('bbbb','a','c') replace('aaaa','a','b') replace('aaaa','aa','b') replace('aaaa','a','bb') replace('aaaa','','b') replace('bbbb','a','c')
......
...@@ -22,6 +22,7 @@ select concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),' ...@@ -22,6 +22,7 @@ select concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),'
select concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':'); select concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':');
select concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':'); select concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':');
select concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':'); select concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':');
select TRIM("foo" FROM "foo"), TRIM("foo" FROM "foook"), TRIM("foo" FROM "okfoo");
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es'); select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
select replace('aaaa','a','b'),replace('aaaa','aa','b'),replace('aaaa','a','bb'),replace('aaaa','','b'),replace('bbbb','a','c'); select replace('aaaa','a','b'),replace('aaaa','aa','b'),replace('aaaa','a','bb'),replace('aaaa','','b'),replace('bbbb','a','c');
......
...@@ -100,7 +100,7 @@ char *get_charsets_dir(char *buf) ...@@ -100,7 +100,7 @@ char *get_charsets_dir(char *buf)
DBUG_ENTER("get_charsets_dir"); DBUG_ENTER("get_charsets_dir");
if (charsets_dir != NULL) if (charsets_dir != NULL)
strnmov(buf, charsets_dir, FN_REFLEN); strmake(buf, charsets_dir, FN_REFLEN-1);
else else
{ {
if (test_if_hard_path(sharedir) || if (test_if_hard_path(sharedir) ||
......
...@@ -57,7 +57,7 @@ my_string fn_format(my_string to, const char *name, const char *dsk, ...@@ -57,7 +57,7 @@ my_string fn_format(my_string to, const char *name, const char *dsk,
name+=(length=dirname_part(dev,(startpos=(my_string) name))); name+=(length=dirname_part(dev,(startpos=(my_string) name)));
if (length == 0 || flag & 1) if (length == 0 || flag & 1)
{ {
(void) strnmov(dev,dsk, sizeof(dev) - 2); (void) strmake(dev,dsk, sizeof(dev) - 2);
/* Use given directory */ /* Use given directory */
convert_dirname(dev); /* Fix to this OS */ convert_dirname(dev); /* Fix to this OS */
} }
...@@ -100,7 +100,7 @@ my_string fn_format(my_string to, const char *name, const char *dsk, ...@@ -100,7 +100,7 @@ my_string fn_format(my_string to, const char *name, const char *dsk,
bmove(buff,(char*) name,length); /* Save name for last copy */ bmove(buff,(char*) name,length); /* Save name for last copy */
name=buff; name=buff;
} }
pos=strnmov(strmov(to,dev),name,length); pos=strmake(strmov(to,dev),name,length);
#ifdef FN_UPPER_CASE #ifdef FN_UPPER_CASE
caseup_str(to); caseup_str(to);
#endif #endif
...@@ -117,7 +117,7 @@ my_string fn_format(my_string to, const char *name, const char *dsk, ...@@ -117,7 +117,7 @@ my_string fn_format(my_string to, const char *name, const char *dsk,
if (flag & 32 || (!lstat(to,&stat_buff) && S_ISLNK(stat_buff.st_mode))) if (flag & 32 || (!lstat(to,&stat_buff) && S_ISLNK(stat_buff.st_mode)))
{ {
if (realpath(to,buff)) if (realpath(to,buff))
strnmov(to,buff,FN_REFLEN-1); strmake(to,buff,FN_REFLEN-1);
} }
} }
#endif #endif
......
...@@ -69,7 +69,7 @@ File create_temp_file(char *to, const char *dir, const char *prefix, ...@@ -69,7 +69,7 @@ File create_temp_file(char *to, const char *dir, const char *prefix,
} }
if ((res=tempnam((char*) dir,(char *) prefix))) if ((res=tempnam((char*) dir,(char *) prefix)))
{ {
strnmov(to,res,FN_REFLEN); strmake(to,res,FN_REFLEN-1);
(*free)(res); (*free)(res);
file=my_create(to,0, mode, MyFlags); file=my_create(to,0, mode, MyFlags);
} }
...@@ -80,7 +80,7 @@ File create_temp_file(char *to, const char *dir, const char *prefix, ...@@ -80,7 +80,7 @@ File create_temp_file(char *to, const char *dir, const char *prefix,
dir=getenv("TMPDIR"); dir=getenv("TMPDIR");
if ((res=tempnam((char*) dir,(char *) prefix))) if ((res=tempnam((char*) dir,(char *) prefix)))
{ {
strnmov(to,res,FN_REFLEN); strmake(to,res,FN_REFLEN-1);
(*free)(res); (*free)(res);
file=my_create(to, 0, mode, MyFlags); file=my_create(to, 0, mode, MyFlags);
} }
...@@ -130,7 +130,7 @@ File create_temp_file(char *to, const char *dir, const char *prefix, ...@@ -130,7 +130,7 @@ File create_temp_file(char *to, const char *dir, const char *prefix,
} }
if ((res=tempnam((char*) dir, (char*) prefix))) if ((res=tempnam((char*) dir, (char*) prefix)))
{ {
strnmov(to,res,FN_REFLEN); strmake(to,res,FN_REFLEN-1);
(*free)(res); (*free)(res);
file=my_create(to,0, file=my_create(to,0,
(int) (O_RDWR | O_BINARY | O_TRUNC | (int) (O_RDWR | O_BINARY | O_TRUNC |
......
...@@ -38,7 +38,7 @@ fi ...@@ -38,7 +38,7 @@ fi
# This should really be integrated with automake and not duplicate the # This should really be integrated with automake and not duplicate the
# installation list. # installation list.
BASE=$TMP/my_dist BASE=$TMP/my_dist$SUFFIX
if [ -d $BASE ] ; then if [ -d $BASE ] ; then
rm -r -f $BASE rm -r -f $BASE
...@@ -59,10 +59,28 @@ do ...@@ -59,10 +59,28 @@ do
done done
for i in extra/comp_err extra/replace extra/perror extra/resolveip \ for i in extra/comp_err extra/replace extra/perror extra/resolveip \
extra/my_print_defaults isam/isamchk isam/pack_isam myisam/myisamchk myisam/myisampack sql/mysqld sql/mysqlbinlog \ extra/my_print_defaults isam/isamchk isam/pack_isam myisam/myisamchk \
client/mysql sql/mysqld sql/mysqld.sym.gz client/mysqlshow \ myisam/myisampack sql/mysqld sql/mysqlbinlog \
client/mysqladmin client/mysqldump client/mysqlimport client/mysqltest \ client/mysql sql/mysqld client/mysqlshow \
client/.libs/mysql client/.libs/mysqlshow client/.libs/mysqladmin client/.libs/mysqldump client/.libs/mysqlimport client/.libs/mysqltest client/mysqladmin client/mysqldump client/mysqlimport client/mysqltest \
client/.libs/mysql client/.libs/mysqlshow client/.libs/mysqladmin \
client/.libs/mysqldump client/.libs/mysqlimport client/.libs/mysqltest
do
if [ -f $i ]
then
cp -p $i $BASE/bin
strip $BASE/bin
fi
done
for i in sql/mysqld.sym.gz
if [ -f $i ]
then
cp -p $i $BASE/bin
fi
done
for i in libmysql/.libs/libmysqlclient.a libmysql/.libs/libmysqlclient.so* libmysql/libmysqlclient.* libmysql_r/.libs/libmysqlclient_r.a libmysql_r/.libs/libmysqlclient_r.so* libmysql_r/libmysqlclient_r.* mysys/libmysys.a strings/libmystrings.a dbug/libdbug.a $BASE/lib
do do
if [ -f $i ] if [ -f $i ]
then then
...@@ -75,7 +93,7 @@ rm $BASE/include/Makefile*; rm $BASE/include/*.in ...@@ -75,7 +93,7 @@ rm $BASE/include/Makefile*; rm $BASE/include/*.in
cp -p tests/*.res tests/*.tst tests/*.pl $BASE/tests cp -p tests/*.res tests/*.tst tests/*.pl $BASE/tests
cp -p support-files/* $BASE/support-files cp -p support-files/* $BASE/support-files
cp -p libmysql/.libs/libmysqlclient.a libmysql/.libs/libmysqlclient.so* libmysql/libmysqlclient.* libmysql_r/.libs/libmysqlclient_r.a libmysql_r/.libs/libmysqlclient_r.so* libmysql_r/libmysqlclient_r.* mysys/libmysys.a strings/libmystrings.a dbug/libdbug.a $BASE/lib
cp -r -p sql/share/* $BASE/share/mysql cp -r -p sql/share/* $BASE/share/mysql
rm -f $BASE/share/mysql/Makefile* $BASE/share/mysql/*/*.OLD rm -f $BASE/share/mysql/Makefile* $BASE/share/mysql/*/*.OLD
...@@ -106,7 +124,7 @@ if [ -d $BASE/sql-bench/SCCS ] ; then ...@@ -106,7 +124,7 @@ if [ -d $BASE/sql-bench/SCCS ] ; then
fi fi
# Change the distribution to a long descriptive name # Change the distribution to a long descriptive name
NEW_NAME=mysql-$version-$system-$machine$SUFFIX NEW_NAME=mysql@MYSQL_SERVER_SUFFIX@-$version-$system-$machine$SUFFIX
BASE2=$TMP/$NEW_NAME BASE2=$TMP/$NEW_NAME
rm -r -f $BASE2 rm -r -f $BASE2
mv $BASE $BASE2 mv $BASE $BASE2
......
...@@ -375,8 +375,8 @@ int handler::ha_open(const char *name, int mode, int test_if_locked) ...@@ -375,8 +375,8 @@ int handler::ha_open(const char *name, int mode, int test_if_locked)
{ {
int error; int error;
DBUG_ENTER("handler::open"); DBUG_ENTER("handler::open");
DBUG_PRINT("enter",("db_type: %d db_stat: %d mode: %d lock_test: %d", DBUG_PRINT("enter",("name: %s db_type: %d db_stat: %d mode: %d lock_test: %d",
table->db_type, table->db_stat, mode, test_if_locked)); name, table->db_type, table->db_stat, mode, test_if_locked));
if ((error=open(name,mode,test_if_locked))) if ((error=open(name,mode,test_if_locked)))
{ {
......
...@@ -930,7 +930,7 @@ String *Item_func_trim::val_str(String *str) ...@@ -930,7 +930,7 @@ String *Item_func_trim::val_str(String *str)
char *ptr=(char*) res->ptr(); char *ptr=(char*) res->ptr();
char *end=ptr+res->length(); char *end=ptr+res->length();
const char *r_ptr=remove_str->ptr(); const char *r_ptr=remove_str->ptr();
while (ptr+remove_length < end && !memcmp(ptr,r_ptr,remove_length)) while (ptr+remove_length <= end && !memcmp(ptr,r_ptr,remove_length))
ptr+=remove_length; ptr+=remove_length;
#ifdef USE_MB #ifdef USE_MB
if (use_mb(default_charset_info) && !binary) if (use_mb(default_charset_info) && !binary)
...@@ -954,7 +954,7 @@ String *Item_func_trim::val_str(String *str) ...@@ -954,7 +954,7 @@ String *Item_func_trim::val_str(String *str)
else else
#endif /* USE_MB */ #endif /* USE_MB */
{ {
while (ptr + remove_length < end && while (ptr + remove_length <= end &&
!memcmp(end-remove_length,r_ptr,remove_length)) !memcmp(end-remove_length,r_ptr,remove_length))
end-=remove_length; end-=remove_length;
} }
......
...@@ -275,7 +275,7 @@ char mysql_real_data_home[FN_REFLEN], ...@@ -275,7 +275,7 @@ char mysql_real_data_home[FN_REFLEN],
blob_newline,f_fyllchar,max_sort_char,*mysqld_user,*mysqld_chroot, blob_newline,f_fyllchar,max_sort_char,*mysqld_user,*mysqld_chroot,
*opt_init_file; *opt_init_file;
char *opt_bin_logname = 0; // this one needs to be seen in sql_parse.cc char *opt_bin_logname = 0; // this one needs to be seen in sql_parse.cc
char server_version[50]=MYSQL_SERVER_VERSION; char server_version[60]=MYSQL_SERVER_VERSION;
const char *first_keyword="first"; const char *first_keyword="first";
const char **errmesg; /* Error messages */ const char **errmesg; /* Error messages */
const char *myisam_recover_options_str="OFF"; const char *myisam_recover_options_str="OFF";
...@@ -1471,15 +1471,10 @@ int main(int argc, char **argv) ...@@ -1471,15 +1471,10 @@ int main(int argc, char **argv)
strmov(glob_hostname,"mysql"); strmov(glob_hostname,"mysql");
strmov(pidfile_name,glob_hostname); strmov(pidfile_name,glob_hostname);
strmov(strcend(pidfile_name,'.'),".pid"); // Add extension strmov(strcend(pidfile_name,'.'),".pid"); // Add extension
strcat(server_version, MYSQL_SERVER_SUFFIX);
#ifdef DEMO_VERSION
strcat(server_version,"-demo");
#endif
#ifdef SHAREWARE_VERSION
strcat(server_version,"-shareware");
#endif
#ifndef DBUG_OFF #ifndef DBUG_OFF
strcat(server_version,"-debug"); strxmov(strend(server_version),MYSQL_SERVER_SUFFIX,"-debug",NullS);
#else
strmov(strend(server_version),MYSQL_SERVER_SUFFIX);
#endif #endif
#ifdef _CUSTOMSTARTUPCONFIG_ #ifdef _CUSTOMSTARTUPCONFIG_
if (_cust_check_startup()) if (_cust_check_startup())
......
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