summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xBuild-tools/Do-compile9
-rw-r--r--Docs/manual.texi198
-rw-r--r--client/mysql.cc5
-rw-r--r--client/mysqldump.c155
-rw-r--r--configure.in9
-rw-r--r--include/dbug.h2
-rw-r--r--include/my_pthread.h5
-rw-r--r--include/my_sys.h11
-rw-r--r--include/mysql.h2
-rw-r--r--include/mysql_com.h1
-rw-r--r--libmysql/libmysql.c2
-rw-r--r--myisam/mi_key.c4
-rw-r--r--mysql.projbin122880 -> 151552 bytes
-rw-r--r--mysys/charset.c2
-rw-r--r--mysys/mf_keycache.c14
-rw-r--r--mysys/my_static.h10
-rw-r--r--scripts/Makefile.am1
-rw-r--r--scripts/mysql_install_db.sh112
-rw-r--r--sql-bench/Results/ATIS-mysql-NT_4.038
-rw-r--r--sql-bench/Results/RUN-mysql-NT_4.0158
-rw-r--r--sql-bench/Results/alter-table-mysql-NT_4.032
-rw-r--r--sql-bench/Results/big-tables-mysql-NT_4.038
-rw-r--r--sql-bench/Results/connect-mysql-NT_4.060
-rw-r--r--sql-bench/Results/create-mysql-NT_4.036
-rw-r--r--sql-bench/Results/insert-mysql-NT_4.0140
-rw-r--r--sql-bench/Results/select-mysql-NT_4.046
-rw-r--r--sql-bench/Results/wisconsin-mysql-NT_4.028
-rw-r--r--sql/ChangeLog6
-rw-r--r--sql/field.h2
-rw-r--r--sql/gen_lex_hash.cc2
-rw-r--r--sql/ha_berkeley.cc2
-rw-r--r--sql/handler.cc7
-rw-r--r--sql/mysql_priv.h2
-rw-r--r--sql/mysqld.cc16
-rw-r--r--sql/share/charsets/latin1.conf8
-rw-r--r--sql/sql_class.cc3
-rw-r--r--sql/sql_parse.cc11
-rw-r--r--sql/sql_yacc.yy1
-rw-r--r--sql/violite.c4
-rw-r--r--support-files/Makefile.am1
-rwxr-xr-xsupport-files/PKG/INSTALL.sh29
-rw-r--r--support-files/PKG/compile.sh102
-rw-r--r--support-files/PKG/doc.sh17
-rw-r--r--support-files/PKG/mkpkg.sh47
-rw-r--r--support-files/PKG/patch96
-rw-r--r--support-files/PKG/pkginfo.ini8
-rw-r--r--support-files/PKG/postinstall30
-rw-r--r--support-files/PKG/preinstall21
-rw-r--r--support-files/PKG/preremove25
-rw-r--r--support-files/PKG/prototype.ini4
-rw-r--r--support-files/PKG/version1
-rw-r--r--support-files/debian/README.debian38
-rw-r--r--support-files/debian/changelog410
-rw-r--r--support-files/debian/control71
-rw-r--r--support-files/debian/copyright8
-rw-r--r--support-files/debian/gomi25
-rw-r--r--support-files/debian/libmysqlclient9.dirs1
-rw-r--r--support-files/debian/libmysqlclient9.postinst3
-rw-r--r--support-files/debian/move72
-rw-r--r--support-files/debian/my.cnf42
-rw-r--r--support-files/debian/mysql-bench.dirs1
-rw-r--r--support-files/debian/mysql-client.dirs3
-rw-r--r--support-files/debian/mysql-dev.dirs1
-rw-r--r--support-files/debian/mysql-doc.dirs1
-rw-r--r--support-files/debian/mysql-server-debug.dirs1
-rw-r--r--support-files/debian/mysql-server-debug.postinst3
-rw-r--r--support-files/debian/mysql-server-debug.postrm3
-rw-r--r--support-files/debian/mysql-server-shared.dirs1
-rw-r--r--support-files/debian/mysql-server-shared.postinst3
-rw-r--r--support-files/debian/mysql-server-shared.postrm3
-rw-r--r--support-files/debian/mysql-server.conffiles2
-rw-r--r--support-files/debian/mysql-server.dirs2
-rw-r--r--support-files/debian/mysql-server.postinst44
-rw-r--r--support-files/debian/mysql-server.postrm13
-rw-r--r--support-files/debian/mysql-server.prerm3
-rw-r--r--support-files/debian/patches/aa11
-rw-r--r--support-files/debian/patches/ab20
-rw-r--r--support-files/debian/patches/ac8
-rw-r--r--support-files/debian/patches/ad52
-rw-r--r--support-files/debian/patches/ae41
-rw-r--r--support-files/debian/patches/az39
-rwxr-xr-xsupport-files/debian/rules169
-rw-r--r--support-files/debian/shlibs1
-rw-r--r--[-rwxr-xr-x]support-files/mysql.server-sys5.sh0
-rw-r--r--support-files/mysql.server.sh94
85 files changed, 2255 insertions, 497 deletions
diff --git a/Build-tools/Do-compile b/Build-tools/Do-compile
index 39da5b8b74b..349a519c275 100755
--- a/Build-tools/Do-compile
+++ b/Build-tools/Do-compile
@@ -4,8 +4,8 @@ use Getopt::Long;
$opt_distribution=$opt_user=$opt_result=$opt_config_options=$opt_config_env="";
$opt_dbd_options=$opt_perl_options="";
$opt_tmp="";
-$opt_help=$opt_Information=$opt_no_delete=$opt_debug=$opt_stage=$opt_rsh_mail=$opt_no_test=$opt_no_perl=$opt_with_low_memory=$opt_fast_benchmark=$opt_static_client=$opt_static_server=$opt_static_perl=$opt_sur=$opt_with_small_disk=$opt_local_perl=0;
-GetOptions("Information","help","distribution=s","user=s","result=s","no-delete","no-test","perl-files=s","debug","config-options=s","config-env=s","stage=i","rsh-mail","with-low-memory","fast-benchmark","tmp=s","static-client","static-server","static-perl","no-perl","local-perl","perl-options=s","sur","with-small-disk","dbd-options=s") || usage();
+$opt_help=$opt_Information=$opt_no_delete=$opt_debug=$opt_stage=$opt_rsh_mail=$opt_no_test=$opt_no_perl=$opt_with_low_memory=$opt_fast_benchmark=$opt_static_client=$opt_static_server=$opt_static_perl=$opt_sur=$opt_with_small_disk=$opt_local_perl=$opt_tcpip=0;
+GetOptions("Information","help","distribution=s","user=s","result=s","no-delete","no-test","perl-files=s","debug","config-options=s","config-env=s","stage=i","rsh-mail","with-low-memory","fast-benchmark","tmp=s","static-client","static-server","static-perl","no-perl","local-perl","perl-options=s","sur","with-small-disk","dbd-options=s","tcpip") || usage();
usage() if ($opt_help || $opt_Information);
usage() if (!$opt_distribution);
@@ -20,6 +20,7 @@ $log="$pwd/Logs/$host.log";
$opt_distribution =~ /(mysql-[^\/]*)\.tar/;
$ver=$1;
$gcc_version=which("gcc");
+$connect_option= ($opt_tcpip ? "--host=$host" : "");
if (defined($gcc_version) && ! $opt_config_env)
{
$tmp=`$gcc_version -v 2>&1`;
@@ -186,7 +187,7 @@ if ($opt_stage <= 7 && !$opt_no_test)
{
safe_cd("$test_dir/sql-bench");
log_system("rm -f limits/mysql.cfg");
- safe_system("perl ./crash-me --force --batch-mode");
+ safe_system("perl ./crash-me --force --batch-mode $connect_option");
}
if ($opt_stage <= 8 && !$opt_no_test)
@@ -194,7 +195,7 @@ if ($opt_stage <= 8 && !$opt_no_test)
safe_cd("$test_dir/sql-bench");
log_system("rm -f output/*");
$tmp= $opt_fast_benchmark ? "--fast --user root --small-test" : "";
- check_system("perl ./run-all-tests --log --die-on-errors $tmp","RUN-mysql");
+ check_system("perl ./run-all-tests --log --die-on-errors $connect_option $tmp","RUN-mysql");
}
if ($opt_stage <= 9 && $opt_result)
diff --git a/Docs/manual.texi b/Docs/manual.texi
index 14690faebbd..cfcfa688c40 100644
--- a/Docs/manual.texi
+++ b/Docs/manual.texi
@@ -228,6 +228,7 @@ System-specific issues
* HP-UX 10.20:: HP-UX 10.20 notes
* HP-UX 11.x:: HP-UX 11.x notes
* MacOSX:: MacOSX notes
+* BEOS::
Linux notes (all Linux versions)
@@ -238,7 +239,7 @@ Linux notes (all Linux versions)
* Linux-Alpha:: Linux-Alpha notes
* MKLinux:: MkLinux notes
* Qube2:: Qube2 Linux notes
-* Linux-Ia64:: IA64 Linux notes
+* Linux-Ia64::
BSD/OS notes
@@ -649,7 +650,7 @@ Some common errors when using MySQL
Solving some common problems with MySQL
-* Log Replication:: Database replication with update log
+* Log Replication:: Database replication with update log
* Backup:: Database backups
* Update log:: The update log
* Slow query log:: Log of slow queries
@@ -765,6 +766,7 @@ MySQL change history
Changes in release 3.23.x (Released as beta)
+* News-3.23.24:: Changes in release 3.23.24
* News-3.23.23:: Changes in release 3.23.23
* News-3.23.22:: Changes in release 3.23.22
* News-3.23.21:: Changes in release 3.23.21
@@ -5609,6 +5611,7 @@ distribution.
* HP-UX 10.20:: HP-UX 10.20 notes
* HP-UX 11.x:: HP-UX 11.x notes
* MacOSX:: MacOSX notes
+* BEOS::
@end menu
@node Solaris, Solaris 2.7, Source install system issues, Source install system issues
@@ -6872,11 +6875,25 @@ Automatic detection of @code{xlC} is missing from Autoconf, so a
@strong{MySQL}: (The example uses the IBM compiler)
@example
-shell> CC="xlc_r" CFLAGS="-ma -O3 -qstrict" \
- CXX="xlC_r" CXXFLAGS="-ma -O3 -qstrict" \
- ./configure
+export CC="xlc_r -ma -O3 -qstrict -qoptimize=3 -qmaxmem=8192 "
+export CXX="xlC_r -ma -O3 -qstrict -qoptimize=3 -qmaxmem=8192"
+export CFLAGS="-I /usr/local/include"
+export LDLFAGS="-L /usr/local/lib"
+export CPPFLAGS=$CFLAGS
+export CXXFLAGS=$CFLAGS
+
+./configure --prefix=/usr/local \
+ --localstatedir=/var/mysql \
+ --sysconfdir=/etc/mysql \
+ --sbindir='/usr/local/bin' \
+ --libexecdir='/usr/local/bin' \
+ --enable-thread-safe-client \
+ --enable-large-files
@end example
+The above is the options used to compile the @strong{MySQL} distribution that
+can be found at @uref{http://www-frec.bull.com/, www-frec.bull.com}.
+
If you change the @code{-O3} to @code{-O2} in the above configure line,
you must also remove the @code{-qstrict} option (this is a limitation in
the IBM C compiler).
@@ -6884,16 +6901,26 @@ the IBM C compiler).
If you are using @code{gcc} or @code{egcs} to compile @strong{MySQL}, you
@strong{MUST} use the @code{-fno-exceptions} flag, as the exception
handling in @code{gcc}/@code{egcs} is not thread-safe! (This is tested with
-@code{egcs} 1.1.) We recommend the following @code{configure} line with
-@code{egcs} and @code{gcc} on AIX:
+@code{egcs} 1.1.). There is also some known problems with IBM's assembler
+which may cause it to generate bad code when used with gcc.
+
+We recommend the following @code{configure} line with @code{egcs} and
+@code{gcc 2.95} on AIX:
@example
-shell> CC=gcc \
- CXX=gcc \
- CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti" \" \
+shell> CC="gcc -pipe -mcpu=power2 -Wa,-many" \
+ CXX="gcc -pipe -mcpu=power2 -Wa,-many" \
+ CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti" \
./configure --prefix=/usr/local/mysql --with-debug --with-low-memory
@end example
+The @code{-Wa,-many} is necessary for the compile to be successful. IBM is
+aware of this problem but is in to hurry to fix because of the
+workaround available. We don't know if the @code{-fno-exceptions} is required
+with @code{gcc 2.95}, but as @strong{MySQL} doesn't use exceptions and the
+above option generates faster code we recommend that one should always use
+this option with @code{egcs / gcc}.
+
If you have problems with signals (@strong{MySQL} dies unexpectedly
under high load) you may have found an OS bug with threads and
signals. In this case you can tell @strong{MySQL} not to use signals by
@@ -7036,7 +7063,7 @@ The optimization flags used by @strong{MySQL} (-O3) are not recognized
by HP's compilers. I did not change the flags.
@end itemize
-@node MacOSX, , HP-UX 11.x, Source install system issues
+@node MacOSX, BEOS, HP-UX 11.x, Source install system issues
@subsection MacOS X notes
You can get @strong{MySQL} to work on MacOS X by following the links to
@@ -7055,6 +7082,20 @@ alias mysql '/usr/local/mysql/bin/mysql'
alias mysqladmin '/usr/local/mysql/libexec/mysqladmin'
@end example
+@node BEOS, , MacOSX, Source install system issues
+@subsection BeOS notes
+
+We are really interested in getting @strong{MySQL} to work on BeOS, but
+unfortunately we don't have any person that knows BeOS or have
+time to do a port.
+
+We are interested to find someone to do a port and we will help them
+with any techincal questions they may have while doing the port.
+
+We have previously talked with some BeOS developers that have said that
+@strong{MySQL} is '80% ported to BeOS', but we haven't heard from these
+in a while.
+
@node Windows, OS/2, Source install system issues, Installing
@section Windows notes
@@ -9894,8 +9935,9 @@ unchecked values to @strong{MySQL} is very dangerous!
Check data sizes before passing them to @strong{MySQL}.
@item
Consider having your application connect to the database using a
-different user name than the one you use for administrative purposes. Do not give
-your applications any more access privileges than what they need.
+different user name than the one you use for administrative purposes. Do
+not give your applications any more access privileges than what they
+need.
@end itemize
@item
Users of PHP:
@@ -12301,6 +12343,11 @@ recent operation if you don't give it a value yourself. You can also set it
to the current date and time by assigning it a @code{NULL} value. @xref{Date
and time types}.
+Note that @code{TIMESTAMP(X)} columns where X is 8 or 14 are reported to
+be numbers while other @code{TIMESTAMP(X)} columns are reported to be
+strings. This is just to ensure that one can reliable dump and restore
+the table with these types!
+
@tindex TIME
@item TIME
@@ -25914,6 +25961,18 @@ whole databases. @xref{Backup}.
mysqldump --opt database > backup-file.sql
@end example
+You can read this back into @strong{MySQL} with:
+
+@example
+mysql database < backup-file.sql
+@end example
+
+or
+
+@example
+mysql -e "source /patch-to-backup/backup-file.sql" database
+@end example
+
However, it's also very useful to populate another @strong{MySQL} server with
information from a database:
@@ -28107,9 +28166,10 @@ program.
@node Which ODBC OS, ODBC administrator, ODBC, ODBC
@section Operating systems supported by MyODBC
-@strong{MyODBC} is a 32-bit ODBC (2.50) level 0 driver for connecting
-an ODBC-aware application to @strong{MySQL}. @strong{MyODBC} works on
-Windows95, Windows98, NT and on most Unix platforms.
+@strong{MyODBC} is a 32-bit ODBC (2.50) level 0 (with level 1 and level
+2 features) driver for connecting an ODBC-aware application to
+@strong{MySQL}. @strong{MyODBC} works on Windows95, Windows98, NT and
+on most Unix platforms.
Normally you only need to install @strong{MyODBC} on Windows machines.
You only need @strong{MyODBC} for Unix if you have a program like
@@ -28280,17 +28340,32 @@ If you are using Access 2000, you should get and install the newest
Microsoft MDAC (@code{Microsoft Data Access Components}) from
@uref{http://www.microsoft.com/data}. This will fix the bug in Access
that when you export data to @strong{MySQL}, the table and column names
-aren't specified.
+aren't specified. Another way to around this bug is to upgrade to
+MyODBC 2.50.33 and @strong{MySQL} 3.23.x, which together provides a
+workaround for this bug!
@item
-You should have a primary key in the table.
+Set the `Return matching rows' MyODBC option field when connecting to
+@strong{MySQL}.
+@item
+You should have a primary key in the table; If not, new or updated rows
+may chow up as @code{#Deleted#}.
@item
You should have a timestamp in all tables you want to be able to update.
For maximum portability @code{TIMESTAMP(14)} or simple @code{TIMESTAMP}
is recommended instead of other @code{TIMESTAMP(X)} variations.
@item
Only use double float fields. Access fails when comparing with single floats.
+The symptom usually is that new or updated rows may chow up as @code{#Deleted#}
+or that you can't find or update rows.
@item
-Set the `Return matching rows' option field when connecting to @strong{MySQL}.
+If you still get the error @code{Another user has changed your data} after
+adding a @code{TIMESTAMP} column the following trick may help you:
+
+Don't use @code{table} data sheet view. Create instead a form with the
+fields you want, and use that @code{form} data sheet view. You should
+set the @code{DefaultValue} property for the @code{TIMESTAMP} column to
+@code{NOW()}. It may be a good idea to hide the @code{TIMESTAMP} column
+from the view to not confuse your users.
@item
Access on NT will report @code{BLOB} columns as @code{OLE OBJECTS}. If
you want to have @code{MEMO} columns instead, you should change the
@@ -28302,8 +28377,18 @@ with these, change the columns to @code{DATETIME}.
In some cases, Access may generate illegal SQL queries that
@strong{MySQL} can't understand. You can fix this by selecting
@code{"Query|SQLSpecific|Pass-Through"} from the Access menu.
-
@end itemize
+
+@item ADO
+When you access @strong{MyODBC} through ADO, @strong{MyODBC} doesn't
+return a result for @code{SQLRowCount} for a query. We have tried to
+track this down and according to ODBC logs, @strong{MyODBC} returns the
+correct answer but the ADO client only gets -1 back from the ODBC
+manager. Because of this we can only assume this is a bug in ADO.
+
+The only known workaround is to use a @code{SELECT COUNT(*)} statement
+for a similar query to get the correct row count.
+
@item Borland Builder 4
When you start a query you can use the property @code{Active} or use the
method @code{Open}. Note that @code{Active} will start by automatically issue
@@ -34401,8 +34486,7 @@ more than one way to compute}
@item @uref{http://www.yaboo.dk/, Yaboo - Yet Another BOOkmarker}
-@c Didn't answer 2000-07-11
-@c @item @uref{http://www.yahoosuck.com, Yahoosuck}
+item @uref{http://www.yahoosuck.com, Yahoosuck}
@item @uref{http://www.ozsearch.com.au, OzSearch Internet Guide}
@@ -34415,6 +34499,8 @@ more than one way to compute}
@itemize @bullet
+@item @uref{http:www.spylog.ru/, SpyLOG ; A very popular web counter site}
+
@item @uref{http://www.tucows.com/, TuCows Network; Free Software archive}
@item @uref{http://www.jobvertise.com,Jobvertise: Post and search for jobs}
@@ -34944,11 +35030,18 @@ only on Linux.
You can always find the latest version
@uref{http://www.trash.net/~ffischer/admin/index.html, here}.
+@item @uref{http://www.mysql.com/Downloads/Win32/MySQL-Maker091.zip,MySQL-Maker 091}.
+Shareware @strong{MySQL} client for windows. It's WYSIWYG tool which allows
+you to create, change and delete databases and tables.
+You can change field - structure and add, change and delete data in
+these tables directly without ODBC-driver.
+@uref{http://www.presult.de, MySQL Maker homepage (look under support/downloads)}
+
@item @uref{http://www.mysql.com/Downloads/Contrib/mysqlwinadmn.zip, mysqlwinadmn.zip}
Windows GUI (binary only) to administrate a database, by David B. Mansel,
@email{david@@zhadum.org}.
-@item @uref{http://www.mysql.com/Downloads/Contrib/netadmin.zip, netadmin.zip}
+@item @uref{http://www.mysql.com/Downloads/Win32/netadmin.zip, netadmin.zip}
An administrator tool for @strong{MySQL} on Windows 95/98 and Windows NT
4.0. Only tested with @strong{MySQL} 3.23.5 - 3.23.7. Written using the
Tmysql components.
@@ -34959,6 +35052,9 @@ 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
URL @url{http://www.it-netservice.de/pages/software/index.html}.
+@item @uref{http://www.mysql.com/Downloads/Win32/netadmin2.zip, netadmin2.zip}
+New version of netadmin; See above for details.
+
@item @uref{http://www.mysql.com/Downloads/Win32/ARTADMIN203.EXE,Atronic's @strong{MySQL} client for Windows 2.0.3.0}.
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}
@@ -35161,11 +35257,17 @@ This module authenticates users via @code{pam}, using @strong{MySQL}.
Netscape Web Server API (NSAPI) functions to authenticate (BASIC) users
against @strong{MySQL} tables. By Yuan John Jiang.
-@item @uref{http://www.mysql.com/Downloads/Contrib/qmail-1.03-mysql-0.6.5.patch.gz,
-qmail-1.03-mysql-0.6.5.patch.gz}
+@item @uref{http://www.mysql.com/Downloads/Contrib/qmail-1.03-mysql-0.6.6.patch.gz,qmail-1.03-mysql-0.6.6.patch.gz}
Patch for qmail to authenticate users from a @strong{MySQL} table.
+By @email{takeshi@@SoftAgency.co.jp}
+
+@item @uref{http://www.mysql.com/Downloads/Contrib/proftpd-1.2.0rc2-fix-mysql.patch, proftpd-1.2.0rc2-fix-mysql.patch}
+Patch for proftpd1.2.0rc2. By @email{takeshi@@SoftAgency.co.jp}
+
@item @uref{http://www.mysql.com/Downloads/Contrib/pwcheck_mysql-0.1.tar.gz,pwcheck_mysql-0.1.tar.gz}
An authentication module for the Cyrus IMAP server. By Aaron Newsome.
+
+
@end itemize
@appendixsec Converters
@@ -35237,16 +35339,19 @@ Raw port of a SQL mode for XEmacs. Supports completion. Original by
Peter D. Pezaris @email{pez@@atlantic2.sbi.com} and partial
@strong{MySQL} port by David Axmark.
-@item @uref{http://www.mysql.com/Downloads/Win32/MyAccess97_Ver_1_01.zip, MyAccess97 1.01}
-MyAccess is an AddIn for Access 97 and handles a lot of maintanance work
-for @strong{MySQL} databases.
+@item @uref{http://www.mysql.com/Downloads/Win32/myaccess97_1_1.zip, MyAccess97 1.1}
+@item @uref{http://www.mysql.com/Downloads/Win32/myaccess2000_1_1.zip, MyAccess2000 1.1}
-@item @uref{http://www.mysql.com/Downloads/Win32/MyAccess2000_Ver_1_01.zip, MyAccess2000 1.01}
-MyAccess is an AddIn for Access 2000 and handles a lot of maintanance work
-for @strong{MySQL} databases.
+MyAccess is an AddIn for MS Access 97/2000 which allows you to manage MySQL databases from within Access. Main functions are:
+@itemize @bullet
+@item Create/Modify Tables
+@item Execute Queries against MySQL
+@item Extract "Create Table-Scripts' from MySQL
+@item Import/Export tables from Access to MySQL and vice versa
+@item Log Changes
+@end itemize
-@uref{http://www.mysql.com/Downloads/Win32/MyAccess-1.01.readme,
-MyAccess-readme}. By Hubertus Hiden.
+Written by Hubertus Hiden. @uref{http://myaccess.fsn.net, MyAccess homepage}.
@item @uref{http://www.mysql.com/Downloads/Contrib/radius-0.3.tar.gz, radius-0.3.tar.gz}
Patches for @code{radiusd} to make it support @strong{MySQL}. By Wim Bonis,
@@ -35672,6 +35777,7 @@ version. The replication and BerkeleyDB code is still under development,
though, so 3.23 is not released as a stable version yet.
@menu
+* News-3.23.24:: Changes in release 3.23.24
* News-3.23.23:: Changes in release 3.23.23
* News-3.23.22:: Changes in release 3.23.22
* News-3.23.21:: Changes in release 3.23.21
@@ -35698,10 +35804,31 @@ though, so 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.23, News-3.23.22, News-3.23.x, News-3.23.x
+@node News-3.23.24, News-3.23.23, News-3.23.x, News-3.23.x
+@appendixsubsec Changes in release 3.23.24
+@itemize @bullet
+@item
+To make it possibly to reliable dump and restore tables with
+@code{TIMESTAMP(X)} columns, @code{MySQL} now reports columns with X
+other than 14 or 8 to be strings.
+@item
+Changed sort order for latin1 as it was before 3.23.22. Any table with
+@code{CHAR} columns that may have characters > ASCII 128 created or
+modified with 3.23.22 must be repaired!
+@item
+Fixed small memory leak introduced from 3.23.22 when creating a
+temporary table.
+@item
+Fixed problem with BDB tables and reading on unique (not primary) key.
+@end itemize
+
+@node News-3.23.23, News-3.23.22, News-3.23.24, News-3.23.x
@appendixsubsec Changes in release 3.23.23
@itemize @bullet
@item
+Changed sort order for 'German'; All tables created with 'German' sortorder
+must be repaired with @code{REPAIR TABLE} or myisamchk before use!
+@item
Added option @code{--core-file} to @code{mysqld} to get a core file on
Linux if mysqld dies on the SIGSEGV signal.
@item
@@ -35795,6 +35922,9 @@ Fixed fatal bug in @code{LOAD TABLE FROM MASTER} that did not lock the table dur
More variables in @code{SHOW SLAVE STATUS} and @code{SHOW MASTER STATUS}
@item
@code{SLAVE STOP} now will not return until the slave thread actually exits
+@item
+Full text search via the @code{MATCH} function and @code{FULLTEXT} index type.
+(For MyISAM files). This made @code{FULLTEXT} is reserved word.
@end itemize
@node News-3.23.22, News-3.23.21, News-3.23.23, News-3.23.x
diff --git a/client/mysql.cc b/client/mysql.cc
index 788b9f39899..71d9310785d 100644
--- a/client/mysql.cc
+++ b/client/mysql.cc
@@ -300,7 +300,7 @@ int main(int argc,char *argv[])
}
}
#endif
- sprintf(buff, "Type 'help;' or '\\h' for help.\n");
+ sprintf(buff, "Type 'help;' or '\\h' for help. Type '\\c' to clear the buffer\n");
put_info(buff,INFO_INFO);
status.exit_status=read_lines(1); // read lines and execute them
mysql_end(0);
@@ -1680,8 +1680,9 @@ static int com_source(String *buffer, char *line)
while (end > source_name && (isspace(end[-1]) || iscntrl(end[-1])))
end--;
end[0]=0;
+ unpack_filename(source_name,source_name);
/* open file name */
- if (!(sql_file = my_fopen(source_name, O_RDONLY,MYF(0))))
+ if (!(sql_file = my_fopen(source_name, O_RDONLY | O_BINARY,MYF(0))))
{
char buff[FN_REFLEN+60];
sprintf(buff,"Failed to open file '%s', error: %d", source_name,errno);
diff --git a/client/mysqldump.c b/client/mysqldump.c
index 60191d2916b..163822d5d34 100644
--- a/client/mysqldump.c
+++ b/client/mysqldump.c
@@ -604,6 +604,28 @@ static uint getTableStructure(char *table, char* db)
DBUG_RETURN(0);
}
+ /* Make an sql-file, if path was given iow. option -T was given */
+ if (!tFlag)
+ {
+ if (path)
+ {
+ char filename[FN_REFLEN], tmp_path[FN_REFLEN];
+ strmov(tmp_path,path);
+ convert_dirname(tmp_path);
+ sql_file= my_fopen(fn_format(filename, table, tmp_path, ".sql", 4),
+ O_WRONLY, MYF(MY_WME));
+ if (!sql_file) /* If file couldn't be opened */
+ {
+ safe_exit(EX_MYSQLERR);
+ DBUG_RETURN(0);
+ }
+ write_heder(sql_file, db);
+ }
+ fprintf(sql_file, "\n#\n# Table structure for table '%s'\n#\n\n", table);
+ if (opt_drop)
+ fprintf(sql_file, "DROP TABLE IF EXISTS %s;\n",table_name);
+ fprintf(sql_file, "CREATE TABLE %s (\n", table_name);
+ }
if (cFlag)
sprintf(insert_pat, "INSERT %sINTO %s (", delayed, table_name);
else
@@ -619,18 +641,32 @@ static uint getTableStructure(char *table, char* db)
ulong *lengths=mysql_fetch_lengths(tableRes);
if (init)
{
+ if (!tFlag)
+ fputs(",\n",sql_file);
if (cFlag)
strpos=strmov(strpos,", ");
}
init=1;
if (cFlag)
strpos=strmov(strpos,quote_name(row[SHOW_FIELDNAME],name_buff));
- }
- if (cFlag)
- {
- strpos=strmov(strpos,") VALUES ");
- if (!extended_insert)
- strpos=strmov(strpos,"(");
+ if (!tFlag)
+ {
+ if (opt_keywords)
+ fprintf(sql_file, " %s.%s %s", table_name,
+ quote_name(row[SHOW_FIELDNAME],name_buff), row[SHOW_TYPE]);
+ else
+ fprintf(sql_file, " %s %s", quote_name(row[SHOW_FIELDNAME],name_buff),
+ row[SHOW_TYPE]);
+ if (row[SHOW_DEFAULT])
+ {
+ fputs(" DEFAULT ", sql_file);
+ unescape(sql_file,row[SHOW_DEFAULT],lengths[SHOW_DEFAULT]);
+ }
+ if (!row[SHOW_NULL][0])
+ fputs(" NOT NULL", sql_file);
+ if (row[SHOW_EXTRA][0])
+ fprintf(sql_file, " %s",row[SHOW_EXTRA]);
+ }
}
numFields = (uint) mysql_num_rows(tableRes);
mysql_free_result(tableRes);
@@ -638,37 +674,102 @@ static uint getTableStructure(char *table, char* db)
{
/* Make an sql-file, if path was given iow. option -T was given */
char buff[20+FN_REFLEN];
-
- sprintf(buff,"show create table %s",table_name);
+ uint keynr,primary_key;
+ sprintf(buff,"show keys from %s",table_name);
if (mysql_query(sock, buff))
{
- fprintf(stderr, "%s: Can't get CREATE TABLE for table '%s' (%s)\n",
+ fprintf(stderr, "%s: Can't get keys for table '%s' (%s)\n",
my_progname, table, mysql_error(sock));
+ if (sql_file != stdout)
+ my_fclose(sql_file, MYF(MY_WME));
safe_exit(EX_MYSQLERR);
DBUG_RETURN(0);
}
- if (path)
+ tableRes=mysql_store_result(sock);
+ /* Find first which key is primary key */
+ keynr=0;
+ primary_key=INT_MAX;
+ while ((row=mysql_fetch_row(tableRes)))
{
- char filename[FN_REFLEN], tmp_path[FN_REFLEN];
- strmov(tmp_path,path);
- convert_dirname(tmp_path);
- sql_file= my_fopen(fn_format(filename, table, tmp_path, ".sql", 4),
- O_WRONLY, MYF(MY_WME));
- if (!sql_file) /* If file couldn't be opened */
+ if (atoi(row[3]) == 1)
{
- safe_exit(EX_MYSQLERR);
- DBUG_RETURN(0);
+ keynr++;
+#ifdef FORCE_PRIMARY_KEY
+ if (atoi(row[1]) == 0 && primary_key == INT_MAX)
+ primary_key=keynr;
+#endif
+ if (!strcmp(row[2],"PRIMARY"))
+ {
+ primary_key=keynr;
+ break;
+ }
}
- write_heder(sql_file, db);
}
- fprintf(sql_file, "\n#\n# Table structure for table '%s'\n#\n\n", table);
- if (opt_drop)
- fprintf(sql_file, "DROP TABLE IF EXISTS %s;\n",table_name);
+ mysql_data_seek(tableRes,0);
+ keynr=0;
+ while ((row=mysql_fetch_row(tableRes)))
+ {
+ if (atoi(row[3]) == 1)
+ {
+ if (keynr++)
+ putc(')', sql_file);
+ if (atoi(row[1])) /* Test if duplicate key */
+ /* Duplicate allowed */
+ fprintf(sql_file, ",\n KEY %s (",quote_name(row[2],name_buff));
+ else if (keynr == primary_key)
+ fputs(",\n PRIMARY KEY (",sql_file); /* First UNIQUE is primary */
+ else
+ fprintf(sql_file, ",\n UNIQUE %s (",quote_name(row[2],name_buff));
+ }
+ else
+ putc(',', sql_file);
+ fputs(quote_name(row[4],name_buff), sql_file);
+ if (row[7])
+ fprintf(sql_file, "(%s)",row[7]); /* Sub key */
+ }
+ if (keynr)
+ putc(')', sql_file);
+ fputs("\n)",sql_file);
- tableRes=mysql_store_result(sock);
- row=mysql_fetch_row(tableRes);
- fprintf(sql_file, "%s;\n", row[1]);
+ /* Get MySQL specific create options */
+ if (create_options)
+ {
+ sprintf(buff,"show table status like '%s'",table);
+ if (mysql_query(sock, buff))
+ {
+ if (mysql_errno(sock) != ER_PARSE_ERROR)
+ { /* If old MySQL version */
+ if (verbose)
+ fprintf(stderr,
+ "# Warning: Couldn't get status information for table '%s' (%s)\n",
+ table,mysql_error(sock));
+ }
+ }
+ else if (!(tableRes=mysql_store_result(sock)) ||
+ !(row=mysql_fetch_row(tableRes)))
+ {
+ fprintf(stderr,
+ "Error: Couldn't read status information for table '%s' (%s)\n",
+ table,mysql_error(sock));
+ }
+ else
+ {
+ fputs("/*!",sql_file);
+ print_value(sql_file,tableRes,row,"type=","Type",0);
+ print_value(sql_file,tableRes,row,"","Create_options",0);
+ print_value(sql_file,tableRes,row,"comment=","Comment",1);
+ fputs(" */",sql_file);
+ }
+ mysql_free_result(tableRes); /* Is always safe to free */
+ }
+ fputs(";\n", sql_file);
+ }
+ if (cFlag)
+ {
+ strpos=strmov(strpos,") VALUES ");
+ if (!extended_insert)
+ strpos=strmov(strpos,"(");
}
DBUG_RETURN(numFields);
} /* getTableStructure */
@@ -841,7 +942,7 @@ static void dumpTable(uint numFields, char *table)
{
if (length)
{
- if (!IS_NUM(field->type))
+ if (!IS_NUM_FIELD(field))
{
if (dynstr_realloc(&extended_row,length * 2+2))
{
@@ -873,7 +974,7 @@ static void dumpTable(uint numFields, char *table)
putchar(',');
if (row[i])
{
- if (!IS_NUM(field->type))
+ if (!IS_NUM_FIELD(field))
unescape(stdout, row[i], lengths[i]);
else
fputs(row[i],stdout);
diff --git a/configure.in b/configure.in
index d5260435f91..f49d15224e5 100644
--- a/configure.in
+++ b/configure.in
@@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(sql/mysqld.cc)
AC_CANONICAL_SYSTEM
# The Docs Makefile.am parses this line!
-AM_INIT_AUTOMAKE(mysql, 3.23.23-beta)
+AM_INIT_AUTOMAKE(mysql, 3.23.24-beta)
AM_CONFIG_HEADER(config.h)
PROTOCOL_VERSION=10
@@ -685,8 +685,8 @@ case $SYSTEM_TYPE in
;;
*aix4.3*)
echo "Adding defines for AIX"
- CFLAGS="$CFLAGS -DUNDEF_HAVE_INITGROUPS"
- CXXFLAGS="$CXXFLAGS -DUNDEF_HAVE_INITGROUPS"
+ CFLAGS="$CFLAGS -Wa,-many -DUNDEF_HAVE_INITGROUPS"
+ CXXFLAGS="$CXXFLAGS -Wa,-many -DUNDEF_HAVE_INITGROUPS"
;;
esac
@@ -789,6 +789,7 @@ then
#
elif test "$with_named_thread" = "no"
then
+ AC_MSG_RESULT("no")
AC_MSG_CHECKING("SCO UnixWare 7.1 native threads")
if expr "$SYSTEM_TYPE" : ".*sco.*" > /dev/null
then
@@ -807,6 +808,7 @@ then
else
AC_DEFINE(HAVE_UNIXWARE7_POSIX)
fi
+ AC_MSG_RESULT("yes")
# We must have cc
AC_MSG_CHECKING("for gcc")
if expr "$CC" : ".*gcc.*"
@@ -817,7 +819,6 @@ then
CC="$CC -Kthread -DUNIXWARE_7";
CXX="$CXX -Kthread -DUNIXWARE_7";
fi
- AC_MSG_RESULT("yes")
else
{ echo "configure: error: Can't find thread libs on SCO UnixWare7. See the Installation chapter in the Reference Manual." 1>&2; exit 1; };
fi
diff --git a/include/dbug.h b/include/dbug.h
index de6bbc66ed7..d86b83f4de8 100644
--- a/include/dbug.h
+++ b/include/dbug.h
@@ -66,6 +66,7 @@ extern void _db_unlock_file();
#define DEBUGGER_ON _no_db_=0
#define DBUG_LOCK_FILE { _db_lock_file(); }
#define DBUG_UNLOCK_FILE { _db_unlock_file(); }
+#define DBUG_ASSERT(A) A
#else /* No debugger */
#define DBUG_ENTER(a1)
@@ -85,6 +86,7 @@ extern void _db_unlock_file();
#define DEBUGGER_ON
#define DBUG_LOCK_FILE
#define DBUG_UNLOCK_FILE
+#define DBUG_ASSERT(A) {}
#endif
#ifdef __cplusplus
}
diff --git a/include/my_pthread.h b/include/my_pthread.h
index 19c39d76ef3..4adcc958590 100644
--- a/include/my_pthread.h
+++ b/include/my_pthread.h
@@ -490,6 +490,11 @@ extern int pthread_dummy(int);
/* All thread specific variables are in the following struct */
#define THREAD_NAME_SIZE 10
+#if defined(__ia64__)
+#define DEFAULT_THREAD_STACK (128*1024)
+#else
+#define DEFAULT_THREAD_STACK (64*1024)
+#endif
struct st_my_thread_var
{
diff --git a/include/my_sys.h b/include/my_sys.h
index 57734e9e534..01f42e9878d 100644
--- a/include/my_sys.h
+++ b/include/my_sys.h
@@ -313,9 +313,13 @@ typedef int (*qsort2_cmp)(const void *, const void *, const void *);
((info)->rc_pos - (info)->rc_request_pos))
typedef struct st_changeable_var {
- const char *name;
- long *varptr;
- long def_value,min_value,max_value,sub_size,block_size;
+ const char *name; /* Name of variable */
+ long *varptr; /* Pointer to variable */
+ long def_value, /* Default value */
+ min_value, /* Min allowed value */
+ max_value, /* Max allowed value */
+ sub_size, /* Subtract this from given value */
+ block_size; /* Value should be a mult. of this */
} CHANGEABLE_VAR;
@@ -527,6 +531,7 @@ extern void my_free_lock(byte *ptr,myf flags);
#define my_malloc_lock(A,B) my_malloc((A),(B))
#define my_free_lock(A,B) my_free((A),(B))
#endif
+#define alloc_root_inited(A) ((A)->min_malloc != 0)
void init_alloc_root(MEM_ROOT *mem_root,uint block_size);
gptr alloc_root(MEM_ROOT *mem_root,unsigned int Size);
void free_root(MEM_ROOT *root);
diff --git a/include/mysql.h b/include/mysql.h
index e83babb8fa8..b738c8535fe 100644
--- a/include/mysql.h
+++ b/include/mysql.h
@@ -73,6 +73,8 @@ extern char *mysql_unix_port;
#define IS_NOT_NULL(n) ((n) & NOT_NULL_FLAG)
#define IS_BLOB(n) ((n) & BLOB_FLAG)
#define IS_NUM(t) ((t) <= FIELD_TYPE_INT24 || (t) == FIELD_TYPE_YEAR)
+#define IS_NUM_FIELD(f) ((f)->flags & NUM_FLAG)
+#define INTERNAL_NUM_FIELD(f) (((f)->type <= FIELD_TYPE_INT24 && (f)->type != FIELD_TYPE_TIMESTAMP || (f)->length == 14 || (f)->length == 8) || (f)->type == FIELD_TYPE_YEAR)
typedef struct st_mysql_field {
char *name; /* Name of column */
diff --git a/include/mysql_com.h b/include/mysql_com.h
index 2a1471f735d..6a603ff0e17 100644
--- a/include/mysql_com.h
+++ b/include/mysql_com.h
@@ -61,6 +61,7 @@ enum enum_server_command {COM_SLEEP,COM_QUIT,COM_INIT_DB,COM_QUERY,
#define AUTO_INCREMENT_FLAG 512 /* field is a autoincrement field */
#define TIMESTAMP_FLAG 1024 /* Field is a timestamp */
#define SET_FLAG 2048 /* field is a set */
+#define NUM_FLAG 32768 /* Field is num (for clients) */
#define PART_KEY_FLAG 16384 /* Intern; Part of some key */
#define GROUP_FLAG 32768 /* Intern: Group field */
#define UNIQUE_FLAG 65536 /* Intern: Used by sql_yacc */
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index 8552d386e5e..24aae76225e 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -852,6 +852,8 @@ unpack_fields(MYSQL_DATA *data,MEM_ROOT *alloc,uint fields,
field->flags= (uint) (uchar) row->data[4][0];
field->decimals=(uint) (uchar) row->data[4][1];
}
+ if (INTERNAL_NUM_FIELD(field))
+ field->flags|= NUM_FLAG;
if (default_value && row->data[5])
field->def=strdup_root(alloc,(char*) row->data[5]);
else
diff --git a/myisam/mi_key.c b/myisam/mi_key.c
index f9eb9b77835..d64a02ea5f5 100644
--- a/myisam/mi_key.c
+++ b/myisam/mi_key.c
@@ -283,7 +283,7 @@ static int _mi_put_key_in_record(register MI_INFO *info, uint keynr,
uint length;
get_key_length(length,key);
#ifdef CHECK_KEYS
- if (length >= keyseg->length || key+length > key_end)
+ if (length > keyseg->length || key+length > key_end)
goto err;
#endif
memcpy(record+keyseg->start,(byte*) key, length);
@@ -294,7 +294,7 @@ static int _mi_put_key_in_record(register MI_INFO *info, uint keynr,
uint length;
get_key_length(length,key);
#ifdef CHECK_KEYS
- if (length >= keyseg->length || key+length > key_end)
+ if (length > keyseg->length || key+length > key_end)
goto err;
#endif
memcpy(record+keyseg->start+keyseg->bit_start,
diff --git a/mysql.proj b/mysql.proj
index 820b81dbc90..b79381ad8c8 100644
--- a/mysql.proj
+++ b/mysql.proj
Binary files differ
diff --git a/mysys/charset.c b/mysys/charset.c
index 384b2c6e71a..54b4dd1a13e 100644
--- a/mysys/charset.c
+++ b/mysys/charset.c
@@ -380,7 +380,7 @@ CHARSET_INFO *get_charset(uint cs_number, myf flags)
(void) init_available_charsets(MYF(0)); /* If it isn't initialized */
cs=get_internal_charset(cs_number);
- if (!cs && flags & MY_WME)
+ if (!cs && (flags & MY_WME))
{
char index_file[FN_REFLEN], cs_string[23];
strmov(get_charsets_dir(index_file), "Index");
diff --git a/mysys/mf_keycache.c b/mysys/mf_keycache.c
index eca22039444..db23c474564 100644
--- a/mysys/mf_keycache.c
+++ b/mysys/mf_keycache.c
@@ -42,6 +42,17 @@
#define CHANGED_BLOCKS_MASK (CHANGED_BLOCKS_HASH-1)
#define FLUSH_CACHE 2000 /* Sort this many blocks at once */
+typedef struct sec_link {
+ struct sec_link *next_hash,**prev_hash;/* Blocks linked acc. to hash-value */
+ struct sec_link *next_used,*prev_used;
+ struct sec_link *next_changed,**prev_changed;
+ File file;
+ my_off_t diskpos;
+ byte *buffer;
+ my_bool changed;
+} SEC_LINK;
+
+
static uint find_next_bigger_power(uint value);
static SEC_LINK *find_key_block(int file,my_off_t filepos,int *error);
@@ -287,7 +298,6 @@ byte *key_cache_read(File file, my_off_t filepos, byte *buff, uint length,
} while ((length-= read_length));
pthread_mutex_unlock(&THR_LOCK_keycache);
return(start);
- pthread_mutex_unlock(&THR_LOCK_keycache);
}
_my_cache_r_requests++;
_my_cache_read++;
@@ -457,6 +467,7 @@ static SEC_LINK *find_key_block(int file, my_off_t filepos, int *error)
static void free_block(SEC_LINK *used)
{
used->file= -1;
+ used->changed=0;
if (used != _my_used_first) /* Relink used-chain */
{
if (used == _my_used_last)
@@ -568,7 +579,6 @@ int flush_key_blocks(File file, enum flush_type type)
if (type != FLUSH_KEEP && type != FLUSH_FORCE_WRITE)
{
/* This will not destroy position or data */
- used->changed=0;
_my_blocks_changed--;
free_block(used);
}
diff --git a/mysys/my_static.h b/mysys/my_static.h
index dd80a8da1f9..5ab01dec9a9 100644
--- a/mysys/my_static.h
+++ b/mysys/my_static.h
@@ -33,16 +33,6 @@ struct st_remember {
sig_handler (*func)(int number);
};
-typedef struct sec_link {
- struct sec_link *next_hash,**prev_hash;/* Blocks linked acc. to hash-value */
- struct sec_link *next_used,*prev_used;
- struct sec_link *next_changed,**prev_changed;
- File file;
- my_off_t diskpos;
- byte *buffer;
- my_bool changed;
-} SEC_LINK;
-
struct irem {
struct remember *_pNext; /* Linked list of structures */
struct remember *_pPrev; /* Other link */
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index f16901a384f..d4e62172a08 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -71,6 +71,7 @@ SUFFIXES = .sh
@RM@ -f $@ $@-t
@SED@ \
-e 's!@''bindir''@!$(bindir)!g' \
+ -e 's!@''sbindir''@!$(sbindir)!g' \
-e 's!@''scriptdir''@!$(bindir)!g' \
-e 's!@''prefix''@!$(prefix)!g' \
-e 's!@''datadir''@!$(datadir)!g' \
diff --git a/scripts/mysql_install_db.sh b/scripts/mysql_install_db.sh
index ce6f7155b05..50d147c1ade 100644
--- a/scripts/mysql_install_db.sh
+++ b/scripts/mysql_install_db.sh
@@ -11,56 +11,82 @@
ldata=@localstatedir@
execdir=@libexecdir@
bindir=@bindir@
+sbindir=@sbindir@
force=0
IN_RPM=0
defaults=
-# Are we doing an rpm install?
-if test "$1" = "-IN-RPM"; then IN_RPM=1; shift; fi
-if test "$1" = "--force"; then force=1; shift; fi
-
-# Get mysqld/safe_mysqld options from /etc/my.cnf or ~/.my.cnf
-case "$1" in
- --no-defaults) defaults="$1"; conf=/nonexistent; shift ;;
- --defaults-file=*) defaults="$1"; conf=`echo "$1"|sed 's;^--defaults-file=;;'`; shift ;;
- *)
- if test -w /
- then
- conf=/etc/my.cnf
- else
- conf=$HOME/.my.cnf
- fi
- ;;
-esac
+while [ "x$1" != x ]
+do
+ case "$1" in
+ -*) eqvalue="`echo $1 |sed 's/[-_a-zA-Z0-9]*=//'`"
+ case "$1" in
+ -IN-RPM) IN_RPM=1
+ ;;
+ --force) force=1
+ ;;
+ --no-defaults=*) CONFIG_FILES=/nonexistent
+ ;;
+ --defaults-file=*) CONFIG_FILES="$eqvalue"
+ ;;
+ --basedir=*) SETVARS="$SETVARS basedir=\"$eqvalue\"; bindir=\"$eqvalue/bon\"; execdir=\"$eqvalue/libexec\"; sbindir=\"$eqvalue/sbin\"; "
+ ;;
+ --ldata=*|--datadir=*) SETVARS="$SETVARS ldata=\"$eqvalue\";"
+ ;;
+ --user=*) SETVARS="$SETVARS user=\"$eqvalue\";"
+ ;;
+ esac
+ ;;
+ esac
+ shift
+done
+
+GetCNF () {
-if test -f "$conf"
-then
- if grep "^datadir" $conf >/dev/null
- then
- ldata=`grep "^datadir" $conf | sed 's;^[^=]*=[ \t]*;;' | sed 's;[ \t]$;;'`
- fi
- if grep "^execdir" $conf >/dev/null
- then
- execdir=`grep "^execdir" $conf | sed 's;^[^=]*=[ \t]*;;' | sed 's;[ \t]$;;'`
- fi
- if grep "^bindir" $conf >/dev/null
- then
- bindir=`grep "^bindir" $conf | sed 's;^[^=]*=[ \t]*;;' | sed 's;[ \t]$;;'`
- fi
- if grep "^user" $conf >/dev/null
- then
- user=`grep "^user" $conf | sed 's;^[^=]*=[ \t]*;;' | sed 's;[ \t]$;;'`
- fi
-fi
+VARIABLES="basedir bindir datadir sbindir user pid-file log port socket"
+# set it not already set
+CONFIG_FILES=${CONFIG_FILES:-"/etc/my.cnf ./my.cnf $HOME/.my.cnf"}
-for arg
+for c in $CONFIG_FILES
do
- case "$arg" in
- --basedir=*) basedir=`echo "$arg"|sed 's;^--basedir=;;'`; bindir="$basedir/bin"; execdir="$basedir/libexec" ;;
- --datadir=*) ldata=`echo "$arg"|sed 's;^--datadir=;;'` ;;
- --user=*) user=`echo "$arg"|sed 's;^--user=;;'` ;;
- esac
+ if [ -f $c ]
+ then
+ #echo "Processing $c..."
+ for v in $VARIABLES
+ do
+ # This method assumes last of duplicate $variable entries will be the
+ # value set ([mysqld])
+ # This could easily be rewritten to gather [xxxxx]-specific entries,
+ # but for now it looks like only the mysqld ones are needed for
+ # server startup scripts
+ eval `sed -n -e '/^$/d' -e '/^#/d' -e 's,[ ],,g' -e '/=/p' $c |\
+ awk -F= -v v=$v '{if ($1 == v) printf ("thevar=\"%s\"\n", $2)}'`
+
+ # it would be easier if the my.cnf and variable values were
+ # all matched, but since they aren't we need to map them here.
+ case $v in
+ pid-file) v=pid_file ;;
+ log) v=log_file ;;
+ datadir) v=ldata ;;
+ esac
+
+ # As long as $thevar isn't blank, use it to set or override current
+ # value
+ [ "$thevar" != "" ] && eval $v=$thevar
+
+ done
+ #else
+ # echo "No $c config file."
+ fi
done
+}
+
+# run function to get config values
+GetCNF
+
+# Override/set with command-line values
+eval $SETVARS
+
mdata=$ldata/mysql
@@ -310,7 +336,7 @@ then
echo
echo "The latest information about MySQL is available on the web at"
echo "http://www.mysql.com"
- echo "Support MySQL by buying support/licenses at http://www.mysql.com/license.htmy."
+ echo "Support MySQL by buying support/licenses at https://order.mysql.com"
echo
exit 0
else
diff --git a/sql-bench/Results/ATIS-mysql-NT_4.0 b/sql-bench/Results/ATIS-mysql-NT_4.0
index e09863441a6..a62f3593b2d 100644
--- a/sql-bench/Results/ATIS-mysql-NT_4.0
+++ b/sql-bench/Results/ATIS-mysql-NT_4.0
@@ -1,19 +1,19 @@
-Testing server 'MySQL 3.23.17a alpha' at 2000-06-02 17:36:42
-
-ATIS table test
-
-Creating tables
-Time for create_table (28): 1 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Inserting data
-Time to insert (9768): 5 wallclock secs ( 0.88 usr 1.38 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Retrieving data
-Time for select_simple_join (500): 3 wallclock secs ( 1.58 usr 0.66 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_join (200): 22 wallclock secs (12.86 usr 5.22 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_distinct (800): 17 wallclock secs ( 4.78 usr 1.80 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_group (2800): 20 wallclock secs ( 3.55 usr 1.13 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Removing tables
-Time to drop_table (28): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Total time: 68 wallclock secs (23.67 usr 10.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Testing server 'MySQL 3.23.23 beta' at 2000-09-01 1:23:52
+
+ATIS table test
+
+Creating tables
+Time for create_table (28): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Inserting data
+Time to insert (9768): 5 wallclock secs ( 0.69 usr 1.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Retrieving data
+Time for select_simple_join (500): 4 wallclock secs ( 1.47 usr 0.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_join (200): 22 wallclock secs (13.20 usr 5.34 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_distinct (800): 17 wallclock secs ( 4.75 usr 1.70 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_group (2800): 19 wallclock secs ( 3.31 usr 0.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Removing tables
+Time to drop_table (28): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Total time: 67 wallclock secs (23.42 usr 10.20 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/RUN-mysql-NT_4.0 b/sql-bench/Results/RUN-mysql-NT_4.0
index 10b09bab41a..ce02d232179 100644
--- a/sql-bench/Results/RUN-mysql-NT_4.0
+++ b/sql-bench/Results/RUN-mysql-NT_4.0
@@ -1,78 +1,80 @@
-Benchmark DBD suite: 2.8
-Date of test: 2000-06-02 23:00:05
-Running tests on: Windows NT Version 4.0
-Arguments:
-Comments: Pentium 2x550 xeon, 550 Mhz, IDE
-Limits from:
-Server version: MySQL 3.23.17a alpha
-
-alter-table: Total time: 2260 wallclock secs ( 0.89 usr 0.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-ATIS: Total time: 68 wallclock secs (23.67 usr 10.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-big-tables: Total time: 80 wallclock secs (17.91 usr 18.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-connect: Total time: 186 wallclock secs (56.84 usr 51.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-create: Total time: 1040 wallclock secs (13.34 usr 9.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-insert: Total time: 4284 wallclock secs (485.59 usr 280.22 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-select: Total time: 2255 wallclock secs (315.95 usr 115.52 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-wisconsin: Total time: 29 wallclock secs ( 8.19 usr 5.44 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Totals per operation:
-Operation seconds usr sys cpu tests
-alter_table_add 1201.00 0.53 0.19 0.00 992
-alter_table_drop 1009.00 0.23 0.09 0.00 496
-connect 34.00 11.53 10.31 0.00 10000
-connect+select_1_row 39.00 12.75 13.53 0.00 10000
-connect+select_simple 37.00 12.56 11.92 0.00 10000
-count 40.00 0.11 0.05 0.00 100
-count_distinct 69.00 1.17 0.41 0.00 1000
-count_distinct_big 1229.00 224.25 81.19 0.00 1020
-count_distinct_group 152.00 2.81 0.92 0.00 1000
-count_distinct_group_on_key 38.00 0.70 0.17 0.00 1000
-count_distinct_group_on_key_parts 153.00 2.61 1.03 0.00 1000
-count_group_on_key_parts 34.00 2.64 1.00 0.00 1000
-count_on_key 347.00 21.47 8.38 0.00 50100
-create+drop 123.00 3.36 2.61 0.00 10000
-create_MANY_tables 232.00 2.97 1.23 0.00 10000
-create_index 25.00 0.00 0.00 0.00 8
-create_key+drop 156.00 5.13 2.78 0.00 10000
-create_table 1.00 0.02 0.00 0.00 31
-delete_big 21.00 0.00 0.00 0.00 13
-delete_big_many_keys 438.00 0.00 0.00 0.00 2
-delete_key 6.00 0.84 1.30 0.00 10000
-drop_index 25.00 0.00 0.00 0.00 8
-drop_table 0.00 0.00 0.00 0.00 28
-drop_table_when_MANY_tables 223.00 0.80 1.34 0.00 10000
-insert 235.00 34.08 47.74 0.00 350768
-insert_duplicates 38.00 8.48 12.98 0.00 300000
-insert_key 1418.00 13.78 12.97 0.00 100000
-insert_many_fields 22.00 0.58 0.49 0.00 2000
-min_max 18.00 0.05 0.00 0.00 60
-min_max_on_key 175.00 37.82 14.90 0.00 85000
-multiple_value_insert 10.00 2.59 0.14 0.00 100000
-order_by 98.00 62.59 25.67 0.00 10
-order_by_key 88.00 62.23 25.44 0.00 10
-outer_join 115.00 0.00 0.00 0.00 10
-outer_join_found 102.00 0.01 0.00 0.00 10
-outer_join_not_found 54.00 0.02 0.00 0.00 500
-outer_join_on_key 37.00 0.05 0.00 0.00 10
-select_1_row 5.00 1.11 1.91 0.00 10000
-select_2_rows 7.00 1.23 1.58 0.00 10000
-select_big 142.00 78.10 33.81 0.00 10080
-select_column+column 6.00 1.05 1.86 0.00 10000
-select_diff_key 138.00 0.52 0.16 0.00 500
-select_distinct 17.00 4.78 1.80 0.00 800
-select_group 51.00 3.64 1.15 0.00 2911
-select_group_when_MANY_tables 306.00 1.09 1.50 0.00 10000
-select_join 22.00 12.86 5.22 0.00 200
-select_key 201.00 92.41 38.77 0.00 200000
-select_key_prefix 198.00 93.94 37.94 0.00 200000
-select_many_fields 55.00 17.33 18.16 0.00 2000
-select_range 213.00 37.28 12.82 0.00 25420
-select_range_prefix 28.00 9.94 4.00 0.00 25010
-select_simple 4.00 0.94 1.67 0.00 10000
-select_simple_join 3.00 1.58 0.66 0.00 500
-update_big 64.00 0.00 0.01 0.00 500
-update_of_key 468.00 4.61 6.75 0.00 756
-update_of_key_big 33.00 0.05 0.05 0.00 501
-update_with_key 185.00 25.34 40.66 0.00 100000
-wisc_benchmark 9.00 5.66 1.53 0.00 114
-TOTALS 10191.00 921.17 488.93 0.00 1685468
+Benchmark DBD suite: 2.9
+Date of test: 2000-09-01 3:34:21
+Running tests on: Windows NT Version 4.0
+Arguments:
+Comments: Pentium 2x550 xeon, 550 Mhz, IDE
+Limits from:
+Server version: MySQL 3.23.23 beta
+
+alter-table: Total time: 2313 wallclock secs ( 0.84 usr 0.34 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+ATIS: Total time: 67 wallclock secs (23.42 usr 10.20 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+big-tables: Total time: 79 wallclock secs (18.42 usr 19.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+connect: Total time: 185 wallclock secs (59.45 usr 51.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+create: Total time: 852 wallclock secs (14.36 usr 9.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+insert: Total time: 4332 wallclock secs (490.00 usr 278.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+select: Total time: 2278 wallclock secs (313.80 usr 117.34 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+wisconsin: Total time: 28 wallclock secs ( 7.91 usr 5.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+All 8 test executed successfully
+
+Totals per operation:
+Operation seconds usr sys cpu tests
+alter_table_add 1228.00 0.55 0.17 0.00 992
+alter_table_drop 1033.00 0.17 0.08 0.00 496
+connect 33.00 11.69 10.25 0.00 10000
+connect+select_1_row 39.00 11.72 12.45 0.00 10000
+connect+select_simple 36.00 12.89 11.09 0.00 10000
+count 39.00 0.14 0.03 0.00 100
+count_distinct 75.00 1.13 0.31 0.00 1000
+count_distinct_big 1223.00 223.30 83.02 0.00 1020
+count_distinct_group 157.00 2.50 1.09 0.00 1000
+count_distinct_group_on_key 40.00 0.81 0.23 0.00 1000
+count_distinct_group_on_key_parts 158.00 2.78 1.14 0.00 1000
+count_group_on_key_parts 40.00 2.53 0.92 0.00 1000
+count_on_key 345.00 22.07 8.56 0.00 50100
+create+drop 128.00 3.75 2.59 0.00 10000
+create_MANY_tables 219.00 2.70 1.36 0.00 10000
+create_index 25.00 0.00 0.00 0.00 8
+create_key+drop 161.00 5.14 2.31 0.00 10000
+create_table 0.00 0.00 0.00 0.00 31
+delete_big 22.00 0.00 0.02 0.00 13
+delete_big_many_keys 412.00 0.00 0.00 0.00 2
+delete_key 7.00 0.73 1.13 0.00 10000
+drop_index 27.00 0.00 0.00 0.00 8
+drop_table 0.00 0.00 0.00 0.00 28
+drop_table_when_MANY_tables 153.00 1.09 1.41 0.00 10000
+insert 236.00 34.70 45.91 0.00 350768
+insert_duplicates 59.00 8.80 11.75 0.00 300000
+insert_key 1434.00 14.73 12.73 0.00 100000
+insert_many_fields 21.00 0.82 0.31 0.00 2000
+min_max 18.00 0.03 0.02 0.00 60
+min_max_on_key 180.00 36.53 14.18 0.00 85000
+multiple_value_insert 9.00 2.48 0.19 0.00 100000
+order_by 98.00 62.34 25.09 0.00 10
+order_by_key 88.00 63.17 24.64 0.00 10
+outer_join 118.00 0.01 0.00 0.00 10
+outer_join_found 104.00 0.02 0.00 0.00 10
+outer_join_not_found 59.00 0.02 0.00 0.00 500
+outer_join_on_key 40.00 0.00 0.01 0.00 10
+select_1_row 5.00 0.95 2.00 0.00 10000
+select_2_rows 5.00 1.30 1.92 0.00 10000
+select_big 145.00 81.09 35.81 0.00 10080
+select_column+column 6.00 1.11 1.64 0.00 10000
+select_diff_key 124.00 0.48 0.05 0.00 500
+select_distinct 17.00 4.75 1.70 0.00 800
+select_group 52.00 3.45 0.98 0.00 2911
+select_group_when_MANY_tables 191.00 1.67 1.97 0.00 10000
+select_join 22.00 13.20 5.34 0.00 200
+select_key 201.00 92.67 41.23 0.00 200000
+select_key_prefix 200.00 92.94 38.81 0.00 200000
+select_many_fields 56.00 17.60 18.74 0.00 2000
+select_range 219.00 37.55 12.72 0.00 25420
+select_range_prefix 27.00 9.96 4.16 0.00 25010
+select_simple 4.00 1.03 1.67 0.00 10000
+select_simple_join 4.00 1.47 0.69 0.00 500
+update_big 68.00 0.02 0.00 0.00 500
+update_of_key 490.00 4.80 6.55 0.00 756
+update_of_key_big 34.00 0.05 0.06 0.00 501
+update_with_key 188.00 26.88 40.59 0.00 100000
+wisc_benchmark 9.00 5.69 1.53 0.00 114
+TOTALS 10131.00 928.00 491.15 0.00 1695468
diff --git a/sql-bench/Results/alter-table-mysql-NT_4.0 b/sql-bench/Results/alter-table-mysql-NT_4.0
index ef53199b9c8..970e8db0ce6 100644
--- a/sql-bench/Results/alter-table-mysql-NT_4.0
+++ b/sql-bench/Results/alter-table-mysql-NT_4.0
@@ -1,16 +1,16 @@
-Testing server 'MySQL 3.23.17a alpha' at 2000-06-02 16:59:02
-
-Testing of ALTER TABLE
-Testing with 1000 columns and 1000 rows in 20 steps
-Insert data into the table
-Time for insert (1000) 0 wallclock secs ( 0.13 usr 0.13 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Time for alter_table_add (992): 1201 wallclock secs ( 0.53 usr 0.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Time for create_index (8): 25 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Time for drop_index (8): 25 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Time for alter_table_drop (496): 1009 wallclock secs ( 0.23 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Total time: 2260 wallclock secs ( 0.89 usr 0.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Testing server 'MySQL 3.23.23 beta' at 2000-09-01 0:45:18
+
+Testing of ALTER TABLE
+Testing with 1000 columns and 1000 rows in 20 steps
+Insert data into the table
+Time for insert (1000) 0 wallclock secs ( 0.13 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Time for alter_table_add (992): 1228 wallclock secs ( 0.55 usr 0.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Time for create_index (8): 25 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Time for drop_index (8): 27 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Time for alter_table_drop (496): 1033 wallclock secs ( 0.17 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Total time: 2313 wallclock secs ( 0.84 usr 0.34 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/big-tables-mysql-NT_4.0 b/sql-bench/Results/big-tables-mysql-NT_4.0
index 7fd214d8138..4a9724520c2 100644
--- a/sql-bench/Results/big-tables-mysql-NT_4.0
+++ b/sql-bench/Results/big-tables-mysql-NT_4.0
@@ -1,19 +1,19 @@
-Testing server 'MySQL 3.23.17a alpha' at 2000-06-02 17:37:50
-
-Testing of some unusual tables
-All tests are done 1000 times with 1000 fields
-
-Testing table with 1000 fields
-Testing select * from table with 1 record
-Time to select_many_fields(1000): 20 wallclock secs ( 8.56 usr 9.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing select all_fields from table with 1 record
-Time to select_many_fields(1000): 35 wallclock secs ( 8.77 usr 9.11 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing insert VALUES()
-Time to insert_many_fields(1000): 3 wallclock secs ( 0.39 usr 0.30 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing insert (all_fields) VALUES()
-Time to insert_many_fields(1000): 19 wallclock secs ( 0.19 usr 0.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Total time: 80 wallclock secs (17.91 usr 18.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Testing server 'MySQL 3.23.23 beta' at 2000-09-01 1:25:00
+
+Testing of some unusual tables
+All tests are done 1000 times with 1000 fields
+
+Testing table with 1000 fields
+Testing select * from table with 1 record
+Time to select_many_fields(1000): 20 wallclock secs ( 8.72 usr 9.24 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing select all_fields from table with 1 record
+Time to select_many_fields(1000): 36 wallclock secs ( 8.88 usr 9.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing insert VALUES()
+Time to insert_many_fields(1000): 3 wallclock secs ( 0.66 usr 0.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing insert (all_fields) VALUES()
+Time to insert_many_fields(1000): 18 wallclock secs ( 0.16 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Total time: 79 wallclock secs (18.42 usr 19.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/connect-mysql-NT_4.0 b/sql-bench/Results/connect-mysql-NT_4.0
index 937b4704b5b..11bf8b63fdf 100644
--- a/sql-bench/Results/connect-mysql-NT_4.0
+++ b/sql-bench/Results/connect-mysql-NT_4.0
@@ -1,30 +1,30 @@
-Testing server 'MySQL 3.23.17a alpha' at 2000-06-02 22:55:01
-
-Testing the speed of connecting to the server and sending of data
-All tests are done 10000 times
-
-Testing connection/disconnect
-Time to connect (10000): 34 wallclock secs (11.53 usr 10.31 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Test connect/simple select/disconnect
-Time for connect+select_simple (10000): 37 wallclock secs (12.56 usr 11.92 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Test simple select
-Time for select_simple (10000): 4 wallclock secs ( 0.94 usr 1.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing connect/select 1 row from table/disconnect
-Time to connect+select_1_row (10000): 39 wallclock secs (12.75 usr 13.53 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing select 1 row from table
-Time to select_1_row (10000): 5 wallclock secs ( 1.11 usr 1.91 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing select 2 rows from table
-Time to select_2_rows (10000): 7 wallclock secs ( 1.23 usr 1.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Test select with aritmetic (+)
-Time for select_column+column (10000): 6 wallclock secs ( 1.05 usr 1.86 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing retrieval of big records (65000 bytes)
-Time to select_big (10000): 54 wallclock secs (15.66 usr 8.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Total time: 186 wallclock secs (56.84 usr 51.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Testing server 'MySQL 3.23.23 beta' at 2000-09-01 1:26:20
+
+Testing the speed of connecting to the server and sending of data
+All tests are done 10000 times
+
+Testing connection/disconnect
+Time to connect (10000): 33 wallclock secs (11.69 usr 10.25 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Test connect/simple select/disconnect
+Time for connect+select_simple (10000): 36 wallclock secs (12.89 usr 11.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Test simple select
+Time for select_simple (10000): 4 wallclock secs ( 1.03 usr 1.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing connect/select 1 row from table/disconnect
+Time to connect+select_1_row (10000): 39 wallclock secs (11.72 usr 12.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing select 1 row from table
+Time to select_1_row (10000): 5 wallclock secs ( 0.95 usr 2.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing select 2 rows from table
+Time to select_2_rows (10000): 5 wallclock secs ( 1.30 usr 1.92 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Test select with aritmetic (+)
+Time for select_column+column (10000): 6 wallclock secs ( 1.11 usr 1.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing retrieval of big records (65000 bytes)
+Time to select_big (10000): 57 wallclock secs (18.77 usr 10.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Total time: 185 wallclock secs (59.45 usr 51.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/create-mysql-NT_4.0 b/sql-bench/Results/create-mysql-NT_4.0
index 687a10e3664..01eb752a2eb 100644
--- a/sql-bench/Results/create-mysql-NT_4.0
+++ b/sql-bench/Results/create-mysql-NT_4.0
@@ -1,18 +1,18 @@
-Testing server 'MySQL 3.23.17a alpha' at 2000-06-02 17:41:14
-
-Testing the speed of creating and droping tables
-Testing with 10000 tables and 10000 loop count
-
-Testing create of tables
-Time for create_MANY_tables (10000): 232 wallclock secs ( 2.97 usr 1.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Accessing tables
-Time to select_group_when_MANY_tables (10000): 306 wallclock secs ( 1.09 usr 1.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing drop
-Time for drop_table_when_MANY_tables (10000): 223 wallclock secs ( 0.80 usr 1.34 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing create+drop
-Time for create+drop (10000): 123 wallclock secs ( 3.36 usr 2.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for create_key+drop (10000): 156 wallclock secs ( 5.13 usr 2.78 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Total time: 1040 wallclock secs (13.34 usr 9.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Testing server 'MySQL 3.23.23 beta' at 2000-09-01 1:29:26
+
+Testing the speed of creating and droping tables
+Testing with 10000 tables and 10000 loop count
+
+Testing create of tables
+Time for create_MANY_tables (10000): 219 wallclock secs ( 2.70 usr 1.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Accessing tables
+Time to select_group_when_MANY_tables (10000): 191 wallclock secs ( 1.67 usr 1.97 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing drop
+Time for drop_table_when_MANY_tables (10000): 153 wallclock secs ( 1.09 usr 1.41 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing create+drop
+Time for create+drop (10000): 128 wallclock secs ( 3.75 usr 2.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for create_key+drop (10000): 161 wallclock secs ( 5.14 usr 2.31 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Total time: 852 wallclock secs (14.36 usr 9.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/insert-mysql-NT_4.0 b/sql-bench/Results/insert-mysql-NT_4.0
index 24b49d6502e..979f6fc8d56 100644
--- a/sql-bench/Results/insert-mysql-NT_4.0
+++ b/sql-bench/Results/insert-mysql-NT_4.0
@@ -1,70 +1,70 @@
-Testing server 'MySQL 3.23.17a alpha' at 2000-06-02 17:58:36
-
-Testing the speed of inserting data into 1 table and do some selects on it.
-The tests are done with a table that has 100000 rows.
-
-Generating random keys
-Creating tables
-Inserting 100000 rows in order
-Inserting 100000 rows in reverse order
-Inserting 100000 rows in random order
-Time for insert (300000): 204 wallclock secs (29.41 usr 41.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing insert of duplicates
-Time for insert_duplicates (300000): 38 wallclock secs ( 8.48 usr 12.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Retrieving data from the table
-Time for select_big (10:3000000): 87 wallclock secs (62.05 usr 25.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by_key (10:3000000): 88 wallclock secs (62.23 usr 25.44 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for order_by (10:3000000): 98 wallclock secs (62.59 usr 25.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_diff_key (500:1000): 138 wallclock secs ( 0.52 usr 0.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_range_prefix (5010:42084): 15 wallclock secs ( 4.33 usr 1.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_range (5010:42084): 15 wallclock secs ( 4.53 usr 1.78 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_key_prefix (200000): 198 wallclock secs (93.94 usr 37.94 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_key (200000): 201 wallclock secs (92.41 usr 38.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Test of compares with simple ranges
-Time for select_range_prefix (20000:43500): 13 wallclock secs ( 5.61 usr 2.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_range (20000:43500): 13 wallclock secs ( 5.55 usr 2.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_group (111): 31 wallclock secs ( 0.09 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for min_max_on_key (15000): 14 wallclock secs ( 6.27 usr 2.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for min_max (60): 18 wallclock secs ( 0.05 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_on_key (100): 26 wallclock secs ( 0.06 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count (100): 40 wallclock secs ( 0.11 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_big (20): 95 wallclock secs ( 0.05 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing update of keys with functions
-Time for update_of_key (500): 62 wallclock secs ( 4.58 usr 6.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for update_of_key_big (501): 33 wallclock secs ( 0.05 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing update with key
-Time for update_with_key (100000): 185 wallclock secs (25.34 usr 40.66 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing update of all rows
-Time for update_big (500): 64 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing left outer join
-Time for outer_join_on_key (10:10): 37 wallclock secs ( 0.05 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for outer_join (10:10): 115 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for outer_join_found (10:10): 102 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for outer_join_not_found (500:10): 54 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing delete
-Time for delete_key (10000): 6 wallclock secs ( 0.84 usr 1.30 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for delete_big (12): 21 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Insert into table with 16 keys and with a primary key with 16 parts
-Time for insert_key (100000): 1418 wallclock secs (13.78 usr 12.97 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing update of keys
-Time for update_of_key (256): 406 wallclock secs ( 0.03 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Deleting everything from table
-Time for delete_big_many_keys (2): 438 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Inserting 100000 rows with multiple values
-Time for multiple_value_insert (100000): 10 wallclock secs ( 2.59 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Time for drop table(1): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Total time: 4284 wallclock secs (485.59 usr 280.22 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Testing server 'MySQL 3.23.23 beta' at 2000-09-01 1:43:39
+
+Testing the speed of inserting data into 1 table and do some selects on it.
+The tests are done with a table that has 100000 rows.
+
+Generating random keys
+Creating tables
+Inserting 100000 rows in order
+Inserting 100000 rows in reverse order
+Inserting 100000 rows in random order
+Time for insert (300000): 206 wallclock secs (30.56 usr 39.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing insert of duplicates
+Time for insert_duplicates (300000): 59 wallclock secs ( 8.80 usr 11.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Retrieving data from the table
+Time for select_big (10:3000000): 87 wallclock secs (61.98 usr 25.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for order_by_key (10:3000000): 88 wallclock secs (63.17 usr 24.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for order_by (10:3000000): 98 wallclock secs (62.34 usr 25.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_diff_key (500:1000): 124 wallclock secs ( 0.48 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_range_prefix (5010:42084): 14 wallclock secs ( 4.63 usr 1.80 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_range (5010:42084): 16 wallclock secs ( 4.67 usr 1.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_key_prefix (200000): 200 wallclock secs (92.94 usr 38.81 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_key (200000): 201 wallclock secs (92.67 usr 41.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Test of compares with simple ranges
+Time for select_range_prefix (20000:43500): 13 wallclock secs ( 5.33 usr 2.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_range (20000:43500): 14 wallclock secs ( 5.75 usr 2.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_group (111): 33 wallclock secs ( 0.14 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for min_max_on_key (15000): 14 wallclock secs ( 6.51 usr 2.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for min_max (60): 18 wallclock secs ( 0.03 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_on_key (100): 25 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count (100): 39 wallclock secs ( 0.14 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_distinct_big (20): 98 wallclock secs ( 0.03 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing update of keys with functions
+Time for update_of_key (500): 63 wallclock secs ( 4.78 usr 6.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for update_of_key_big (501): 34 wallclock secs ( 0.05 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing update with key
+Time for update_with_key (100000): 188 wallclock secs (26.88 usr 40.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing update of all rows
+Time for update_big (500): 68 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing left outer join
+Time for outer_join_on_key (10:10): 40 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for outer_join (10:10): 118 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for outer_join_found (10:10): 104 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for outer_join_not_found (500:10): 59 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing delete
+Time for delete_key (10000): 7 wallclock secs ( 0.73 usr 1.13 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for delete_big (12): 21 wallclock secs ( 0.00 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Insert into table with 16 keys and with a primary key with 16 parts
+Time for insert_key (100000): 1434 wallclock secs (14.73 usr 12.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing update of keys
+Time for update_of_key (256): 427 wallclock secs ( 0.02 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Deleting everything from table
+Time for delete_big_many_keys (2): 412 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Inserting 100000 rows with multiple values
+Time for multiple_value_insert (100000): 9 wallclock secs ( 2.48 usr 0.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Time for drop table(1): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Total time: 4332 wallclock secs (490.00 usr 278.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/select-mysql-NT_4.0 b/sql-bench/Results/select-mysql-NT_4.0
index d6cb0942867..bdb5d154d29 100644
--- a/sql-bench/Results/select-mysql-NT_4.0
+++ b/sql-bench/Results/select-mysql-NT_4.0
@@ -1,23 +1,23 @@
-Testing server 'MySQL 3.23.17a alpha' at 2000-06-02 19:10:01
-
-Testing the speed of selecting on keys that consist of many parts
-The test-table has 10000 rows and the test is done with 500 ranges.
-
-Creating table
-Inserting 10000 rows
-Time to insert (10000): 7 wallclock secs ( 1.27 usr 1.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Testing big selects on the table
-Time for select_big (70:17207): 1 wallclock secs ( 0.39 usr 0.11 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for select_range (410:1057904): 185 wallclock secs (27.20 usr 8.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for min_max_on_key (70000): 161 wallclock secs (31.55 usr 12.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_on_key (50000): 321 wallclock secs (21.41 usr 8.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Time for count_group_on_key_parts (1000:0): 34 wallclock secs ( 2.64 usr 1.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Testing count(distinct) on the table
-Time for count_distinct (1000:2000): 69 wallclock secs ( 1.17 usr 0.41 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_group_on_key (1000:6000): 38 wallclock secs ( 0.70 usr 0.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_group_on_key_parts (1000:100000): 153 wallclock secs ( 2.61 usr 1.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_group (1000:100000): 152 wallclock secs ( 2.81 usr 0.92 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time for count_distinct_big (1000:10000000): 1134 wallclock secs (224.20 usr 81.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Total time: 2255 wallclock secs (315.95 usr 115.52 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Testing server 'MySQL 3.23.23 beta' at 2000-09-01 2:55:53
+
+Testing the speed of selecting on keys that consist of many parts
+The test-table has 10000 rows and the test is done with 500 ranges.
+
+Creating table
+Inserting 10000 rows
+Time to insert (10000): 7 wallclock secs ( 1.23 usr 1.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Testing big selects on the table
+Time for select_big (70:17207): 1 wallclock secs ( 0.34 usr 0.20 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for select_range (410:1057904): 189 wallclock secs (27.13 usr 9.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for min_max_on_key (70000): 166 wallclock secs (30.02 usr 11.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_on_key (50000): 320 wallclock secs (22.06 usr 8.56 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Time for count_group_on_key_parts (1000:0): 40 wallclock secs ( 2.53 usr 0.92 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Testing count(distinct) on the table
+Time for count_distinct (1000:2000): 75 wallclock secs ( 1.13 usr 0.31 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_distinct_group_on_key (1000:6000): 40 wallclock secs ( 0.81 usr 0.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_distinct_group_on_key_parts (1000:100000): 158 wallclock secs ( 2.78 usr 1.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_distinct_group (1000:100000): 157 wallclock secs ( 2.50 usr 1.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time for count_distinct_big (1000:10000000): 1125 wallclock secs (223.27 usr 83.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Total time: 2278 wallclock secs (313.80 usr 117.34 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql-bench/Results/wisconsin-mysql-NT_4.0 b/sql-bench/Results/wisconsin-mysql-NT_4.0
index 20d34da7f90..2e04e721f75 100644
--- a/sql-bench/Results/wisconsin-mysql-NT_4.0
+++ b/sql-bench/Results/wisconsin-mysql-NT_4.0
@@ -1,14 +1,14 @@
-Testing server 'MySQL 3.23.17a alpha' at 2000-06-02 19:47:36
-
-Wisconsin benchmark test
-
-Time for create_table (3): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Inserting data
-Time to insert (31000): 19 wallclock secs ( 2.52 usr 3.91 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-Time to delete_big (1): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Running actual benchmark
-Time for wisc_benchmark (114): 9 wallclock secs ( 5.66 usr 1.53 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
-
-Total time: 29 wallclock secs ( 8.19 usr 5.44 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Testing server 'MySQL 3.23.23 beta' at 2000-09-01 3:33:51
+
+Wisconsin benchmark test
+
+Time for create_table (3): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Inserting data
+Time to insert (31000): 18 wallclock secs ( 2.22 usr 3.97 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+Time to delete_big (1): 1 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Running actual benchmark
+Time for wisc_benchmark (114): 9 wallclock secs ( 5.69 usr 1.53 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
+
+Total time: 28 wallclock secs ( 7.91 usr 5.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
diff --git a/sql/ChangeLog b/sql/ChangeLog
index 1dd582e2f36..fe67aca1cc0 100644
--- a/sql/ChangeLog
+++ b/sql/ChangeLog
@@ -1,3 +1,9 @@
+2000-09-01 Michael Widenius <monty@mysql.com>
+
+* Avoid allocation of "localhost" string.
+* Changed that TIMESTAMP(X) is sometimes as string
+* Release of 3.23.23
+
2000-08-21 Michael Widenius <monty@mysql.com>
* Added RENAME TABLE.
diff --git a/sql/field.h b/sql/field.h
index 12a4a48562f..075e0feea96 100644
--- a/sql/field.h
+++ b/sql/field.h
@@ -514,7 +514,7 @@ public:
Field_timestamp(char *ptr_arg, uint32 len_arg,
enum utype unireg_check_arg, const char *field_name_arg,
struct st_table *table_arg);
- enum Item_result result_type () const { return INT_RESULT; }
+ enum Item_result result_type () const { return field_length == 8 || field_length == 14 ? INT_RESULT : STRING_RESULT; }
enum_field_types type() const { return FIELD_TYPE_TIMESTAMP;}
enum ha_base_keytype key_type() const { return HA_KEYTYPE_ULONG_INT; }
void store(const char *to,uint length);
diff --git a/sql/gen_lex_hash.cc b/sql/gen_lex_hash.cc
index 436ab228e9e..1ba8c321ae7 100644
--- a/sql/gen_lex_hash.cc
+++ b/sql/gen_lex_hash.cc
@@ -472,7 +472,7 @@ int main(int argc,char **argv)
int error;
MY_INIT(argv[0]);
- start_value=7223692L; best_t1=2365832L; best_t2=1560117L; best_type=0; /* mode=4519 add=5 func_type: 0 */
+ start_value=2610463L; best_t1=8358376L; best_t2=860646L; best_type=2; /* mode=4111 add=8 func_type: 0 */
if (get_options(argc,(char **) argv))
exit(1);
diff --git a/sql/ha_berkeley.cc b/sql/ha_berkeley.cc
index 652b0045885..f52202a6d70 100644
--- a/sql/ha_berkeley.cc
+++ b/sql/ha_berkeley.cc
@@ -972,7 +972,7 @@ int ha_berkeley::index_read_idx(byte * buf, uint keynr, const byte * key,
statistic_increment(ha_read_key_count,&LOCK_status);
DBUG_ENTER("index_read_idx");
current_row.flags=DB_DBT_REALLOC;
- DBUG_RETURN(read_row(file->get(file, transaction,
+ DBUG_RETURN(read_row(file->get(key_file[keynr], transaction,
pack_key(&last_key, keynr, key_buff, key,
key_len),
&current_row,0),
diff --git a/sql/handler.cc b/sql/handler.cc
index 437b11be5bb..17388267fb9 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -317,8 +317,11 @@ int handler::ha_open(const char *name, int mode, int test_if_locked)
}
if (!error)
{
- if (!(ref=(byte*) alloc_root(&table->mem_root,
- ALIGN_SIZE(ref_length)*2)))
+ if (!alloc_root_inited(&table->mem_root)) // If temporary table
+ ref=sql_alloc(ALIGN_SIZE(ref_length)*2);
+ else
+ ref=(byte*) alloc_root(&table->mem_root, ALIGN_SIZE(ref_length)*2);
+ if (!ref)
{
close();
error=HA_ERR_OUT_OF_MEM;
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h
index 7e372a7ffd1..a7d53b607b9 100644
--- a/sql/mysql_priv.h
+++ b/sql/mysql_priv.h
@@ -426,7 +426,7 @@ void sql_print_error(const char *format,...)
extern char mysql_data_home[2],server_version[50],max_sort_char,
mysql_real_data_home[];
extern my_string mysql_unix_port,mysql_tmpdir;
-extern const char *first_keyword;
+extern const char *first_keyword, *localhost;
extern ulong refresh_version,flush_version, thread_id,query_id,opened_tables,
created_tmp_tables, aborted_threads,aborted_connects,
delayed_insert_timeout,
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 402812948ca..0e10a144830 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -191,6 +191,7 @@ volatile ulong cached_thread_count=0;
// replication parameters, if master_host is not NULL, we are slaving off the master
my_string master_user = (char*) "test", master_password = 0, master_host=0,
master_info_file = (char*) "master.info";
+const char *localhost=LOCAL_HOST;
uint master_port = MYSQL_PORT, master_connect_retry = 60;
ulong max_tmp_tables,max_heap_table_size;
@@ -1981,9 +1982,9 @@ pthread_handler_decl(handle_connections_sockets,arg __attribute__((unused)))
continue;
}
if (!(vio_tmp=vio_new(new_sock,
- new_sock == unix_sock ? VIO_TYPE_SOCKET :
+ sock == unix_sock ? VIO_TYPE_SOCKET :
VIO_TYPE_TCPIP,
- new_sock == unix_sock)) ||
+ sock == unix_sock)) ||
my_net_init(&thd->net,vio_tmp))
{
if (vio_tmp)
@@ -1997,14 +1998,7 @@ pthread_handler_decl(handle_connections_sockets,arg __attribute__((unused)))
continue;
}
if (sock == unix_sock)
- {
- if (!(thd->host=my_strdup(LOCAL_HOST,MYF(0))))
- {
- close_connection(&thd->net,ER_OUT_OF_RESOURCES);
- delete thd;
- continue;
- }
- }
+ thd->host=(char*) localhost;
create_new_thread(thd);
}
@@ -2332,7 +2326,7 @@ CHANGEABLE_VAR changeable_vars[] = {
{ "tmp_table_size", (long*) &tmp_table_size,
1024*1024L, 1024, ~0L, MALLOC_OVERHEAD, 1 },
{ "thread_stack", (long*) &thread_stack,
- 1024*64, 1024*32, ~0L, 0, 1024 },
+ DEFAULT_THREAD_STACK, 1024*32, ~0L, 0, 1024 },
{ "wait_timeout", (long*) &net_wait_timeout,
NET_WAIT_TIMEOUT, 1, ~0L, 0, 1 },
{ NullS, (long*) 0, 0, 0, 0, 0, 0}
diff --git a/sql/share/charsets/latin1.conf b/sql/share/charsets/latin1.conf
index 515b8812d0f..cf974aefa14 100644
--- a/sql/share/charsets/latin1.conf
+++ b/sql/share/charsets/latin1.conf
@@ -68,7 +68,7 @@
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
- 41 41 41 41 41 41 C6 43 45 45 45 45 49 49 49 49
- D0 4E 4F 4F 4F 4F 4F D7 4F 55 55 55 55 59 DE 53
- 41 41 41 41 41 41 C6 43 45 45 45 45 49 49 49 49
- D0 4E 4F 4F 4F 4F 4F F7 4F 55 55 55 55 59 DE 59
+ 41 41 41 41 5C 5B 5C 43 45 45 45 45 49 49 49 49
+ 44 4E 4F 4F 4F 4F 5D D7 D8 55 55 55 59 59 DE DF
+ 41 41 41 41 5C 5B 5C 43 45 45 45 45 49 49 49 49
+ 44 4E 4F 4F 4F 4F 5D F7 D8 55 55 55 59 59 DE FF
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index f2fe6f5fe50..a310ac88421 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -150,7 +150,8 @@ THD::~THD()
DBUG_PRINT("info", ("freeing host"));
- safeFree(host);
+ if (host != localhost) // If not pointer to constant
+ safeFree(host);
safeFree(user);
safeFree(db);
safeFree(ip);
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 3fb96857007..007e90e7ec0 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -180,10 +180,7 @@ check_connections(THD *thd)
#if !defined(HAVE_SYS_UN_H) || defined(HAVE_mit_thread)
/* Fast local hostname resolve for Win32 */
if (!strcmp(thd->ip,"127.0.0.1"))
- {
- if (!(thd->host=my_strdup("localhost",MYF(0))))
- return (ER_OUT_OF_RESOURCES);
- }
+ thd->host=(char*) localhost;
else
#endif
if (!(specialflag & SPECIAL_NO_RESOLVE))
@@ -199,9 +196,9 @@ check_connections(THD *thd)
if (acl_check_host(thd->host,thd->ip))
return(ER_HOST_NOT_PRIVILEGED);
}
- else /* No hostname means that the connection was on a socket */
+ else /* Hostname given means that the connection was on a socket */
{
- DBUG_PRINT("general",("Host: localhost"));
+ DBUG_PRINT("general",("Host: %s",thd->host));
thd->ip=0;
bzero((char*) &thd->remote,sizeof(struct sockaddr));
}
@@ -561,7 +558,7 @@ bool do_command(THD *thd)
{
packet=(char*) net->read_pos;
command = (enum enum_server_command) (uchar) packet[0];
- DBUG_PRINT("general",("Command on socket %s = %d (%s)",
+ DBUG_PRINT("general",("Command on %s = %d (%s)",
vio_description(net->vio), command,
command_name[command]));
}
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index a79531535c7..37aedda10f0 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -2368,6 +2368,7 @@ keyword:
| ESCAPE_SYM {}
| EXTENDED_SYM {}
| FAST_SYM {}
+ | FULL {}
| FILE_SYM {}
| FIRST_SYM {}
| FIXED_SYM {}
diff --git a/sql/violite.c b/sql/violite.c
index 7a1424b6595..b18de053b5a 100644
--- a/sql/violite.c
+++ b/sql/violite.c
@@ -97,7 +97,9 @@ Vio *vio_new(my_socket sd, enum enum_vio_type type, my_bool localhost)
if ((vio = (Vio*) my_malloc(sizeof(*vio),MYF(MY_WME))))
{
vio_reset(vio, type, sd, 0, localhost);
- sprintf(vio->desc, "socket (%d)", vio->sd);
+ sprintf(vio->desc,
+ (vio->type == VIO_TYPE_SOCKET ? "socket (%d)" : "TCP/IP (%d)"),
+ vio->sd);
#if !defined(___WIN__) && !defined(__EMX__)
#if !defined(NO_FCNTL_NONBLOCK)
vio->fcntl_mode = fcntl(sd, F_GETFL);
diff --git a/support-files/Makefile.am b/support-files/Makefile.am
index 9aaff412990..ef37784c985 100644
--- a/support-files/Makefile.am
+++ b/support-files/Makefile.am
@@ -53,6 +53,7 @@ SUFFIXES = .sh
@RM@ -f $@ $@-t
@SED@ \
-e 's!@''bindir''@!$(bindir)!g' \
+ -e 's!@''sbindir''@!$(sbindir)!g' \
-e 's!@''scriptdir''@!$(bindir)!g' \
-e 's!@''prefix''@!$(prefix)!g' \
-e 's!@''datadir''@!$(datadir)!g' \
diff --git a/support-files/PKG/INSTALL.sh b/support-files/PKG/INSTALL.sh
new file mode 100755
index 00000000000..979f33f3f06
--- /dev/null
+++ b/support-files/PKG/INSTALL.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+# search & check GNU patch
+PATCH="gpatch"
+$PATCH --version || PATCH="patch"
+$PATCH --version || exit
+
+
+if /usr/bin/test ! -e PKG/stamp-pre ; then
+ grep VERSION configure | head -1 | sed 's/VERSION=//' > ./PKG/version
+ touch PKG/stamp-pre
+fi
+
+if /usr/bin/test ! -e PKG/stamp-patch ; then
+ ${PATCH} -p0 < ./PKG/patch
+ touch PKG/stamp-patch
+fi
+
+if /usr/bin/test ! -e PKG/stamp-compile ; then
+sh ./PKG/compile.sh ujis
+touch PKG/stamp-compile
+
+sh ./PKG/doc.sh ujis
+
+fi
+
+
+cd PKG
+sh mkpkg.sh ujis
diff --git a/support-files/PKG/compile.sh b/support-files/PKG/compile.sh
new file mode 100644
index 00000000000..5281ccde02d
--- /dev/null
+++ b/support-files/PKG/compile.sh
@@ -0,0 +1,102 @@
+#!/bin/sh
+# GNU ncurses
+
+# search & check GNU make
+GMAKE="gmake"
+$GMAKE --version || GMAKE="make"
+$GMAKE --version || exit
+
+MAKE=$GMAKE
+export MAKE
+
+CC=gcc
+CFLAGS="-O6 -fomit-frame-pointer"
+CXX=gcc
+CXXFLAGS="-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti"
+# LDFLAGS="-static"
+LD=gcc
+
+export CC
+export CXX
+export LD
+export CFLAGS
+export CXXFLAGS
+# export LDFLAGS
+# Solaris don't have libpthread.a.
+
+if [ "x$1" = "x" ]; then
+ echo " please set character set"
+ exit
+fi
+
+CHAR="$1"
+case "$1" in
+ [uU]*)
+ CHAR=ujis
+ ;;
+ [sS]*)
+ CHAR=sjis
+ ;;
+esac
+
+#---------------
+P=`pwd`
+
+if [ -f Makefile ] ; then
+ ${GMAKE} distclean
+fi
+
+for i in bin sbin include man share/doc/mysql mysql-data
+do
+ /usr/bin/mkdir -p PKG/tmp-${CHAR}/usr/local/${i}
+done
+/usr/bin/mkdir -p PKG/tmp-${CHAR}/etc/init.d
+
+#----------------------------
+./configure \
+ --prefix=/usr/local \
+ --libexecdir=/usr/local/sbin \
+ --sbindir=/usr/local/sbin \
+ --localstatedir=/usr/local/mysql-data \
+ --with-charset=${CHAR} \
+ --with-extra-charsets=all \
+ --with-raid \
+ --without-docs \
+ --without-bench \
+ --without-perl \
+ --with-gcc \
+ --with-mysqld-ldflags="-static" \
+ --with-client-ldflags="-static" \
+ --with-named-curses-libs=/usr/local/lib/libncurses.a \
+ --with-mysqld-user=mysql
+
+# --with-berkeley-db-includes=/usr/local/include/db3 \
+# --with-berkeley-db-libs=/usr/local/lib/libdb3.a \
+# --with-low-memory
+
+${GMAKE}
+${GMAKE} install DESTDIR=${P}/PKG/tmp-${CHAR}
+
+v=`grep '^SHARED_LIB_VERSION' configure.in | sed 's@SHARED_LIB_VERSION@@' | sed -e 's@=@@' -e 's@:@ @g' | awk '{print $1}'`
+km="libmysqlclient.so.$v"
+export km
+
+(cd ${P}/PKG/tmp-${CHAR}/usr/local/lib/mysql/ ; \
+ for i in libmysqlclient* ; do \
+ if /usr/bin/test ! -L $i ; then \
+ mv $i ../ ; ln -sf ../$i ; \
+ fi ; \
+ done ; \
+ k=`ls libmysqlclient.so.*.*.*` ; \
+ cd .. ; \
+ if /usr/bin/test ! -z libmysqlclient.so ; then \
+ ln -sf $k libmysqlclient.so ;
+ fi ; \
+ if /usr/bin/test ! -z $km ; then \
+ ln -sf $k $km ;
+ fi ; \
+)
+
+#
+(cd ${P}/PKG/tmp-${CHAR}/usr/local/bin ; strip * )
+(cd ${P}/PKG/tmp-${CHAR}/usr/local/sbin ; strip * )
diff --git a/support-files/PKG/doc.sh b/support-files/PKG/doc.sh
new file mode 100644
index 00000000000..9ef17166a6f
--- /dev/null
+++ b/support-files/PKG/doc.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+CHAR="$1"
+case "$1" in
+ [uU]*)
+ CHAR=ujis
+ ;;
+ [sS]*)
+ CHAR=sjis
+ ;;
+esac
+
+cp -r Docs/* PKG/tmp-${CHAR}/usr/local/share/doc/mysql/
+cp INSTALL-SOURCE* COPYING* MIRRORS README* PKG/tmp-${CHAR}/usr/local/share/doc/mysql/
+
+cd PKG/tmp-${CHAR}/usr/local/share/doc/mysql/
+gzip *.txt *.texi *.info *.pdf
diff --git a/support-files/PKG/mkpkg.sh b/support-files/PKG/mkpkg.sh
new file mode 100644
index 00000000000..5a38113138d
--- /dev/null
+++ b/support-files/PKG/mkpkg.sh
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+if [ "x$1" = "x" ]; then
+ echo " please set charset"
+ exit
+fi
+
+CHAR="$1"
+case "$1" in
+ [uU]*)
+ CHAR=ujis ; CH=uj
+ ;;
+ [sS]*)
+ CHAR=sjis ; CH=sj
+ ;;
+esac
+
+#-------------------
+DIR=`pwd`
+
+VERSION=`cat version`
+
+T=`uname -p`
+
+sed -e "s/@CHAR1@/${CH}/" \
+ -e "s/@CHAR2@/${CHAR}/" \
+ -e "s/@VERSION@/${VERSION}/" \
+ -e "s/@TYPE@/${T}/" \
+ pkginfo.ini > pkginfo.${CHAR}
+
+sed -e "s,@DIR@,${DIR},g" \
+ -e "s,@PKGINFO@,${DIR}/pkginfo.${CHAR}," \
+ prototype.ini > prototype.${CHAR}
+
+INIT="tmp-${CHAR}/etc/init.d/mysql"
+cp ../support-files/mysql.server $INIT
+chmod 755 $INIT
+
+(cd tmp-${CHAR}; \
+chown root etc usr ; \
+chgrp sys etc usr ;\
+chmod 755 usr etc; \
+chgrp sys etc/init.d ; \
+chmod 755 etc/init.d ; \
+find . -print|pkgproto >> ../prototype.${CHAR})
+
+pkgmk -o -f prototype.${CHAR} -r ${DIR}/tmp-${CHAR}
diff --git a/support-files/PKG/patch b/support-files/PKG/patch
new file mode 100644
index 00000000000..373eb8518c6
--- /dev/null
+++ b/support-files/PKG/patch
@@ -0,0 +1,96 @@
+--- scripts/safe_mysqld.sh.orig Sat Sep 2 17:28:26 2000
++++ scripts/safe_mysqld.sh Sat Sep 2 17:31:19 2000
+@@ -89,10 +89,10 @@
+
+
+ NOHUP_NICENESS=`nohup nice`
+-if test $? -ne 0 || test x"$NOHUP_NICENESS" = x0 || test ! nice --1 echo foo > /dev/null 2>&1; then
++if test $? -ne 0 || test x"$NOHUP_NICENESS" = x0 || test ! nice -1 echo foo > /dev/null 2>&1; then
+ NOHUP_NICENESS="nohup"
+ else
+- NOHUP_NICENESS="nice --$NOHUP_NICENESS nohup"
++ NOHUP_NICENESS="nice -$NOHUP_NICENESS nohup"
+ fi
+
+ export MYSQL_UNIX_PORT
+@@ -163,7 +163,8 @@
+ # The only thing is ps x => redhat 5 gives warnings when using ps -x.
+ # kill -9 is used or the process won't react on the kill.
+ numofproces=`ps xa | grep -v "grep" | grep -c $ledir/mysqld`
+- echo -e "\nNumber of processes running now: $numofproces" | tee -a $err_log
++ echo | tee -a $err_log
++ echo "Number of processes running now: $numofproces" | tee -a $err_log
+ I=1
+ while test "$I" -le "$numofproces"
+ do
+@@ -185,4 +186,6 @@
+ echo "`date +'%y%m%d %H:%M:%S mysqld restarted'`" | tee -a $err_log
+ done
+
+-echo -e "`date +'%y%m%d %H:%M:%S mysqld ended\n'`" | tee -a $err_log
++echo | tee -a $err_log
++echo "`date +'%y%m%d %H:%M:%S mysqld ended'`" | tee -a $err_log
++echo | tee -a $err_log
+--- support-files/mysql.server.sh.orig Sat Sep 2 17:35:56 2000
++++ support-files/mysql.server.sh Sat Sep 2 17:36:35 2000
+@@ -23,6 +23,9 @@
+ mysql_daemon_user=@MYSQLD_USER@
+ export PATH
+
++## your options...
++OPT=""
++
+ mode=$1
+
+ if test -w / # determine if we should look at the root config file
+@@ -82,8 +85,9 @@
+ then
+ # Give extra arguments to mysqld with the my.cnf file. This script may
+ # be overwritten at next upgrade.
+- $bindir/safe_mysqld \
+- --user=$mysql_daemon_user --datadir=$datadir --pid-file=$pid_file --log=$log_file &
++ $bindir/safe_mysqld $OPT \
++ --user=$mysql_daemon_user --datadir=$datadir --pid-file=$pid_file &
++# --log=$log_file &
+ else
+ echo "Can't execute $bindir/safe_mysqld"
+ fi
+--- configure.orig Sat Sep 2 17:54:03 2000
++++ configure Sat Sep 2 17:54:18 2000
+@@ -202,7 +202,7 @@
+ --with-charset=CHARSET use CHARSET by default (one of: big5 cp1251 cp1257
+ croat czech danish dec8 dos estonia euc_kr gb2312 gbk
+ german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr
+- latin1 latin2 swe7 usa7 win1250 win1251 win1251ukr
++ latin1 latin2 swe7 usa7 win1250 win1251ukr
+ ujis sjis tis620; default is latin1)"
+ ac_help="$ac_help
+ --with-extra-charsets=cs1,cs2
+@@ -8843,7 +8843,7 @@
+
+ # Choose a character set
+
+-CHARSETS_AVAILABLE="big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gb2312 gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin1 latin2 swe7 usa7 win1250 win1251 win1251ukr ujis sjis tis620"
++CHARSETS_AVAILABLE="big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gb2312 gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin1 latin2 swe7 usa7 win1250 win1251ukr ujis sjis tis620"
+ DEFAULT_CHARSET=latin1
+
+ # Check whether --with-charset or --without-charset was given.
+--- configure.in.orig Sat Sep 2 17:53:57 2000
++++ configure.in Sat Sep 2 17:54:36 2000
+@@ -1517,14 +1517,14 @@
+ dnl or other special handling, you must also create
+ dnl strings/ctype-$charset_name.c
+
+-CHARSETS_AVAILABLE="big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gb2312 gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin1 latin2 swe7 usa7 win1250 win1251 win1251ukr ujis sjis tis620"
++CHARSETS_AVAILABLE="big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gb2312 gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin1 latin2 swe7 usa7 win1250 win1251ukr ujis sjis tis620"
+ DEFAULT_CHARSET=latin1
+
+ AC_ARG_WITH(charset,
+ [ --with-charset=CHARSET use CHARSET by default (one of: big5 cp1251 cp1257
+ croat czech danish dec8 dos estonia euc_kr gb2312 gbk
+ german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr
+- latin1 latin2 swe7 usa7 win1250 win1251 win1251ukr
++ latin1 latin2 swe7 usa7 win1250 win1251ukr
+ ujis sjis tis620; default is latin1)],
+ [default_charset="$withval"],
+ [default_charset="$DEFAULT_CHARSET"])
diff --git a/support-files/PKG/pkginfo.ini b/support-files/PKG/pkginfo.ini
new file mode 100644
index 00000000000..13b8b6adb09
--- /dev/null
+++ b/support-files/PKG/pkginfo.ini
@@ -0,0 +1,8 @@
+PKG=MySQL
+NAME=MySQL
+ARCH=@TYPE@
+VERSION=@VERSION@
+CATEGORY=utility
+VENDOR=TcX DataKonsult AB, Detron HB and MySQL AB
+BASEDIR=/
+CLASSES=none
diff --git a/support-files/PKG/postinstall b/support-files/PKG/postinstall
new file mode 100644
index 00000000000..2e199b9af82
--- /dev/null
+++ b/support-files/PKG/postinstall
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb:/usr/ccs/bin
+LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
+export PATH
+export LD_LIBRARY_PATH
+
+D0="/usr/local/mysql-data"
+D="${D0}/mysql"
+
+DOFIX=0
+
+if /usr/bin/test ! -f ${D}/tables_priv.frm -a -d ${D} ; then
+ DOFIX=1
+fi
+
+if [ ! -d ${D} ]; then
+ DOFIX=2
+ /usr/local/bin/mysql_install_db
+fi
+
+ chown -R mysql $D0
+ chgrp -R mysql $D0
+
+if /usr/bin/test $DOFIX -eq 1 ; then
+ /etc/init.d/mysql start
+ /usr/local/bin/mysql_fix_privilege_tables
+else
+ /etc/init.d/mysql start || true
+fi
diff --git a/support-files/PKG/preinstall b/support-files/PKG/preinstall
new file mode 100644
index 00000000000..c1175561a99
--- /dev/null
+++ b/support-files/PKG/preinstall
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb:/usr/ccs/bin
+LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
+export PATH
+export LD_LIBRARY_PATH
+
+if /usr/bin/test -x /etc/init.d/mysql ; then
+ /etc/init.d/mysql stop || true
+fi
+
+#----- user check
+P=`grep mysql /etc/passwd`
+G=`grep mysql /etc/group`
+
+if /usr/bin/test "x$G" = "x" ; then
+ /usr/sbin/groupadd mysql
+fi
+if /usr/bin/test "x$P" = "x" ; then
+ /usr/sbin/useradd -g mysql -d /usr/local/mysql-data -s /bin/false mysql
+fi
diff --git a/support-files/PKG/preremove b/support-files/PKG/preremove
new file mode 100644
index 00000000000..a89648431c1
--- /dev/null
+++ b/support-files/PKG/preremove
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb:/usr/ccs/bin
+LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
+export PATH
+export LD_LIBRARY_PATH
+
+pid=`/usr/bin/ps -e | /usr/bin/grep mysqld | /usr/bin/sed -e 's/^ *//' -e 's/ .*//'`
+[ "$pid" != "" ] && /usr/local/bin/mysqladmin shutdown
+
+#---
+#/usr/ucb/echo -n "Remove DATA Directory (All data expire) [Y/N]? "
+#read I
+I=No
+
+case "$I" in
+Y*|y*)
+ /usr/ucb/echo -n "Removing MySQL DATA ALL..."
+ rm -rf /usr/local/mysql-data
+ echo "done."
+ ;;
+*)
+ echo "not purge DATA directory"
+ ;;
+esac;
diff --git a/support-files/PKG/prototype.ini b/support-files/PKG/prototype.ini
new file mode 100644
index 00000000000..ca88bb67a90
--- /dev/null
+++ b/support-files/PKG/prototype.ini
@@ -0,0 +1,4 @@
+i pkginfo=@PKGINFO@
+i postinstall=@DIR@/postinstall
+i preinstall=@DIR@/preinstall
+i preremove=@DIR@/preremove
diff --git a/support-files/PKG/version b/support-files/PKG/version
new file mode 100644
index 00000000000..f9dc296b71b
--- /dev/null
+++ b/support-files/PKG/version
@@ -0,0 +1 @@
+3.23.23-beta
diff --git a/support-files/debian/README.debian b/support-files/debian/README.debian
new file mode 100644
index 00000000000..aa6dbaac12e
--- /dev/null
+++ b/support-files/debian/README.debian
@@ -0,0 +1,38 @@
+mysql for DEBIAN
+----------------------
+
+Comments regarding the Package
+
+* about patch files
+ if you want to make new patch,
+ write patch file and put it into debian/patches/.
+ debian/rules do patch debian/patches/* automatically.
+
+* about server packages
+ I use Debian alternative system, to switch next 3 type MySQL server.
+
+ mysql-server :
+ this is static linked MySQL server(/usr/sbin/mysqld-static) and share/mysql/ files.
+ mysql-server-shared:
+ this is dynamic linked MySQL server only. (/usr/sbin/mysqld-shared)
+ mysql-server-debug:
+ --with-debug flag. mysqld only. (/usr/sbin/mysqld-debug)
+
+* about charset
+ I build MySQL server --with-extra-charsets=all
+
+* about location
+ server programs ...... /usr/sbin/
+ share files .......... /usr/share/mysql/
+ client programs ...... /usr/bin/
+ MySQL data directory . /var/mysql/data/
+ benchmark directory .. /var/mysql/sql-bench/
+ socket file ......... /tmp/mysql.sock
+ include files ........ /usr/include/mysql/
+ libraries ........... /usr/lib/ , /usr/lib/mysql/
+ put libmysqlclient* into /usr/lib/ ,
+ others, put /usr/lib/mysql/ .
+
+
+takeshi@SoftAgency.co.jp
+
diff --git a/support-files/debian/changelog b/support-files/debian/changelog
new file mode 100644
index 00000000000..ee32ceb4e74
--- /dev/null
+++ b/support-files/debian/changelog
@@ -0,0 +1,410 @@
+mysql (3.23.23-1potato.2) unstable; urgency=low
+
+ * move patch into debian/patches/
+ if you want to make new patch,
+ write patch file and put it into debian/patches/.
+ debian/rules do patch debian/patches/* automatically.
+ * change debian/rules , debian/move
+
+ -- takeshi <takeshi@softagency.co.jp> Tue, 5 Sep 2000 05:07:35 +0900
+
+mysql (3.23.23-1potato) unstable; urgency=low
+
+ * new
+
+ -- takeshi <takeshi@softagency.co.jp> Sat, 2 Sep 2000 05:07:35 +0900
+
+mysql (3.23.22-1potato) unstable; urgency=low
+
+ * new
+
+ -- takeshi <takeshi@softagency.co.jp> Tue, 1 Aug 2000 05:07:35 +0900
+
+mysql (3.23.21-1potato.2) unstable; urgency=low
+
+ * MYI patch
+ * /usr/lib/mysql/libmysqlclient.a -> /usr/lib/
+ * libmysqlclient patch
+ * fix mysql-dev conflicts libmysqlclient6
+
+ -- takeshi <takeshi@softagency.co.jp> Sun, 30 Jul 2000 05:07:35 +0900
+
+mysql (3.23.21-1potato.1) unstable; urgency=low
+
+ * MYI patch
+ * /usr/lib/mysql/libmysqlclient.a -> /usr/lib/
+
+ -- takeshi <takeshi@softagency.co.jp> Tue, 25 Jul 2000 05:07:35 +0900
+
+mysql (3.23.21-1potato) unstable; urgency=low
+
+ * new
+
+ -- takeshi <takeshi@softagency.co.jp> Thr, 6 Jul 2000 05:07:35 +0900
+
+mysql (3.23.20-1potato) unstable; urgency=low
+
+ * new
+
+ -- takeshi <takeshi@softagency.co.jp> Thr, 29 Jun 2000 05:07:35 +0900
+
+mysql (3.23.19-1potato) unstable; urgency=low
+
+ * new
+
+ -- takeshi <takeshi@softagency.co.jp> Thr, 29 Jun 2000 05:07:35 +0900
+
+mysql (3.23.18-1) unstable; urgency=low
+
+ * new
+
+ -- takeshi <takeshi@softagency.co.jp> Tue, 13 May 2000 05:07:35 +0900
+
+mysql (3.23.17-1) unstable; urgency=low
+
+ * new
+
+ -- takeshi <takeshi@softagency.co.jp> Wed, 31 May 2000 05:07:35 +0900
+
+mysql (3.23.16-1) unstable; urgency=low
+
+ * new
+ * branch static mysqld & shared mysqld
+ * no need ujis,sjis branch. 3.23 support dynamic charset
+ * add conf file /etc/my.cnf
+
+ -- takeshi <takeshi@softagency.co.jp> Wed, 31 May 2000 05:07:35 +0900
+
+mysql (3.22.32-2) unstable; urgency=low
+
+ * fix mysqldump
+ * fix sjis
+
+ -- takeshi <takeshi@softagency.co.jp> Thr, 6 Apr 2000 05:07:35 +0900
+
+mysql (3.22.32-1) unstable; urgency=low
+
+ * new
+
+ -- takeshi <takeshi@softagency.co.jp> Tue, 15 Feb 2000 05:07:35 +0900
+
+mysql (3.22.30-2) unstable; urgency=low
+
+ * fix perl path
+ * with system readline
+
+ -- takeshi <takeshi@softagency.co.jp> Tue, 8 Feb 2000 05:07:35 +0900
+
+mysql (3.22.30-1) unstable; urgency=low
+
+ * new
+ * OOP! debian remove libreadlineg2-dev!
+ --without-readline => --with-readline
+
+ -- takeshi <takeshi@softagency.co.jp> Fri, 14 Jan 2000 05:07:35 +0900
+
+mysql (3.22.29-1) unstable; urgency=low
+
+ * new
+
+ -- takeshi <takeshi@softagency.co.jp> Mon, 3 Jan 2000 05:07:35 +0900
+
+mysql (3.22.29-0bo) unstable; urgency=low
+
+ * new
+
+ -- takeshi <takeshi@softagency.co.jp> Mon, 3 Jan 2000 05:07:35 +0900
+
+mysql (3.22.27-0bo.2) unstable; urgency=low
+
+ * with linuxthread-0.71
+
+ -- takeshi <takeshi@softagency.co.jp> Thr, 9 Dec 1999 05:07:35 +0900
+
+mysql (3.22.27-0bo.1) unstable; urgency=low
+
+ * fix: mysqlaccess incorrect path
+
+ -- takeshi <takeshi@softagency.co.jp> Sat, 13 Nov 1999 05:07:35 +0900
+
+mysql (3.22.27-0bo) unstable; urgency=low
+
+ * sql/sql_parse.cc patch
+
+ -- takeshi <takeshi@softagency.co.jp> Wed, 13 Oct 1999 05:07:35 +0900
+
+mysql (3.22.26a-0bo.1) unstable; urgency=low
+
+ * BLOB SELECT DISTINCT patch
+ * all static linked
+ * fix: @sbindir@ was not changed
+ * mysql_find_rows -> /usr/bin/
+
+ -- takeshi <takeshi@softagency.co.jp> Mon, 20 Sep 1999 05:07:35 +0900
+
+mysql (3.22.26a-0bo) unstable; urgency=low
+
+ * new upstream
+ * fix incorrect path: init.d/mysql (= mysql.server.sh), msql2mysql, mysql_install_db
+ * change daemon user -> mysql
+
+ -- takeshi <takeshi@softagency.co.jp> Mon, 13 Sep 1999 05:07:35 +0900
+
+mysql (3.22.25-0bo) unstable; urgency=low
+
+ * new
+ * change : libmysql6 -> libmysqlclient6
+
+ -- takeshi <takeshi@softagency.co.jp> Tue, 3 Aug 1999 05:07:35 +0900
+
+mysql (3.22.24-0bo) unstable; urgency=low
+
+ * new
+
+ -- takeshi <takeshi@softagency.co.jp> Mon, 25 Jul 1999 05:07:35 +0900
+
+mysql (3.22.23b-0bo.1) unstable; urgency=low
+
+ * new
+ * gcc patch + sql_load patch
+
+ -- takeshi <takeshi@softagency.co.jp> Thr, 24 Jun 1999 05:07:35 +0900
+
+mysql (3.22.23b-0bo) unstable; urgency=low
+
+ * new
+ * gcc patch
+
+ -- takeshi <takeshi@softagency.co.jp> Tue, 15 Jun 1999 05:07:35 +0900
+
+mysql (3.22.22-0bo) unstable; urgency=low
+
+ * new
+
+ -- takeshi <takeshi@softagency.co.jp> Mon, 3 May 1999 05:07:35 +0900
+
+mysql (3.22.21-0bo.1) unstable; urgency=low
+
+ * re-compile
+
+ -- takeshi <takeshi@softagency.co.jp> Fri, 30 Apr 1999 05:07:35 +0900
+
+mysql (3.22.21-0bo) unstable; urgency=low
+
+ * New up stream
+
+ -- takeshi <takeshi@softagency.co.jp> Tue, 6 Apr 1999 05:07:35 +0900
+
+mysql (3.22.20a-0bo) unstable; urgency=low
+
+ * New up stream
+
+ -- takeshi <takeshi@softagency.co.jp> Fri, 19 Mar 1999 05:07:35 +0900
+
+mysql (3.22.19a-0bo) unstable; urgency=low
+
+ * New up stream
+
+ -- takeshi <takeshi@softagency.co.jp> Wed, 3 Mar 1999 05:07:35 +0900
+
+mysql (3.22.18-0bo) unstable; urgency=low
+
+ * New up stream
+
+ -- takeshi <takeshi@softagency.co.jp> Sun, 28 Feb 1999 05:07:35 +0900
+
+mysql (3.22.16a-gamma-0bo.1) unstable; urgency=low
+
+ * fix libmysqlclient5 -> libmysqlclient6
+
+ -- takeshi <takeshi@softagency.co.jp> Thr, 11 Feb 1999 05:07:35 +0900
+
+mysql (3.22.16a-gamma-0bo) unstable; urgency=low
+
+ * new upstream
+
+ -- takeshi <takeshi@softagency.co.jp> Sun, 7 Feb 1999 05:07:35 +0900
+
+mysql (3.22.15-gamma-0bo) unstable; urgency=low
+
+ * new upstream
+
+ -- takeshi <takeshi@softagency.co.jp> Fri, 29 Jan 1999 05:07:35 +0900
+
+mysql (3.22.14b-gamma-0bo) unstable; urgency=low
+
+ * new upstream
+ * apply mb problem patch
+
+ -- takeshi <takeshi@softagency.co.jp> Tue, 26 Jan 1999 05:07:35 +0900
+
+mysql (3.22.14-gamma-0bo.1) unstable; urgency=low
+
+ * egcs -all-static
+
+ -- takeshi <takeshi@softagency.co.jp> Sun, 3 Jan 1999 05:07:35 +0900
+
+mysql (3.22.14-gamma-0bo) unstable; urgency=low
+
+ * New upstream
+
+ -- takeshi <takeshi@softagency.co.jp> Sun, 3 Jan 1999 05:07:35 +0900
+
+mysql (3.22.13-beta-0bo) unstable; urgency=low
+
+ * New upstream
+
+ -- takeshi <takeshi@softagency.co.jp> Fri, 11 Nov 1998 00:29:14 +0900
+
+mysql (3.22.12-beta-0bo) unstable; urgency=low
+
+ * New upstream
+
+ -- takeshi <takeshi@softagency.co.jp> Fri, 11 Nov 1998 00:29:14 +0900
+
+mysql (3.22.11-beta-0bo) unstable; urgency=low
+
+ * New upstream
+ * !!! CHANGE PACKAGE NAME !!!
+ libmysql5 <- only libmysqlclinet.so.5
+ mysql-client <- client commands
+ mysql-server <- server
+ mysql-dev <- .h & .a
+ mysql-doc <- Docs
+ mysql-bench <- benchmark suite.
+
+ -- takeshi <takeshi@softagency.co.jp> Wed, 25 Nov 1998 15:03:45 +0900
+
+mysql (3.22.10-beta-0bo.2) unstable; urgency=low
+
+ * fix debian/rules , debian/*.dirs
+ * gcc-2.7.2.3, g++-2.7.2.1 compiled
+ * remove /usr/bin/mysql-sub/
+ * rename /usr/bin/mysql-sub/replace -> /usr/bin/mysql_replace
+ * mv mysql-base:/usr/bin/mysql-sub/{perror,resolveip} -> mysql-server:/usr/bin/
+ perror -> mysql_perror
+ resolveip-> mysql_resolveip
+ * mv add_*, make_binary_distribution -> /usr/share/mysql/
+ * add japanese errmsg (/usr/share/mysql/japanese)
+
+ -- takeshi <takeshi@softagency.co.jp> Fri, 13 Nov 1998 15:03:45 +0900
+
+mysql (3.22.10-beta-0bo.1) unstable; urgency=low
+
+ * fix debian/rules
+ * egcs compiled
+ * link libstdc++2.8.a (mysqld), so, you don't need libstdc++2.8 for running mysqld.
+ (not client programs.)
+
+ -- takeshi <takeshi@softagency.co.jp> Wed, 11 Nov 1998 15:03:45 +0900
+
+mysql (3.22.10-beta-0bo) unstable; urgency=low
+
+ * New upstream
+ * egcs compiled
+ * fix: mysql-base-{char}/usr/bin/comp_err -> mysql-server-{char}/usr/sbin/comp_err
+
+ -- takeshi <takeshi@softagency.co.jp> Thr, 5 Nov 1998 15:03:45 +0900
+
+mysql (3.22.9-beta-0bo.1) unstable; urgency=low
+
+ * new patch to sql_string.cc ('%' bug)
+
+ -- takeshi <takeshi@softagency.co.jp> Tue, 27 Oct 1998 15:03:45 +0900
+
+mysql (3.22.9-beta-0bo) unstable; urgency=low
+
+ * fix cflags
+ * fix diff files
+ * fix & change categorize of client or server
+ mysql-server:
+ /usr/sbin/mysql_install_db
+ safe_mysqld mysqld
+ isamchk isamlog
+
+ mysql-base:
+ /usr/bin/
+ comp_err msql2mysql mysql mysql_zap
+ mysqlaccess mysqladmin mysqlbug
+ mysqldump mysqlimport mysqlshow
+
+ /usr/bin/mysql-sub/
+ add_file_priv add_func_table
+ add_long_password make_binary_distribution
+ perror replace resolveip
+
+ * patch to sql_string.cc ('%' bug)
+
+ -- takeshi <takeshi@softagency.co.jp> Wed, 7 Oct 1998 15:03:45 +0900
+
+mysql (3.22.8-beta-0bo) unstable; urgency=low
+
+ * New up stream
+
+ -- takeshi <takeshi@softagency.co.jp> Wed, 7 Oct 1998 15:03:45 +0900
+
+mysql (3.22.7b-0bo.1) unstable; urgency=low
+
+ * left join patch
+
+ -- takeshi <takeshi@softagency.co.jp> Thr, 24 Sep 1998 15:03:45 +0900
+
+mysql (3.22.7b-0bo) unstable; urgency=low
+
+ * New upstream version (bo)
+ * mb patch
+ * *.a -> /usr/lib/mysql/
+ * add_file_priv add_func_table make_binary_distribution
+ add_long_password perror replace resolveip
+ -> /usr/bin/mysql-sub/
+ * mysqld, safe_mysqld, mysql_install_db -> mysql-server /usr/sbin/
+ * add '-lm -lz -ldl' when building libmysqlclient.so.4.0.0
+
+ -- takeshi <takeshi@softagency.co.jp> Sat, 15 Aug 1998 15:03:45 +0900
+
+mysql (3.22.4a-0bo) unstable; urgency=low
+
+ * New upstream version (bo)
+ * use system libreadline
+
+ -- takeshi <takeshi@softagency.co.jp> Sat, 15 Aug 1998 15:03:45 +0900
+
+mysql (3.21.33-0bo) unstable; urgency=low
+
+ * New upstream version
+
+ -- takeshi <takeshi@softagency.co.jp> Wed, 22 Jul 1998 12:51:45 +0900
+
+mysql (3.21.30-1) unstable; urgency=low
+
+ * New upstream version
+ * fix conffile setting
+
+ -- takeshi <takeshi@softagency.co.jp> Tue, 12 May 1998 20:24:45 +0900
+
+mysql (3.21.29.gamma-2) unstable; urgency=low
+
+ * charset=ujis,sjis packages
+ * branch mysql-base-* (lib*.so)
+ * /usr/local/mysql/lib/mysql/lib* -> /usr/lib/
+ * /usr/local/mysql/include -> /usr/include
+ * /usr/local/mysql/info -> /usr/info
+ * /usr/local/mysql/man -> /usr/man
+ * /usr/local/mysql/share -> /usr/share
+ * /usr/local/mysql/bin -> /usr/bin
+ * /usr/local/mysql/libexec -> /usr/sbin
+ * /usr/local/mysql/var -> /var/mysql/data
+ * /usr/local/mysql/sql-bench -> /var/mysql/sql-bench
+
+ -- takeshi <takeshi@softagency.co.jp> Fri, 8 May 1998 00:04:45 +0900
+
+mysql (3.21.29.gamma-1) unstable; urgency=low
+
+ * Initial Release.
+
+ -- takeshi <takeshi@softagency.co.jp> Sat, 2 May 1998 03:42:24 +0900
+
+Local variables:
+mode: debian-changelog
+add-log-mailing-address: "takeshi@softagency.co.jp"
+End:
diff --git a/support-files/debian/control b/support-files/debian/control
new file mode 100644
index 00000000000..acd83518412
--- /dev/null
+++ b/support-files/debian/control
@@ -0,0 +1,71 @@
+Source: mysql
+Section: devel
+Priority: extra
+Maintainer: takeshi <takeshi@softagency.co.jp>
+Standards-Version: 2.1.2.2
+
+Package: mysql
+Architecture: all
+Description: mysql
+ Missing
+
+Package: mysql-doc
+Architecture: all
+Description: mysql Documentation (html)
+ MySQL Doc.
+
+Package: libmysqlclient9
+Architecture: any
+Provides: libmysqlclient9
+Description: libmysqlclient.so.9
+ libmysqlclient.so.9
+
+Package: mysql-client
+Architecture: any
+Depends: ${shlibs:Depends}
+Section: devel
+Priority: extra
+Conflicts: mysql-client-ujis, mysql-client-sjis
+Replaces: mysql-base (<< 3.22.11), mysql-base-ujis (<< 3.22.11), mysql-base-sjis (<< 3.22.11), mysql-client-ujis, mysql-client-sjis
+Provides: mysql-client
+Description: mysql clients.
+ MySQL clients programs.
+
+Package: mysql-server
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
+Replaces: mysql-server-sjis, mysql-base (<< 3.22.11), mysql-base-ujis (<< 3.22.11), mysql-base-sjis (<< 3.22.11), mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
+Provides: mysql-server
+Description: MySQL server (static linked)
+ MySQL server. static linked.
+
+Package: mysql-server-shared
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
+Replaces: mysql-server-sjis, mysql-base (<< 3.22.11), mysql-base-ujis (<< 3.22.11), mysql-base-sjis (<< 3.22.11), mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
+Description: MySQL server (dynamic linked)
+ MySQL server. dynamic linked.
+
+Package: mysql-server-debug
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
+Replaces: mysql-server-sjis, mysql-base (<< 3.22.11), mysql-base-ujis (<< 3.22.11), mysql-base-sjis (<< 3.22.11), mysql-server-sjis, mysql-server-ujis, mysql-server (<< 3.23.0)
+Description: MySQL server debug
+ MySQL server. debug
+
+Package: mysql-dev
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: mysql-dev-sjis, mysql-dev-ujis
+Replaces: mysql-dev-sjis, mysql-dev-ujis, libmysqlclient6-ujis, libmysqlclient6-sjis
+Provides: mysql-dev
+Description: MySQL develop suite
+ MySQL develop.
+
+Package: mysql-bench
+Architecture: all
+Description: mysql benchmark suite.
+ MySQL sql-bench files.
diff --git a/support-files/debian/copyright b/support-files/debian/copyright
new file mode 100644
index 00000000000..3e97dbf8358
--- /dev/null
+++ b/support-files/debian/copyright
@@ -0,0 +1,8 @@
+This package was debianized by takeshi@softagency.co.jp on
+Sat, 2 May 1998 03:42:24 +0900.
+
+It was downloaded from
+http://www.mysql.com/
+
+Copyright:
+GPL
diff --git a/support-files/debian/gomi b/support-files/debian/gomi
new file mode 100644
index 00000000000..29afaf50a18
--- /dev/null
+++ b/support-files/debian/gomi
@@ -0,0 +1,25 @@
+Docs/Makefile
+strings/Makefile
+dbug/Makefile
+mysys/Makefile
+extra/Makefile
+regex/Makefile
+isam/Makefile
+heap/Makefile
+merge/Makefile
+sql/Makefile
+sql/share/Makefile
+support-files/binary-configure
+support-files/my-example.cnf
+support-files/mysql-log-rotate
+scripts/add_func_table
+scripts/mysql_setpermisson
+scripts/mysqlbug
+scripts/mysqlhotcopy
+client/my_static.h
+client/mysys_priv.h
+include/my_config.h
+sql/lex_hash.h
+sql-bench/Makefile
+scripts/mysql_config
+libmysql_r/Makefile
diff --git a/support-files/debian/libmysqlclient9.dirs b/support-files/debian/libmysqlclient9.dirs
new file mode 100644
index 00000000000..68457717bd8
--- /dev/null
+++ b/support-files/debian/libmysqlclient9.dirs
@@ -0,0 +1 @@
+usr/lib
diff --git a/support-files/debian/libmysqlclient9.postinst b/support-files/debian/libmysqlclient9.postinst
new file mode 100644
index 00000000000..2d1871b1df6
--- /dev/null
+++ b/support-files/debian/libmysqlclient9.postinst
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+ldconfig
diff --git a/support-files/debian/move b/support-files/debian/move
new file mode 100644
index 00000000000..e134c055fe9
--- /dev/null
+++ b/support-files/debian/move
@@ -0,0 +1,72 @@
+#!/bin/sh
+
+STAMPFILE="debian/stamp-move"
+
+if [ -e $STAMPFILE ]; then
+ exit
+fi
+
+#----------
+CLIENT1="msql2mysql mysql mysql_convert_table_format mysql_find_rows mysql_fix_privilege_tables mysql_setpermission mysql_zap mysqlaccess mysqladmin mysqlbug mysqldump mysqlhotcopy mysqlimport mysqlshow"
+
+# CLIENT2="add_file_priv add_func_table add_long_password make_binary_distribution"
+
+
+
+P=`pwd`
+
+#----------
+for CHAR in build
+do
+ #-----
+ cp -Rpd debian/${CHAR}/usr debian/mysql-server/
+ cp -Rpd debian/${CHAR}-shared/usr/lib/mysql/libmysqlclient.so.* debian/libmysqlclient9/usr/lib/
+
+ #----- mysql-server-shared ---
+ cp -Rpd debian/${CHAR}-shared/usr/sbin/mysqld debian/mysql-server-shared/usr/sbin/mysqld-shared
+
+ #----- mysql-server-debug ---
+ cp -Rpd debian/${CHAR}-debug/usr/sbin/mysqld debian/mysql-server-debug/usr/sbin/mysqld-debug
+
+ #----- mysql-server ---
+ mv debian/mysql-server/usr/sbin/mysqld debian/mysql-server/usr/sbin/mysqld-static
+
+ #----- mysql-client ----
+ cd ${P}/debian/mysql-server/usr/bin/ && mv $CLIENT1 ../../../mysql-client/usr/bin/
+ cd ${P}
+
+ mv -f debian/mysql-server/usr/{man,info} debian/mysql-client/usr/share/
+ mv debian/mysql-server/usr/share/mysql/my-example.cnf debian/mysql-client/usr/share/mysql/
+ mv -f debian/mysql-server/usr/bin/replace debian/mysql-client/usr/bin/mysql_replace
+
+ #----- mysql-server ---
+ mv debian/mysql-server/usr/bin/* debian/mysql-server/usr/sbin/
+ mv debian/mysql-server/usr/sbin/my_print_defaults debian/mysql-server/usr/bin/
+ mv debian/mysql-server/usr/sbin/comp_err debian/mysql-server/usr/bin/
+ mv debian/mysql-server/usr/sbin/perror debian/mysql-server/usr/bin/mysql_perror
+ mv debian/mysql-server/usr/sbin/resolveip debian/mysql-server/usr/bin/mysql_resolveip
+
+ #----- mysql-dev ----
+ cp -Rpd debian/${CHAR}-shared/usr/lib/mysql/libmysqlclient.so debian/mysql-dev/usr/lib/
+ mv debian/mysql-server/usr/include debian/mysql-dev/usr/
+ mv debian/mysql-server/usr/lib/mysql debian/mysql-dev/usr/lib/
+
+ mv debian/mysql-dev/usr/lib/mysql/libmysqlclient.a debian/mysql-dev/usr/lib/
+ (cd debian/mysql-dev/usr/lib/mysql ; ln -sf "../libmysqlclient.a" )
+
+ #-----
+ cp debian/README.debian debian/copyright debian/changelog \
+ debian/mysql-client/usr/share/doc/mysql/
+
+done
+
+
+####################
+### doc
+cp -r COPYING* MIRRORS README* Docs/* debian/mysql-doc/usr/share/doc/mysql/
+
+#### sql-bench
+mv debian/mysql-server/usr/sql-bench \
+ debian/mysql-bench/var/mysql/
+
+touch $STAMPFILE
diff --git a/support-files/debian/my.cnf b/support-files/debian/my.cnf
new file mode 100644
index 00000000000..0c9856ec5a7
--- /dev/null
+++ b/support-files/debian/my.cnf
@@ -0,0 +1,42 @@
+# Example mysql config file.
+# You can copy this to one of:
+# /etc/my.cnf to set global options,
+# mysql-data-dir/my.cnf to set server-specific options (in this
+# installation this directory is @localstatedir@) or
+# ~/.my.cnf to set user-specific options.
+#
+# One can use all long options that the program supports.
+# Run the program with --help to get a list of available options
+
+# This will be passed to all mysql clients
+[client]
+#password = my_password
+#port = 3306
+#socket = /tmp/mysql.sock
+
+# Here is entries for some specific programs
+# The following values assume you have at least 32M ram
+
+# The MySQL server
+[mysqld]
+default-character-set = ujis
+#port = 3306
+#socket = /tmp/mysql.sock
+#skip-locking
+#set-variable = key_buffer=16M
+#set-variable = max_allowed_packet=1M
+#set-variable = thread_stack=128K
+## Start logging
+#log
+
+[mysqldump]
+default-character-set = ujis
+#quick
+#set-variable = max_allowed_packet=16M
+
+[mysql]
+default-character-set = ujis
+#no-auto-rehash
+
+[isamchk]
+#set-variable = key_buffer=16M
diff --git a/support-files/debian/mysql-bench.dirs b/support-files/debian/mysql-bench.dirs
new file mode 100644
index 00000000000..0ba3faa84f9
--- /dev/null
+++ b/support-files/debian/mysql-bench.dirs
@@ -0,0 +1 @@
+var/mysql
diff --git a/support-files/debian/mysql-client.dirs b/support-files/debian/mysql-client.dirs
new file mode 100644
index 00000000000..0ade9d76f65
--- /dev/null
+++ b/support-files/debian/mysql-client.dirs
@@ -0,0 +1,3 @@
+usr/bin
+usr/share/mysql
+usr/share/doc/mysql
diff --git a/support-files/debian/mysql-dev.dirs b/support-files/debian/mysql-dev.dirs
new file mode 100644
index 00000000000..68457717bd8
--- /dev/null
+++ b/support-files/debian/mysql-dev.dirs
@@ -0,0 +1 @@
+usr/lib
diff --git a/support-files/debian/mysql-doc.dirs b/support-files/debian/mysql-doc.dirs
new file mode 100644
index 00000000000..b8aa0f769f9
--- /dev/null
+++ b/support-files/debian/mysql-doc.dirs
@@ -0,0 +1 @@
+usr/share/doc/mysql
diff --git a/support-files/debian/mysql-server-debug.dirs b/support-files/debian/mysql-server-debug.dirs
new file mode 100644
index 00000000000..236670a2d0f
--- /dev/null
+++ b/support-files/debian/mysql-server-debug.dirs
@@ -0,0 +1 @@
+usr/sbin
diff --git a/support-files/debian/mysql-server-debug.postinst b/support-files/debian/mysql-server-debug.postinst
new file mode 100644
index 00000000000..d48c21be9a7
--- /dev/null
+++ b/support-files/debian/mysql-server-debug.postinst
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+update-alternatives --install /usr/sbin/mysqld mysqld /usr/sbin/mysqld-debug 20
diff --git a/support-files/debian/mysql-server-debug.postrm b/support-files/debian/mysql-server-debug.postrm
new file mode 100644
index 00000000000..25c7aadf494
--- /dev/null
+++ b/support-files/debian/mysql-server-debug.postrm
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+update-alternatives --auto mysqld
diff --git a/support-files/debian/mysql-server-shared.dirs b/support-files/debian/mysql-server-shared.dirs
new file mode 100644
index 00000000000..236670a2d0f
--- /dev/null
+++ b/support-files/debian/mysql-server-shared.dirs
@@ -0,0 +1 @@
+usr/sbin
diff --git a/support-files/debian/mysql-server-shared.postinst b/support-files/debian/mysql-server-shared.postinst
new file mode 100644
index 00000000000..00c7248327a
--- /dev/null
+++ b/support-files/debian/mysql-server-shared.postinst
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+update-alternatives --install /usr/sbin/mysqld mysqld /usr/sbin/mysqld-shared 15
diff --git a/support-files/debian/mysql-server-shared.postrm b/support-files/debian/mysql-server-shared.postrm
new file mode 100644
index 00000000000..25c7aadf494
--- /dev/null
+++ b/support-files/debian/mysql-server-shared.postrm
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+update-alternatives --auto mysqld
diff --git a/support-files/debian/mysql-server.conffiles b/support-files/debian/mysql-server.conffiles
new file mode 100644
index 00000000000..5f4599b273c
--- /dev/null
+++ b/support-files/debian/mysql-server.conffiles
@@ -0,0 +1,2 @@
+/etc/init.d/mysql
+/etc/my.cnf
diff --git a/support-files/debian/mysql-server.dirs b/support-files/debian/mysql-server.dirs
new file mode 100644
index 00000000000..067eddeefad
--- /dev/null
+++ b/support-files/debian/mysql-server.dirs
@@ -0,0 +1,2 @@
+etc/init.d
+var/mysql
diff --git a/support-files/debian/mysql-server.postinst b/support-files/debian/mysql-server.postinst
new file mode 100644
index 00000000000..ef2f32dac19
--- /dev/null
+++ b/support-files/debian/mysql-server.postinst
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+update-rc.d mysql defaults 50 >/dev/null
+
+#--------
+update-alternatives --install /usr/sbin/mysqld mysqld /usr/sbin/mysqld-static 10
+
+#--------
+
+DOFIX=0
+if [ ! -e /var/mysql/data/mysql/tables_priv.frm -a -d /var/mysql/data/mysql ]; then
+ DOFIX=1
+fi
+
+#--------
+i=`grep '^mysql:' /etc/group`
+if [ "x${i}" == "x" ]; then
+ groupadd mysql || true
+fi
+
+i=`grep '^mysql:' /etc/passwd`
+if [ "x${i}" == "x" ]; then
+ useradd -g mysql -d /var/mysql/data -s /noexists mysql || true
+fi
+
+#--------
+
+if [ ! -d /var/mysql/data/mysql ]; then
+ install -d /var/mysql/data || true
+ /usr/sbin/mysql_install_db || true
+ chown -R mysql.mysql /var/mysql
+fi
+
+#--------
+/etc/init.d/mysql start || true
+
+if [ $DOFIX -eq 1 ]; then
+ echo "***************************************"
+ echo " Now, fix tables for MySQL 3.22.11...."
+ echo " if you set root passwd, please in..."
+ echo -n " ? MySQL root passwd ? : "
+ read pass dumy
+ /usr/sbin/mysql_fix_privilege_tables $pass
+fi
diff --git a/support-files/debian/mysql-server.postrm b/support-files/debian/mysql-server.postrm
new file mode 100644
index 00000000000..d493a73a04a
--- /dev/null
+++ b/support-files/debian/mysql-server.postrm
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+update-alternatives --auto mysqld
+
+if [ "$1" = "purge" ]
+then
+ update-rc.d mysql remove >/dev/null
+
+ echo -n " Shall I also remove all of the databases (y/N)?"; read ans
+ if [ "$ans" = "y" -o "$ans" = "Y" ]; then
+ rm -rf /var/mysql
+ fi
+fi
diff --git a/support-files/debian/mysql-server.prerm b/support-files/debian/mysql-server.prerm
new file mode 100644
index 00000000000..569739ca00d
--- /dev/null
+++ b/support-files/debian/mysql-server.prerm
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/etc/init.d/mysql stop || true
diff --git a/support-files/debian/patches/aa b/support-files/debian/patches/aa
new file mode 100644
index 00000000000..288197370be
--- /dev/null
+++ b/support-files/debian/patches/aa
@@ -0,0 +1,11 @@
+--- mysql-3.23.23.orig/sql/Makefile.in
++++ mysql-3.23.23/sql/Makefile.in
+@@ -366,7 +366,7 @@
+
+ mysqlbinlog: $(mysqlbinlog_OBJECTS) $(mysqlbinlog_DEPENDENCIES)
+ @rm -f mysqlbinlog
+- $(CXXLINK) $(mysqlbinlog_LDFLAGS) $(mysqlbinlog_OBJECTS) $(mysqlbinlog_LDADD) $(LIBS)
++ $(CXXLINK) $(mysqld_LDFLAGS) $(mysqlbinlog_OBJECTS) $(mysqld_LDADD) $(LIBS)
+
+ mysqld: $(mysqld_OBJECTS) $(mysqld_DEPENDENCIES)
+ @rm -f mysqld
diff --git a/support-files/debian/patches/ab b/support-files/debian/patches/ab
new file mode 100644
index 00000000000..ed6ca58f729
--- /dev/null
+++ b/support-files/debian/patches/ab
@@ -0,0 +1,20 @@
+--- mysql-3.23.23.orig/scripts/Makefile.in
++++ mysql-3.23.23/scripts/Makefile.in
+@@ -337,6 +337,7 @@
+ @RM@ -f $@ $@-t
+ @SED@ \
+ -e 's!@''bindir''@!$(bindir)!g' \
++ -e 's!@''sbindir''@!$(sbindir)!g' \
+ -e 's!@''scriptdir''@!$(bindir)!g' \
+ -e 's!@''prefix''@!$(prefix)!g' \
+ -e 's!@''datadir''@!$(datadir)!g' \
+--- mysql-3.23.23.orig/support-files/Makefile.in
++++ mysql-3.23.23/support-files/Makefile.in
+@@ -308,6 +308,7 @@
+ @RM@ -f $@ $@-t
+ @SED@ \
+ -e 's!@''bindir''@!$(bindir)!g' \
++ -e 's!@''sbindir''@!$(sbindir)!g' \
+ -e 's!@''scriptdir''@!$(bindir)!g' \
+ -e 's!@''prefix''@!$(prefix)!g' \
+ -e 's!@''datadir''@!$(datadir)!g' \
diff --git a/support-files/debian/patches/ac b/support-files/debian/patches/ac
new file mode 100644
index 00000000000..8cc2cd5dff1
--- /dev/null
+++ b/support-files/debian/patches/ac
@@ -0,0 +1,8 @@
+--- mysql-3.23.23.orig/scripts/msql2mysql.sh
++++ mysql-3.23.23/scripts/msql2mysql.sh
+@@ -13,4 +13,4 @@
+ # described in the License. Among other things, the License requires that
+ # the copyright notice and this notice be preserved on all copies.
+
+-@bindir@/replace msqlConnect mysql_connect msqlListDBs mysql_list_dbs msqlNumRows mysql_num_rows msqlFetchRow mysql_fetch_row msqlFetchField mysql_fetch_field msqlFreeResult mysql_free_result msqlListFields mysql_list_fields msqlListTables mysql_list_tables msqlErrMsg 'mysql_error(mysql)' msqlStoreResult mysql_store_result msqlQuery mysql_query msqlField mysql_field msqlSelect mysql_select msqlSelectDB mysql_select_db msqlNumFields mysql_num_fields msqlClose mysql_close msqlDataSeek mysql_data_seek m_field MYSQL_FIELD m_result MYSQL_RES m_row MYSQL_ROW msql mysql mSQL mySQL MSQL MYSQL msqlCreateDB mysql_create_db msqlDropDB mysql_drop_db msqlFieldSeek mysql_field_seek -- $*
++@bindir@/mysql_replace msqlConnect mysql_connect msqlListDBs mysql_list_dbs msqlNumRows mysql_num_rows msqlFetchRow mysql_fetch_row msqlFetchField mysql_fetch_field msqlFreeResult mysql_free_result msqlListFields mysql_list_fields msqlListTables mysql_list_tables msqlErrMsg 'mysql_error(mysql)' msqlStoreResult mysql_store_result msqlQuery mysql_query msqlField mysql_field msqlSelect mysql_select msqlSelectDB mysql_select_db msqlNumFields mysql_num_fields msqlClose mysql_close msqlDataSeek mysql_data_seek m_field MYSQL_FIELD m_result MYSQL_RES m_row MYSQL_ROW msql mysql mSQL mySQL MSQL MYSQL msqlCreateDB mysql_create_db msqlDropDB mysql_drop_db msqlFieldSeek mysql_field_seek -- $*
diff --git a/support-files/debian/patches/ad b/support-files/debian/patches/ad
new file mode 100644
index 00000000000..a90cf669ff6
--- /dev/null
+++ b/support-files/debian/patches/ad
@@ -0,0 +1,52 @@
+--- mysql-3.23.23.orig/scripts/mysql_install_db.sh
++++ mysql-3.23.23/scripts/mysql_install_db.sh
+@@ -11,6 +11,7 @@
+ ldata=@localstatedir@
+ execdir=@libexecdir@
+ bindir=@bindir@
++sbindir=@sbindir@
+ force=0
+ IN_RPM=0
+ defaults=
+@@ -47,6 +48,10 @@
+ then
+ bindir=`grep "^bindir" $conf | sed 's;^[^=]*=[ \t]*;;' | sed 's;[ \t]$;;'`
+ fi
++ if grep "^sbindir" $conf >/dev/null
++ then
++ sbindir=`grep "^sbindir" $conf | sed '.*=[ \t]*//`
++ fi
+ if grep "^user" $conf >/dev/null
+ then
+ user=`grep "^user" $conf | sed 's;^[^=]*=[ \t]*;;' | sed 's;[ \t]$;;'`
+@@ -56,7 +61,7 @@
+ for arg
+ do
+ case "$arg" in
+- --basedir=*) basedir=`echo "$arg"|sed 's;^--basedir=;;'`; bindir="$basedir/bin"; execdir="$basedir/libexec" ;;
++ --basedir=*) basedir=`echo "$arg"|sed 's;^--basedir=;;'`; bindir="$basedir/bin"; sbindir="$basedir/sbin"; execdir="$basedir/libexec" ;;
+ --datadir=*) ldata=`echo "$arg"|sed 's;^--datadir=;;'` ;;
+ --user=*) user=`echo "$arg"|sed 's;^--user=;;'` ;;
+ esac
+@@ -82,10 +87,10 @@
+ # Check if hostname is valid
+ if test "$IN_RPM" -eq 0 -a $force -eq 0
+ then
+- resolved=`$bindir/resolveip $hostname 2>&1`
++ resolved=`$bindir/mysql_resolveip $hostname 2>&1`
+ if [ $? -ne 0 ]
+ then
+- resolved=`$bindir/resolveip localhost 2>&1`
++ resolved=`$bindir/mysql_resolveip localhost 2>&1`
+ if [ $? -eq 0 ]
+ then
+ echo "Sorry, the host '$hostname' could not be looked up."
+@@ -300,7 +305,7 @@
+ if test -z "$IN_RPM"
+ then
+ echo "You can start the MySQL demon with:"
+- echo "cd @prefix@ ; $bindir/safe_mysqld &"
++ echo "cd @prefix@ ; $sbindir/safe_mysqld &"
+ echo
+ echo "You can test the MySQL demon with the benchmarks in the 'sql-bench' directory:"
+ echo "cd sql-bench ; run-all-tests"
diff --git a/support-files/debian/patches/ae b/support-files/debian/patches/ae
new file mode 100644
index 00000000000..d6ccdcfaaf0
--- /dev/null
+++ b/support-files/debian/patches/ae
@@ -0,0 +1,41 @@
+--- mysql-3.23.23.orig/support-files/mysql.server.sh Tue Sep 5 19:13:35 2000
++++ mysql-3.23.23/support-files/mysql.server.sh Tue Sep 5 19:19:40 2000
+@@ -16,6 +16,7 @@
+ PATH=/sbin:/usr/sbin:/bin:/usr/bin
+ basedir=@prefix@
+ bindir=@bindir@
++sbindir=@sbindir@
+ datadir=@localstatedir@
+ pid_file=@localstatedir@/mysqld.pid
+ log_file=@localstatedir@/mysqld.log
+@@ -64,6 +65,10 @@
+ then
+ bindir=`grep "^bindir" $conf | cut -f 2 -d= | tr -d ' '`
+ fi
++ if grep "^sbindir" $conf >/dev/null
++ then
++ sbindir=`grep "^sbindir" $conf | cut -f 2 -d= | tr -d ' '`
++ fi
+ if grep "^log[ \t]*=" $conf >/dev/null
+ then
+ log_file=`grep "log[ \t]*=" $conf | cut -f 2 -d= | tr -d ' '`
+@@ -78,14 +83,15 @@
+ 'start')
+ # Start daemon
+
+- if test -x $bindir/safe_mysqld
++ if test -x $sbindir/safe_mysqld
+ then
+ # Give extra arguments to mysqld with the my.cnf file. This script may
+ # be overwritten at next upgrade.
+- $bindir/safe_mysqld \
+- --user=$mysql_daemon_user --datadir=$datadir --pid-file=$pid_file --log=$log_file &
++ $sbindir/safe_mysqld \
++ --user=$mysql_daemon_user --datadir=$datadir --pid-file=$pid_file &
++# --log=$log_file &
+ else
+- echo "Can't execute $bindir/safe_mysqld"
++ echo "Can't execute $sbindir/safe_mysqld"
+ fi
+ ;;
+
diff --git a/support-files/debian/patches/az b/support-files/debian/patches/az
new file mode 100644
index 00000000000..0795946de32
--- /dev/null
+++ b/support-files/debian/patches/az
@@ -0,0 +1,39 @@
+--- mysql-3.23.23.orig/configure
++++ mysql-3.23.23/configure
+@@ -202,7 +202,7 @@
+ --with-charset=CHARSET use CHARSET by default (one of: big5 cp1251 cp1257
+ croat czech danish dec8 dos estonia euc_kr gb2312 gbk
+ german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr
+- latin1 latin2 swe7 usa7 win1250 win1251 win1251ukr
++ latin1 latin2 swe7 usa7 win1250 win1251ukr
+ ujis sjis tis620; default is latin1)"
+ ac_help="$ac_help
+ --with-extra-charsets=cs1,cs2
+@@ -8843,7 +8843,7 @@
+
+ # Choose a character set
+
+-CHARSETS_AVAILABLE="big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gb2312 gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin1 latin2 swe7 usa7 win1250 win1251 win1251ukr ujis sjis tis620"
++CHARSETS_AVAILABLE="big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gb2312 gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin1 latin2 swe7 usa7 win1250 win1251ukr ujis sjis tis620"
+ DEFAULT_CHARSET=latin1
+
+ # Check whether --with-charset or --without-charset was given.
+--- mysql-3.23.23.orig/configure.in
++++ mysql-3.23.23/configure.in
+@@ -1517,14 +1517,14 @@
+ dnl or other special handling, you must also create
+ dnl strings/ctype-$charset_name.c
+
+-CHARSETS_AVAILABLE="big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gb2312 gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin1 latin2 swe7 usa7 win1250 win1251 win1251ukr ujis sjis tis620"
++CHARSETS_AVAILABLE="big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gb2312 gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin1 latin2 swe7 usa7 win1250 win1251ukr ujis sjis tis620"
+ DEFAULT_CHARSET=latin1
+
+ AC_ARG_WITH(charset,
+ [ --with-charset=CHARSET use CHARSET by default (one of: big5 cp1251 cp1257
+ croat czech danish dec8 dos estonia euc_kr gb2312 gbk
+ german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr
+- latin1 latin2 swe7 usa7 win1250 win1251 win1251ukr
++ latin1 latin2 swe7 usa7 win1250 win1251ukr
+ ujis sjis tis620; default is latin1)],
+ [default_charset="$withval"],
+ [default_charset="$DEFAULT_CHARSET"])
diff --git a/support-files/debian/rules b/support-files/debian/rules
new file mode 100755
index 00000000000..e63f144a655
--- /dev/null
+++ b/support-files/debian/rules
@@ -0,0 +1,169 @@
+#!/usr/bin/make -f
+# Made with the aid of debmake, by Christoph Lameter,
+# based on the sample debian/rules file for GNU hello by Ian Jackson.
+
+package=mysql
+CHARSET=ujis
+TEMPINST=build
+
+#CFLAGS="-O6 -mpentium -mstack-align-double -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentium -mstack-align-double -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static
+
+CC=gcc
+CFLAGS=-O6 -fomit-frame-pointer
+CXX=gcc
+CXXFLAGS=-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti
+# CXXFLAGS=-O6 -fomit-frame-pointer -felide-constructors -fno-rtti
+
+SYSNAME=
+COMMONCONF= --prefix=/usr --libexecdir=/usr/sbin \
+ --localstatedir=/var/mysql/data \
+ --enable-shared \
+ --without-perl --without-readline \
+ --without-docs --without-bench \
+ --with-mysqld-user=mysql \
+ --with-extra-charsets=all
+
+SERVERCONF=$(COMMONCONF) --enable-assembler \
+ --with-raid
+
+# --with-berkeley-db-includes=/usr/include/db3 \
+# --with-berkeley-db-libs=/usr/lib/libdb3.a
+
+STATICCONF=--with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static
+
+CLIENTCONF=$(COMMONCONF) --without-server
+
+##################################################
+patches debian/stamp-patches:
+ -test -e debian/stamp-patches || \
+ for i in `find debian/patches -type f -print` ; do \
+ patch -p1 < $$i ; \
+ done
+ touch debian/stamp-patches
+
+##################################################
+premkdir debian/stamp-premkdir:
+ $(checkdir)
+ -rm -rf debian/tmp debian/$(TEMPINST)*
+ dh_installdirs
+ -install -d debian/$(TEMPINST)/usr/{bin,sbin,share,man,include,info}
+ -install -d debian/$(TEMPINST)-shared/usr/{bin,sbin,share,man,include,info}
+ -install -d debian/$(TEMPINST)-debug/usr/{bin,sbin,share,man,include,info}
+ touch debian/stamp-premkdir
+
+##################################################
+config debian/stamp-config: debian/stamp-premkdir debian/stamp-patches
+ CC=$(CC) CFLAGS="$(CFLAGS)" CXX=$(CXX) CXXFLAGS="$(CXXFLAGS)" \
+ LDFLAGS="-static" \
+ ./configure $(SERVERCONF) $(STATICCONF) \
+ --with-charset=$(CHARSET) \
+ --with-bench \
+ $(SYSNAME)
+# sed 's/-fno-implicit-templates//g' sql/Makefile > .m
+# mv .m sql/Makefile
+ touch debian/stamp-config
+
+##################################################
+build: debian/stamp-config
+ make LDFLAGS="-static"
+ make install DESTDIR=`pwd`/debian/$(TEMPINST)
+ cp include/m_ctype.h `pwd`/debian/$(TEMPINST)/usr/include/mysql/
+ touch build
+
+##################################################
+build-shared debian/stamp-build-shared: debian/stamp-patches
+ -make distclean
+ CC=$(CC) CFLAGS="$(CFLAGS)" CXX=$(CXX) CXXFLAGS="$(CXXFLAGS)" \
+ ./configure $(SERVERCONF) \
+ --with-charset=$(CHARSET) \
+ $(SYSNAME)
+
+# ./configure $(CLIENTCONF)
+
+ make
+ make install DESTDIR=`pwd`/debian/$(TEMPINST)-shared
+
+ touch debian/stamp-build-shared
+
+##################################################
+build-debug debian/stamp-build-debug: debian/stamp-patches
+ -make distclean
+ CC=$(CC) CFLAGS="$(CFLAGS)" CXX=$(CXX) CXXFLAGS="$(CXXFLAGS)" \
+ ./configure $(SERVERCONF) \
+ --with-charset=$(CHARSET) \
+ --with-debug \
+ $(SYSNAME)
+
+# ./configure $(CLIENTCONF)
+
+ make
+ make install DESTDIR=`pwd`/debian/$(TEMPINST)-debug
+
+ touch debian/stamp-build-debug
+
+##################################################
+clean:
+ $(checkdir)
+ -make distclean
+ -test -e debian/stamp-patches && \
+ for i in `find debian/patches -type f -print` ; do \
+ patch -R -p1 < $$i ; \
+ done
+ -rm -rf build debian/stamp-* debian/$(TEMPINST)*
+ -dh_clean
+ -rm -f `find . -name "*~"`
+ -rm -rf debian/tmp debian/files* core
+ -rm -f debian/*substvars
+ -rm -f `cat debian/gomi`
+
+##################################################
+binary-indep: checkroot build
+ $(checkdir)
+# There are no architecture-independent files to be uploaded
+# generated by this package. If there were any they would be
+# made here.
+
+binary-arch: checkroot build debian/stamp-build-shared debian/stamp-build-debug
+ sh debian/move
+
+### init, post*
+ dh_installdeb
+ cp debian/shlibs debian/libmysqlclient9/DEBIAN/
+
+ cp debian/my.cnf debian/mysql-server/etc/
+ cp support-files/mysql.server debian/mysql-server/etc/init.d/mysql ; chmod +x debian/mysql-server/etc/init.d/mysql
+
+### dpkg-xxx
+ dh_compress
+
+ dh_fixperms
+
+ dh_strip
+
+ dh_shlibdeps
+ dh_gencontrol
+
+ dpkg --build debian/libmysqlclient9 ..
+ dpkg --build debian/mysql-client ..
+ dpkg --build debian/mysql-server ..
+ dpkg --build debian/mysql-server-shared ..
+ dpkg --build debian/mysql-server-debug ..
+ dpkg --build debian/mysql-dev ..
+ dpkg --build debian/mysql-bench ..
+ dpkg --build debian/mysql-doc ..
+
+define checkdir
+ test -f debian/rules
+endef
+
+# Below here is fairly generic really
+
+binary: binary-indep binary-arch
+
+##################################################
+checkroot:
+ $(checkdir)
+ test root = "`whoami`"
+
+##################################################
+.PHONY: binary binary-arch binary-indep clean checkroot
diff --git a/support-files/debian/shlibs b/support-files/debian/shlibs
new file mode 100644
index 00000000000..9906c2b605f
--- /dev/null
+++ b/support-files/debian/shlibs
@@ -0,0 +1 @@
+libmysqlclient 9 libmysqlclient9
diff --git a/support-files/mysql.server-sys5.sh b/support-files/mysql.server-sys5.sh
index 4bda51acc4d..4bda51acc4d 100755..100644
--- a/support-files/mysql.server-sys5.sh
+++ b/support-files/mysql.server-sys5.sh
diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh
index f6a75e22fea..9f847467f1e 100644
--- a/support-files/mysql.server.sh
+++ b/support-files/mysql.server.sh
@@ -13,63 +13,61 @@
# chkconfig: 2345 90 90
# description: A very fast and reliable SQL database engine.
+# The following variables are only set for letting mysql.server find things
+# if you want to affect other MySQL variables, you should make your changes
+# in the /etc/my.cnf or other configuration files
+
PATH=/sbin:/usr/sbin:/bin:/usr/bin
basedir=@prefix@
bindir=@bindir@
+sbindir=@sbindir@
datadir=@localstatedir@
pid_file=@localstatedir@/mysqld.pid
-log_file=@localstatedir@/mysqld.log
-# Run mysqld as this user.
-mysql_daemon_user=@MYSQLD_USER@
+
export PATH
mode=$1
-if test -w / # determine if we should look at the root config file
-then # or user config file
- conf=/etc/my.cnf
-else
- conf=$HOME/.my.cnf # Using the users config file
-fi
-
-# The following code tries to get the variables safe_mysqld needs from the
-# config file. This isn't perfect as this ignores groups, but it should
-# work as the options doesn't conflict with anything else.
-
-if test -f "$conf" # Extract those fields we need from config file.
-then
- if grep "^datadir" $conf >/dev/null
- then
- datadir=`grep "^datadir" $conf | cut -f 2 -d= | tr -d ' '`
- fi
- if grep "^user" $conf >/dev/null
- then
- mysql_daemon_user=`grep "^user" $conf | cut -f 2 -d= | tr -d ' ' | head -1`
- fi
- if grep "^pid-file" $conf >/dev/null
- then
- pid_file=`grep "^pid-file" $conf | cut -f 2 -d= | tr -d ' '`
- else
- if test -d "$datadir"
- then
- pid_file=$datadir/`hostname`.pid
- fi
- fi
- if grep "^basedir" $conf >/dev/null
- then
- basedir=`grep "^basedir" $conf | cut -f 2 -d= | tr -d ' '`
- bindir=$basedir/bin
- fi
- if grep "^bindir" $conf >/dev/null
- then
- bindir=`grep "^bindir" $conf | cut -f 2 -d= | tr -d ' '`
- fi
- if grep "^log[ \t]*=" $conf >/dev/null
- then
- log_file=`grep "log[ \t]*=" $conf | cut -f 2 -d= | tr -d ' '`
- fi
-fi
+GetCNF () {
+
+VARIABLES="basedir bindir sbindir datadir pid-file"
+CONFIG_FILES="/etc/my.cnf $basedir/my.cnf $HOME/.my.cnf"
+
+for c in $CONFIG_FILES
+do
+ if [ -f $c ]
+ then
+ #echo "Processing $c..."
+ for v in $VARIABLES
+ do
+ # This method assumes last of duplicate $variable entries will be the
+ # value set ([mysqld])
+ # This could easily be rewritten to gather [xxxxx]-specific entries,
+ # but for now it looks like only the mysqld ones are needed for
+ # server startup scripts
+ eval `sed -n -e '/^$/d' -e '/^#/d' -e 's,[ ],,g' -e '/=/p' $c |\
+ awk -F= -v v=$v '{if ($1 == v) printf ("thevar=\"%s\"\n", $2)}'`
+
+ # it would be easier if the my.cnf and variable values were
+ # all matched, but since they aren't we need to map them here.
+ case $v in
+ pid-file) v=pid_file ;;
+ log) v=log_file ;;
+ esac
+
+ # As long as $thevar isn't blank, use it to set or override current
+ # value
+ [ "$thevar" != "" ] && eval $v=$thevar
+
+ done
+ #else
+ # echo "No $c config file."
+ fi
+done
+}
+# run function to get config values
+GetCNF
# Safeguard (relative paths, core dumps..)
cd $basedir
@@ -83,7 +81,7 @@ case "$mode" in
# Give extra arguments to mysqld with the my.cnf file. This script may
# be overwritten at next upgrade.
$bindir/safe_mysqld \
- --user=$mysql_daemon_user --datadir=$datadir --pid-file=$pid_file --log=$log_file &
+ --datadir=$datadir --pid-file=$pid_file &
else
echo "Can't execute $bindir/safe_mysqld"
fi