summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUILD/SETUP.sh2
-rw-r--r--Docs/manual.texi156
-rw-r--r--acinclude.m42
-rw-r--r--client/mysql.cc6
-rw-r--r--mysql-test/r/func_str.result2
-rw-r--r--mysql-test/t/func_str.test1
-rw-r--r--mysys/charset.c2
-rw-r--r--mysys/mf_format.c6
-rw-r--r--mysys/mf_tempfile.c6
-rw-r--r--scripts/make_binary_distribution.sh32
-rw-r--r--sql/handler.cc4
-rw-r--r--sql/item_strfunc.cc4
-rw-r--r--sql/mysqld.cc12
13 files changed, 169 insertions, 66 deletions
diff --git a/BUILD/SETUP.sh b/BUILD/SETUP.sh
index e778fc34ceb..53082b7bd79 100644
--- a/BUILD/SETUP.sh
+++ b/BUILD/SETUP.sh
@@ -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_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
pentium_configs=""
sparc_configs=""
diff --git a/Docs/manual.texi b/Docs/manual.texi
index e2e226ab155..fe111874778 100644
--- a/Docs/manual.texi
+++ b/Docs/manual.texi
@@ -223,6 +223,7 @@ Installing MySQL
* OS/2:: OS/2 notes
* MySQL binaries:: MySQL binaries
* Post-installation:: Post-installation setup and testing
+* Installing many servers:: Installing many servers on the same machine
* Upgrade:: Upgrading/Downgrading MySQL
Installing a MySQL Binary Distribution
@@ -852,8 +853,9 @@ Changes in release 4.0.x (Development; Alpha)
* News-4.0.0:: Changes in release 4.0.0
-Changes in release 3.23.x (Recommended; Gamma)
+Changes in release 3.23.x (Recommended)
+* News-3.23.32::
* News-3.23.31:: Changes in release 3.23.31
* News-3.23.30:: Changes in release 3.23.30
* 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.
SuSE Linux (6.1 and above)
@item @uref{http://www.redhat.com/}@*
RedHat Linux (7.0 and above)
+@item @uref{http://distro.conectiva.com.br}
+Conectiva Linux (4.0 and above)
@end itemize
@subheading Web Development Tools that Support @strong{MySQL}
@@ -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
discuss your @strong{MySQL}-related problems. This option is however
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
@node Extended login support, , Login support, Support
@@ -3897,6 +3904,7 @@ rate that is at least 20 % less than our standard rates.
* OS/2:: OS/2 notes
* MySQL binaries:: MySQL binaries
* Post-installation:: Post-installation setup and testing
+* Installing many servers:: Installing many servers on the same machine
* Upgrade:: Upgrading/Downgrading MySQL
@end menu
@@ -8714,7 +8722,7 @@ and remove any @code{-fomit-frame-pointer} options.
@cindex post-installation, setup and testing
@cindex testing, 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
@menu
@@ -9037,28 +9045,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.
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
-unix socket...} You can start the new server 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}.
-
-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.
+unix socket...}. @xref{Installing many servers}.
@item You don't have write access to @file{/tmp}
@cindex write access, tmp
@@ -9578,8 +9565,8 @@ Output version information and exit.
@node Option files, , Command-line options, Post-installation
@subsection Option Files
-@strong{MySQL} Version 3.22 can read default startup options for the server and
-for clients from option files.
+@strong{MySQL} Version 3.22 can read default startup options for the
+server and for clients from option files.
@strong{MySQL} reads default options from the following files on Unix:
@@ -9741,7 +9728,80 @@ shell> my_print_defaults client 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
@cindex upgrading
@cindex downgrading
@@ -9826,7 +9886,11 @@ all your tables with @code{isamchk -r}, as we have made some changes in
the sort order!
@item The default return type of @code{IF} will now depend on both arguments
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{FLOAT(X)} is now a true floating-point type and not a value with
a fixed number of decimals.
@@ -40354,7 +40418,7 @@ get more locking options.
@end itemize
@node News-3.23.x, News-3.22.x, News-4.0.x, News
-@appendixsec Changes in release 3.23.x (Recommended; Gamma)
+@appendixsec Changes in release 3.23.x (Recommended)
The 3.23 release has several major new features that are not
present in the 3.22 or 3.21 releases. We have added two new
@@ -40364,12 +40428,23 @@ DB library from Sleepycat Software to implement transaction-safe
tables. The 3.23 release also includes support for database
replication between a master and many slaves.
-We are not adding any more new features that are likely to break any
-old code in @strong{MySQL} Version 3.23, so we recommend that you use this
-version. The replication and BerkeleyDB code is still under development,
-though, so Version 3.23 is not released as a stable version yet.
+We are in the future aiming to only provide bug fixes for 3.23 and
+instead concentrate on the 4.0 version.
+
+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
+* News-3.23.32::
* News-3.23.31:: Changes in release 3.23.31
* News-3.23.30:: Changes in release 3.23.30
* News-3.23.29:: Changes in release 3.23.29
@@ -40404,7 +40479,18 @@ though, so Version 3.23 is not released as a stable version yet.
* News-3.23.0:: Changes in release 3.23.0
@end menu
-@node News-3.23.31, News-3.23.30, News-3.23.x, News-3.23.x
+@node News-3.23.32, News-3.23.31, News-3.23.x, News-3.23.x
+@appendixsubsec Changes in release 3.23.32
+@itemize @bullet
+@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.
+@end itemize
+
+@node News-3.23.31, News-3.23.30, News-3.23.32, News-3.23.x
@appendixsubsec Changes in release 3.23.31
@itemize @bullet
@item
diff --git a/acinclude.m4 b/acinclude.m4
index da817a179a7..94ea5e9b0fb 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -823,7 +823,7 @@ AC_DEFUN([MYSQL_CHECK_BDB_VERSION], [
bdb_version_ok=yes
# 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 &&\
- grep 'DB_VERSION_STRING.*g: ' [$1] > /dev/null
+ grep 'DB_VERSION_STRING.*h: ' [$1] > /dev/null
then
bdb_version_ok=yes
else
diff --git a/client/mysql.cc b/client/mysql.cc
index edc2f7903df..82789269367 100644
--- a/client/mysql.cc
+++ b/client/mysql.cc
@@ -39,7 +39,7 @@
#include "my_readline.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
void sql_element_free(void *ptr);
@@ -520,7 +520,7 @@ static void usage(int version)
puts(" -W, --pipe Use named pipes to connect to server");
#endif
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\
slow down the server if the output is suspended.\n\
Doesn't use history file.\n\
@@ -529,7 +529,7 @@ static void usage(int version)
-S --socket=... Socket file to use for connection.\n");
#include "sslopt-usage.h"
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\
--tee=... Append everything into outfile. See interactive help\n\
(\\h) also. Does not work in batch mode.\n");
diff --git a/mysql-test/r/func_str.result b/mysql-test/r/func_str.result
index aac051d00fa..c1a0c288562 100644
--- a/mysql-test/r/func_str.result
+++ b/mysql-test/r/func_str.result
@@ -32,6 +32,8 @@ concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':
:my:sql:
concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM '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')
this is a test
replace('aaaa','a','b') replace('aaaa','aa','b') replace('aaaa','a','bb') replace('aaaa','','b') replace('bbbb','a','c')
diff --git a/mysql-test/t/func_str.test b/mysql-test/t/func_str.test
index 51af2766dae..d4211868790 100644
--- a/mysql-test/t/func_str.test
+++ b/mysql-test/t/func_str.test
@@ -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(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' 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 replace('aaaa','a','b'),replace('aaaa','aa','b'),replace('aaaa','a','bb'),replace('aaaa','','b'),replace('bbbb','a','c');
diff --git a/mysys/charset.c b/mysys/charset.c
index 47716540b2c..c17c6113b57 100644
--- a/mysys/charset.c
+++ b/mysys/charset.c
@@ -100,7 +100,7 @@ char *get_charsets_dir(char *buf)
DBUG_ENTER("get_charsets_dir");
if (charsets_dir != NULL)
- strnmov(buf, charsets_dir, FN_REFLEN);
+ strmake(buf, charsets_dir, FN_REFLEN-1);
else
{
if (test_if_hard_path(sharedir) ||
diff --git a/mysys/mf_format.c b/mysys/mf_format.c
index 3050fd88e90..bb784ff08fe 100644
--- a/mysys/mf_format.c
+++ b/mysys/mf_format.c
@@ -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)));
if (length == 0 || flag & 1)
{
- (void) strnmov(dev,dsk, sizeof(dev) - 2);
+ (void) strmake(dev,dsk, sizeof(dev) - 2);
/* Use given directory */
convert_dirname(dev); /* Fix to this OS */
}
@@ -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 */
name=buff;
}
- pos=strnmov(strmov(to,dev),name,length);
+ pos=strmake(strmov(to,dev),name,length);
#ifdef FN_UPPER_CASE
caseup_str(to);
#endif
@@ -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 (realpath(to,buff))
- strnmov(to,buff,FN_REFLEN-1);
+ strmake(to,buff,FN_REFLEN-1);
}
}
#endif
diff --git a/mysys/mf_tempfile.c b/mysys/mf_tempfile.c
index a12b4326705..6204c4d0407 100644
--- a/mysys/mf_tempfile.c
+++ b/mysys/mf_tempfile.c
@@ -69,7 +69,7 @@ File create_temp_file(char *to, const char *dir, const char *prefix,
}
if ((res=tempnam((char*) dir,(char *) prefix)))
{
- strnmov(to,res,FN_REFLEN);
+ strmake(to,res,FN_REFLEN-1);
(*free)(res);
file=my_create(to,0, mode, MyFlags);
}
@@ -80,7 +80,7 @@ File create_temp_file(char *to, const char *dir, const char *prefix,
dir=getenv("TMPDIR");
if ((res=tempnam((char*) dir,(char *) prefix)))
{
- strnmov(to,res,FN_REFLEN);
+ strmake(to,res,FN_REFLEN-1);
(*free)(res);
file=my_create(to, 0, mode, MyFlags);
}
@@ -130,7 +130,7 @@ File create_temp_file(char *to, const char *dir, const char *prefix,
}
if ((res=tempnam((char*) dir, (char*) prefix)))
{
- strnmov(to,res,FN_REFLEN);
+ strmake(to,res,FN_REFLEN-1);
(*free)(res);
file=my_create(to,0,
(int) (O_RDWR | O_BINARY | O_TRUNC |
diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh
index 14c4b616dec..3f8e497e511 100644
--- a/scripts/make_binary_distribution.sh
+++ b/scripts/make_binary_distribution.sh
@@ -38,7 +38,7 @@ fi
# This should really be integrated with automake and not duplicate the
# installation list.
-BASE=$TMP/my_dist
+BASE=$TMP/my_dist$SUFFIX
if [ -d $BASE ] ; then
rm -r -f $BASE
@@ -59,10 +59,28 @@ do
done
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 \
- client/mysql sql/mysqld sql/mysqld.sym.gz client/mysqlshow \
- 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
+ extra/my_print_defaults isam/isamchk isam/pack_isam myisam/myisamchk \
+ myisam/myisampack sql/mysqld sql/mysqlbinlog \
+ client/mysql sql/mysqld client/mysqlshow \
+ 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
if [ -f $i ]
then
@@ -75,7 +93,7 @@ rm $BASE/include/Makefile*; rm $BASE/include/*.in
cp -p tests/*.res tests/*.tst tests/*.pl $BASE/tests
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
rm -f $BASE/share/mysql/Makefile* $BASE/share/mysql/*/*.OLD
@@ -106,7 +124,7 @@ if [ -d $BASE/sql-bench/SCCS ] ; then
fi
# 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
rm -r -f $BASE2
mv $BASE $BASE2
diff --git a/sql/handler.cc b/sql/handler.cc
index affd9df8f87..3859f496f9a 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -375,8 +375,8 @@ int handler::ha_open(const char *name, int mode, int test_if_locked)
{
int error;
DBUG_ENTER("handler::open");
- DBUG_PRINT("enter",("db_type: %d db_stat: %d mode: %d lock_test: %d",
- table->db_type, table->db_stat, mode, test_if_locked));
+ DBUG_PRINT("enter",("name: %s db_type: %d db_stat: %d mode: %d lock_test: %d",
+ name, table->db_type, table->db_stat, mode, test_if_locked));
if ((error=open(name,mode,test_if_locked)))
{
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc
index 103d82f36aa..c00a7aabe66 100644
--- a/sql/item_strfunc.cc
+++ b/sql/item_strfunc.cc
@@ -930,7 +930,7 @@ String *Item_func_trim::val_str(String *str)
char *ptr=(char*) res->ptr();
char *end=ptr+res->length();
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;
#ifdef USE_MB
if (use_mb(default_charset_info) && !binary)
@@ -954,7 +954,7 @@ String *Item_func_trim::val_str(String *str)
else
#endif /* USE_MB */
{
- while (ptr + remove_length < end &&
+ while (ptr + remove_length <= end &&
!memcmp(end-remove_length,r_ptr,remove_length))
end-=remove_length;
}
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index b6caa6c492c..528e7d8a919 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -275,7 +275,7 @@ char mysql_real_data_home[FN_REFLEN],
blob_newline,f_fyllchar,max_sort_char,*mysqld_user,*mysqld_chroot,
*opt_init_file;
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 **errmesg; /* Error messages */
const char *myisam_recover_options_str="OFF";
@@ -1471,14 +1471,10 @@ int main(int argc, char **argv)
strmov(glob_hostname,"mysql");
strmov(pidfile_name,glob_hostname);
strmov(strcend(pidfile_name,'.'),".pid"); // Add extension
-#ifdef DEMO_VERSION
- strcat(server_version,"-demo");
-#endif
-#ifdef SHAREWARE_VERSION
- strcat(server_version,"-shareware");
-#endif
#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
#ifdef _CUSTOMSTARTUPCONFIG_
if (_cust_check_startup())