Commit 2263e3e5 authored by monty@mashka.mysql.fi's avatar monty@mashka.mysql.fi

Merge with 4.0.14

parents 1279f9b0 6e7a509d
......@@ -3,7 +3,7 @@
path=`dirname $0`
. "$path/SETUP.sh"
extra_flags="$pentium_cflags $debug_cflags -DBIG_TABLES"
extra_flags="$pentium_cflags $debug_cflags"
c_warnings="$c_warnings $debug_extra_warnings"
cxx_warnings="$cxx_warnings $debug_extra_warnings"
extra_configs="$pentium_configs $debug_configs"
......
......@@ -63,6 +63,7 @@ miguel@hegel.br
miguel@hegel.local
miguel@light.
miguel@light.local
miguel@sartre.local
mmatthew@markslaptop.
monty@bitch.mysql.fi
monty@butch.
......@@ -86,6 +87,7 @@ nick@mysql.com
nick@nick.leippe.com
papa@gbichot.local
paul@central.snake.net
paul@ice.local
paul@ice.snake.net
paul@teton.kitebird.com
pem@mysql.com
......
......@@ -38,12 +38,14 @@ $opt_export_only= undef;
$opt_help= $opt_verbose= 0;
$opt_log= undef;
$opt_mail= "";
$opt_revision= undef;
$opt_suffix= "";
$opt_test= undef;
$opt_skip_check= undef;
$opt_skip_manual= undef;
$opt_win_dist= undef;
$version= "unknown";
$major=$minor=$release=0;
GetOptions(
"build-command|b=s",
......@@ -151,6 +153,7 @@ if (!$opt_dry_run)
{
m/^AM_INIT_AUTOMAKE\(mysql, ([1-9]\.[0-9]{1,2}\.[0-9]{1,2}.*)\)/;
$version= $1;
($major, $minor, $release) = split(/\./,$version);
}
&logger("Found version string: $version");
......@@ -220,7 +223,7 @@ if (defined $opt_changelog)
{
if (!$opt_revision)
{
$revision= `bk changes -t -d':REV:' -n $REPO | head -1`;
$revision= `bk changes -t -d':REV:::TAG:' -n $REPO | grep mysql-$major.$minor | head -1 | cut -f1 -d ":"`;
}
else
{
......
......@@ -248,7 +248,8 @@ if ($opt_stage <= 1)
$opt_config_options.= $opt_with_other_libc;
}
check_system("$opt_config_env ./configure --prefix=/usr/local/mysql --with-comment=\"Official MySQL$opt_version_suffix binary\" --with-extra-charsets=complex --with-server-suffix=\"$opt_version_suffix\" --enable-thread-safe-client --enable-local-infile $opt_config_options","Thank you for choosing MySQL");
$prefix="/usr/local/mysql";
check_system("$opt_config_env ./configure --prefix=$prefix --localstatedir=$prefix/data --libexecdir=$prefix/bin --with-comment=\"Official MySQL$opt_version_suffix binary\" --with-extra-charsets=complex --with-server-suffix=\"$opt_version_suffix\" --enable-thread-safe-client --enable-local-infile $opt_config_options","Thank you for choosing MySQL");
if (-d "$pwd/$host/include-mysql")
{
safe_system("cp -r $pwd/$host/include-mysql/* $pwd/$host/$ver/include");
......
......@@ -41,10 +41,10 @@ paper: manual_a4.ps manual_letter.ps $(PDFMANUAL)
# The Makefile contains the previous version so we can not use that
include.texi: ../configure.in
echo "@c This file is autogenerated by the Makefile" > $@
echo -n "@set mysql_version " >> $@
echo -n "@set mysqlversion " >> $@
grep "AM_INIT_AUTOMAKE(mysql, " ../configure.in | \
sed -e 's;AM_INIT_AUTOMAKE(mysql, ;;' -e 's;);;' >> $@
echo -n "@set default_port " >> $@
echo -n "@set defaultport " >> $@
grep "MYSQL_TCP_PORT_DEFAULT=" ../configure.in | \
sed -e 's;MYSQL_TCP_PORT_DEFAULT=;;' >> $@
......@@ -207,7 +207,7 @@ INSTALL-BINARY: mysql.info $(GT)
perl -w $(GT) mysql.info "LGPL license" "Function Index" > $@
../support-files/MacOSX/ReadMe.txt: mysql.info $(GT)
perl -w $(GT) mysql.info "Mac OS X installation" "Netware installation" > $@
perl -w $(GT) mysql.info "Mac OS X installation" "NetWare installation" > $@
# Don't update the files from bitkeeper
%::SCCS/s.%
#!/my/gnu/bin/perl -w -*- perl -*-
#!/usr/bin/perl -w -*- perl -*-
# Generate text files from top directory from the manual.
$from = shift(@ARGV);
$fnode = shift(@ARGV);
$tnode = shift(@ARGV);
open(IN, "$from") || die;
open(IN, "$from") || die "Cannot open $from: $!";
$in = 0;
......@@ -19,7 +19,7 @@ while (<IN>)
}
elsif (/^File: mysql.info/ || (/^/))
{
# Just Skip node begginigs
# Just Skip node beginnings
}
else
{
......@@ -38,3 +38,6 @@ while (<IN>)
}
close(IN);
die "Could not find node \"$tnode\"" if ($in == 1);
exit 0;
[General]
Type=FILELIST
Version=1.00.000
[topdir]
subdir0=<WINDIR>
subdir1=<PROGRAMFILES>
subdir2=<TARGETDIR>
subdir3=USERDEFINED
[<WINDIR>]
DISPLAYTEXT=Windows Operating System
TYPE=TEXTSUBFIXED
subdir0=<WINDIR>\<WINSYSDIR>
[<WINDIR>\<WINSYSDIR>]
DISPLAYTEXT=Windows System Folder
TYPE=TEXTSUBFIXED
[<PROGRAMFILES>]
DISPLAYTEXT=Program Files Folder
TYPE=TEXTSUBFIXED
subdir0=<PROGRAMFILES>\<COMMONFILES>
[<PROGRAMFILES>\<COMMONFILES>]
DISPLAYTEXT=Common Files Folder
TYPE=TEXTSUBFIXED
[<TARGETDIR>]
DISPLAYTEXT=General Application Destination
TYPE=TEXTSUBFIXED
[USERDEFINED]
DISPLAYTEXT=Script-defined Folders
TYPE=USERSTART
[Development]
required0=Servers
SELECTED=Yes
FILENEED=STANDARD
required1=Grant Tables
HTTPLOCATION=
STATUS=Examples, Libraries, Includes and Script files
UNINSTALLABLE=Yes
TARGET=<TARGETDIR>
FTPLOCATION=
VISIBLE=Yes
DESCRIPTION=Examples, Libraries, Includes and Script files
DISPLAYTEXT=Examples, Libraries, Includes and Script files
IMAGE=
DEFSELECTION=Yes
filegroup0=Development
COMMENT=
INCLUDEINBUILD=Yes
INSTALLATION=ALWAYSOVERWRITE
COMPRESSIFSEPARATE=No
MISC=
ENCRYPT=No
DISK=ANYDISK
TARGETDIRCDROM=
PASSWORD=
TARGETHIDDEN=General Application Destination
[Grant Tables]
required0=Servers
SELECTED=Yes
FILENEED=CRITICAL
HTTPLOCATION=
STATUS=The Grant Tables and Core Files
UNINSTALLABLE=Yes
TARGET=<TARGETDIR>
FTPLOCATION=
VISIBLE=Yes
DESCRIPTION=The Grant Tables and Core Files
DISPLAYTEXT=The Grant Tables and Core Files
IMAGE=
DEFSELECTION=Yes
filegroup0=Grant Tables
requiredby0=Development
COMMENT=
INCLUDEINBUILD=Yes
requiredby1=Clients and Tools
INSTALLATION=NEVEROVERWRITE
requiredby2=Documentation
COMPRESSIFSEPARATE=No
MISC=
ENCRYPT=No
DISK=ANYDISK
TARGETDIRCDROM=
PASSWORD=
TARGETHIDDEN=General Application Destination
[Components]
component0=Development
component1=Grant Tables
component2=Servers
component3=Clients and Tools
component4=Documentation
[TopComponents]
component0=Servers
component1=Clients and Tools
component2=Documentation
component3=Development
component4=Grant Tables
[SetupType]
setuptype0=Compact
setuptype1=Typical
setuptype2=Custom
[Clients and Tools]
required0=Servers
SELECTED=Yes
FILENEED=HIGHLYRECOMMENDED
required1=Grant Tables
HTTPLOCATION=
STATUS=The MySQL clients and Maintenance Tools
UNINSTALLABLE=Yes
TARGET=<TARGETDIR>
FTPLOCATION=
VISIBLE=Yes
DESCRIPTION=The MySQL clients and Maintenance Tools
DISPLAYTEXT=The MySQL clients and Maintenance Tools
IMAGE=
DEFSELECTION=Yes
filegroup0=Clients and Tools
COMMENT=
INCLUDEINBUILD=Yes
INSTALLATION=NEWERDATE
COMPRESSIFSEPARATE=No
MISC=
ENCRYPT=No
DISK=ANYDISK
TARGETDIRCDROM=
PASSWORD=
TARGETHIDDEN=General Application Destination
[Servers]
SELECTED=Yes
FILENEED=CRITICAL
HTTPLOCATION=
STATUS=The MySQL Servers
UNINSTALLABLE=Yes
TARGET=<TARGETDIR>
FTPLOCATION=
VISIBLE=Yes
DESCRIPTION=The MySQL Servers
DISPLAYTEXT=The MySQL Servers
IMAGE=
DEFSELECTION=Yes
filegroup0=Servers
requiredby0=Development
COMMENT=
INCLUDEINBUILD=Yes
requiredby1=Grant Tables
INSTALLATION=ALWAYSOVERWRITE
requiredby2=Clients and Tools
requiredby3=Documentation
COMPRESSIFSEPARATE=No
MISC=
ENCRYPT=No
DISK=ANYDISK
TARGETDIRCDROM=
PASSWORD=
TARGETHIDDEN=General Application Destination
[SetupTypeItem-Compact]
Comment=
item0=Grant Tables
item1=Servers
item2=Clients and Tools
item3=Documentation
Descrip=
DisplayText=
[SetupTypeItem-Custom]
Comment=
item0=Development
item1=Grant Tables
item2=Servers
item3=Clients and Tools
Descrip=
item4=Documentation
DisplayText=
[Info]
Type=CompDef
Version=1.00.000
Name=
[SetupTypeItem-Typical]
Comment=
item0=Development
item1=Grant Tables
item2=Servers
item3=Clients and Tools
Descrip=
item4=Documentation
DisplayText=
[Documentation]
required0=Servers
SELECTED=Yes
FILENEED=HIGHLYRECOMMENDED
required1=Grant Tables
HTTPLOCATION=
STATUS=The MySQL Documentation with different formats
UNINSTALLABLE=Yes
TARGET=<TARGETDIR>
FTPLOCATION=
VISIBLE=Yes
DESCRIPTION=The MySQL Documentation with different formats
DISPLAYTEXT=The MySQL Documentation with different formats
IMAGE=
DEFSELECTION=Yes
filegroup0=Documentation
COMMENT=
INCLUDEINBUILD=Yes
INSTALLATION=ALWAYSOVERWRITE
COMPRESSIFSEPARATE=No
MISC=
ENCRYPT=No
DISK=ANYDISK
TARGETDIRCDROM=
PASSWORD=
TARGETHIDDEN=General Application Destination
[<PROGRAMFILES>\<COMMONFILES>]
DISPLAYTEXT=Common Files Folder
TYPE=TEXTSUBFIXED
fulldirectory=
[<WINDIR>\<WINSYSDIR>]
DISPLAYTEXT=Windows System Folder
TYPE=TEXTSUBFIXED
fulldirectory=
[USERDEFINED]
DISPLAYTEXT=Script-defined Folders
TYPE=USERSTART
fulldirectory=
[<PROGRAMFILES>]
DISPLAYTEXT=Program Files Folder
SubDir0=<PROGRAMFILES>\<COMMONFILES>
TYPE=TEXTSUBFIXED
fulldirectory=
[<TARGETDIR>]
DISPLAYTEXT=General Application Destination
TYPE=TEXTSUBFIXED
fulldirectory=
[<WINDIR>]
DISPLAYTEXT=Windows Operating System
SubDir0=<WINDIR>\<WINSYSDIR>
TYPE=TEXTSUBFIXED
fulldirectory=
[TopDir]
SubDir0=<WINDIR>
SubDir1=<PROGRAMFILES>
SubDir2=<TARGETDIR>
SubDir3=USERDEFINED
[General]
Type=FILELIST
Version=1.00.000
[bin]
file15=C:\mysql\bin\pack_isam.exe
file16=C:\mysql\bin\perror.exe
file0=C:\mysql\bin\isamchk.exe
file17=C:\mysql\bin\replace.exe
file1=C:\mysql\bin\myisamchk.exe
file18=C:\mysql\bin\winmysqladmin.cnt
file2=C:\mysql\bin\myisamlog.exe
file19=C:\mysql\bin\winmysqladmin.exe
file3=C:\mysql\bin\myisampack.exe
file4=C:\mysql\bin\mysql.exe
file5=C:\mysql\bin\mysqladmin.exe
file6=C:\mysql\bin\mysqlbinlog.exe
file7=C:\mysql\bin\mysqlc.exe
file8=C:\mysql\bin\mysqlcheck.exe
file9=C:\mysql\bin\mysqldump.exe
file20=C:\mysql\bin\WINMYSQLADMIN.HLP
file21=C:\mysql\bin\cygwinb19.dll
file10=C:\mysql\bin\mysqlimport.exe
fulldirectory=
file22=C:\mysql\bin\libmySQL.dll
file11=C:\mysql\bin\MySqlManager.exe
file23=C:\mysql\bin\my_print_defaults.exe
file12=C:\mysql\bin\mysqlshow.exe
file24=C:\mysql\bin\comp-err.exe
file13=C:\mysql\bin\mysqlshutdown.exe
file14=C:\mysql\bin\mysqlwatch.exe
[TopDir]
SubDir0=bin
[General]
Type=FILELIST
Version=1.00.000
[FileGroups]
group0=Development
group1=Grant Tables
group2=Servers
group3=Clients and Tools
group4=Documentation
[Development]
SELFREGISTERING=No
HTTPLOCATION=
LANGUAGE=
OPERATINGSYSTEM=
FTPLOCATION=
FILETYPE=No
INFOTYPE=Standard
COMMENT=
COMPRESS=Yes
COMPRESSDLL=
POTENTIALLY=No
MISC=
[Grant Tables]
SELFREGISTERING=No
HTTPLOCATION=
LANGUAGE=
OPERATINGSYSTEM=
FTPLOCATION=
FILETYPE=No
INFOTYPE=Standard
COMMENT=
COMPRESS=Yes
COMPRESSDLL=
POTENTIALLY=No
MISC=
[Clients and Tools]
SELFREGISTERING=No
HTTPLOCATION=
LANGUAGE=
OPERATINGSYSTEM=0000000000000000
FTPLOCATION=
FILETYPE=No
INFOTYPE=Standard
COMMENT=
COMPRESS=Yes
COMPRESSDLL=
POTENTIALLY=No
MISC=
[Servers]
SELFREGISTERING=No
HTTPLOCATION=
LANGUAGE=
OPERATINGSYSTEM=
FTPLOCATION=
FILETYPE=No
INFOTYPE=Standard
COMMENT=
COMPRESS=Yes
COMPRESSDLL=
POTENTIALLY=No
MISC=
[Info]
Type=FileGrp
Version=1.00.000
Name=
[Documentation]
SELFREGISTERING=No
HTTPLOCATION=
LANGUAGE=
OPERATINGSYSTEM=
FTPLOCATION=
FILETYPE=No
INFOTYPE=Standard
COMMENT=
COMPRESS=Yes
COMPRESSDLL=
POTENTIALLY=No
MISC=
[bench\Data\Wisconsin]
file0=C:\mysql\bench\Data\Wisconsin\onek.data
file1=C:\mysql\bench\Data\Wisconsin\tenk.data
fulldirectory=
[lib\debug]
file0=C:\mysql\lib\debug\libmySQL.dll
file1=C:\mysql\lib\debug\libmySQL.lib
file2=C:\mysql\lib\debug\mysqlclient.lib
file3=C:\mysql\lib\debug\zlib.lib
fulldirectory=
[bench\output]
fulldirectory=
[examples\libmysqltest]
file0=C:\mysql\examples\libmysqltest\myTest.c
file1=C:\mysql\examples\libmysqltest\myTest.dsp
file2=C:\mysql\examples\libmysqltest\myTest.dsw
file3=C:\mysql\examples\libmysqltest\myTest.exe
file4=C:\mysql\examples\libmysqltest\myTest.mak
file5=C:\mysql\examples\libmysqltest\myTest.ncb
file6=C:\mysql\examples\libmysqltest\myTest.opt
file7=C:\mysql\examples\libmysqltest\readme
fulldirectory=
[include]
file0=C:\mysql\include\raid.h
file1=C:\mysql\include\errmsg.h
file2=C:\mysql\include\Libmysql.def
file3=C:\mysql\include\m_ctype.h
file4=C:\mysql\include\m_string.h
file5=C:\mysql\include\my_list.h
file6=C:\mysql\include\my_pthread.h
file7=C:\mysql\include\my_sys.h
file8=C:\mysql\include\mysql.h
file9=C:\mysql\include\mysql_com.h
file10=C:\mysql\include\mysql_version.h
fulldirectory=
file11=C:\mysql\include\mysqld_error.h
file12=C:\mysql\include\dbug.h
file13=C:\mysql\include\my_global.h
file14=C:\mysql\include\config-win.h
[examples]
SubDir0=examples\libmysqltest
SubDir1=examples\tests
fulldirectory=
[lib\opt]
file0=C:\mysql\lib\opt\libmySQL.dll
file1=C:\mysql\lib\opt\libmySQL.lib
file2=C:\mysql\lib\opt\mysqlclient.lib
file3=C:\mysql\lib\opt\zlib.lib
fulldirectory=
[bench\Data]
SubDir0=bench\Data\ATIS
SubDir1=bench\Data\Wisconsin
fulldirectory=
[bench\limits]
file15=C:\mysql\bench\limits\pg.comment
file16=C:\mysql\bench\limits\solid.cfg
file0=C:\mysql\bench\limits\access.cfg
file17=C:\mysql\bench\limits\solid-nt4.cfg
file1=C:\mysql\bench\limits\access.comment
file18=C:\mysql\bench\limits\sybase.cfg
file2=C:\mysql\bench\limits\Adabas.cfg
file3=C:\mysql\bench\limits\Adabas.comment
file4=C:\mysql\bench\limits\Db2.cfg
file5=C:\mysql\bench\limits\empress.cfg
file6=C:\mysql\bench\limits\empress.comment
file7=C:\mysql\bench\limits\Informix.cfg
file8=C:\mysql\bench\limits\Informix.comment
file9=C:\mysql\bench\limits\msql.cfg
file10=C:\mysql\bench\limits\ms-sql.cfg
fulldirectory=
file11=C:\mysql\bench\limits\Ms-sql65.cfg
file12=C:\mysql\bench\limits\mysql.cfg
file13=C:\mysql\bench\limits\oracle.cfg
file14=C:\mysql\bench\limits\pg.cfg
[TopDir]
SubDir0=bench
SubDir1=examples
SubDir2=include
SubDir3=lib
SubDir4=scripts
[bench]
file15=C:\mysql\bench\test-create
file16=C:\mysql\bench\test-insert
file0=C:\mysql\bench\uname.bat
file17=C:\mysql\bench\test-select
file1=C:\mysql\bench\compare-results
file18=C:\mysql\bench\test-wisconsin
file2=C:\mysql\bench\copy-db
file19=C:\mysql\bench\bench-init.pl
file3=C:\mysql\bench\crash-me
file4=C:\mysql\bench\example.bat
file5=C:\mysql\bench\print-limit-table
file6=C:\mysql\bench\pwd.bat
file7=C:\mysql\bench\Readme
SubDir0=bench\Data
file8=C:\mysql\bench\run.bat
SubDir1=bench\limits
file9=C:\mysql\bench\run-all-tests
SubDir2=bench\output
file10=C:\mysql\bench\server-cfg
fulldirectory=
file11=C:\mysql\bench\test-alter-table
file12=C:\mysql\bench\test-ATIS
file13=C:\mysql\bench\test-big-tables
file14=C:\mysql\bench\test-connect
[examples\tests]
file15=C:\mysql\examples\tests\lock_test.res
file16=C:\mysql\examples\tests\mail_to_db.pl
file0=C:\mysql\examples\tests\unique_users.tst
file17=C:\mysql\examples\tests\table_types.pl
file1=C:\mysql\examples\tests\auto_increment.tst
file18=C:\mysql\examples\tests\test_delayed_insert.pl
file2=C:\mysql\examples\tests\big_record.pl
file19=C:\mysql\examples\tests\udf_test
file3=C:\mysql\examples\tests\big_record.res
file4=C:\mysql\examples\tests\czech-sorting
file5=C:\mysql\examples\tests\deadlock-script.pl
file6=C:\mysql\examples\tests\export.pl
file7=C:\mysql\examples\tests\fork_test.pl
file8=C:\mysql\examples\tests\fork2_test.pl
file9=C:\mysql\examples\tests\fork3_test.pl
file20=C:\mysql\examples\tests\udf_test.res
file21=C:\mysql\examples\tests\auto_increment.res
file10=C:\mysql\examples\tests\function.res
fulldirectory=
file11=C:\mysql\examples\tests\function.tst
file12=C:\mysql\examples\tests\grant.pl
file13=C:\mysql\examples\tests\grant.res
file14=C:\mysql\examples\tests\lock_test.pl
[bench\Data\ATIS]
file26=C:\mysql\bench\Data\ATIS\stop1.txt
file15=C:\mysql\bench\Data\ATIS\flight_class.txt
file27=C:\mysql\bench\Data\ATIS\time_interval.txt
file16=C:\mysql\bench\Data\ATIS\flight_day.txt
file0=C:\mysql\bench\Data\ATIS\transport.txt
file28=C:\mysql\bench\Data\ATIS\time_zone.txt
file17=C:\mysql\bench\Data\ATIS\flight_fare.txt
file1=C:\mysql\bench\Data\ATIS\airline.txt
file29=C:\mysql\bench\Data\ATIS\aircraft.txt
file18=C:\mysql\bench\Data\ATIS\food_service.txt
file2=C:\mysql\bench\Data\ATIS\airport.txt
file19=C:\mysql\bench\Data\ATIS\ground_service.txt
file3=C:\mysql\bench\Data\ATIS\airport_service.txt
file4=C:\mysql\bench\Data\ATIS\city.txt
file5=C:\mysql\bench\Data\ATIS\class_of_service.txt
file6=C:\mysql\bench\Data\ATIS\code_description.txt
file7=C:\mysql\bench\Data\ATIS\compound_class.txt
file8=C:\mysql\bench\Data\ATIS\connect_leg.txt
file9=C:\mysql\bench\Data\ATIS\date_day.txt
file20=C:\mysql\bench\Data\ATIS\month_name.txt
file21=C:\mysql\bench\Data\ATIS\restrict_carrier.txt
file10=C:\mysql\bench\Data\ATIS\day_name.txt
fulldirectory=
file22=C:\mysql\bench\Data\ATIS\restrict_class.txt
file11=C:\mysql\bench\Data\ATIS\dual_carrier.txt
file23=C:\mysql\bench\Data\ATIS\restriction.txt
file12=C:\mysql\bench\Data\ATIS\fare.txt
file24=C:\mysql\bench\Data\ATIS\state.txt
file13=C:\mysql\bench\Data\ATIS\fconnection.txt
file25=C:\mysql\bench\Data\ATIS\stop.txt
file14=C:\mysql\bench\Data\ATIS\flight.txt
[General]
Type=FILELIST
Version=1.00.000
[scripts]
file0=C:\mysql\scripts\mysql_find_rows.pl
file1=C:\mysql\scripts\mysql_setpermission.pl
file2=C:\mysql\scripts\mysqlhotcopy.pl
file3=C:\mysql\scripts\Readme
fulldirectory=
[lib]
file0=C:\mysql\lib\Readme
SubDir0=lib\debug
SubDir1=lib\opt
fulldirectory=
[Docs\Flags]
file59=C:\mysql\Docs\Flags\romania.gif
file48=C:\mysql\Docs\Flags\kroatia.eps
file37=C:\mysql\Docs\Flags\iceland.gif
file26=C:\mysql\Docs\Flags\france.eps
file15=C:\mysql\Docs\Flags\china.gif
file49=C:\mysql\Docs\Flags\kroatia.gif
file38=C:\mysql\Docs\Flags\ireland.eps
file27=C:\mysql\Docs\Flags\france.gif
file16=C:\mysql\Docs\Flags\croatia.eps
file0=C:\mysql\Docs\Flags\usa.gif
file39=C:\mysql\Docs\Flags\ireland.gif
file28=C:\mysql\Docs\Flags\germany.eps
file17=C:\mysql\Docs\Flags\croatia.gif
file1=C:\mysql\Docs\Flags\argentina.gif
file29=C:\mysql\Docs\Flags\germany.gif
file18=C:\mysql\Docs\Flags\czech-republic.eps
file2=C:\mysql\Docs\Flags\australia.eps
file19=C:\mysql\Docs\Flags\czech-republic.gif
file3=C:\mysql\Docs\Flags\australia.gif
file80=C:\mysql\Docs\Flags\usa.eps
file4=C:\mysql\Docs\Flags\austria.eps
file81=C:\mysql\Docs\Flags\argentina.eps
file70=C:\mysql\Docs\Flags\spain.eps
file5=C:\mysql\Docs\Flags\austria.gif
file71=C:\mysql\Docs\Flags\spain.gif
file60=C:\mysql\Docs\Flags\russia.eps
file6=C:\mysql\Docs\Flags\brazil.eps
file72=C:\mysql\Docs\Flags\sweden.eps
file61=C:\mysql\Docs\Flags\russia.gif
file50=C:\mysql\Docs\Flags\latvia.eps
file7=C:\mysql\Docs\Flags\brazil.gif
file73=C:\mysql\Docs\Flags\sweden.gif
file62=C:\mysql\Docs\Flags\singapore.eps
file51=C:\mysql\Docs\Flags\latvia.gif
file40=C:\mysql\Docs\Flags\island.eps
file8=C:\mysql\Docs\Flags\bulgaria.eps
file74=C:\mysql\Docs\Flags\switzerland.eps
file63=C:\mysql\Docs\Flags\singapore.gif
file52=C:\mysql\Docs\Flags\netherlands.eps
file41=C:\mysql\Docs\Flags\island.gif
file30=C:\mysql\Docs\Flags\great-britain.eps
file9=C:\mysql\Docs\Flags\bulgaria.gif
file75=C:\mysql\Docs\Flags\switzerland.gif
file64=C:\mysql\Docs\Flags\south-africa.eps
file53=C:\mysql\Docs\Flags\netherlands.gif
file42=C:\mysql\Docs\Flags\israel.eps
file31=C:\mysql\Docs\Flags\great-britain.gif
file20=C:\mysql\Docs\Flags\denmark.eps
file76=C:\mysql\Docs\Flags\taiwan.eps
file65=C:\mysql\Docs\Flags\south-africa.gif
file54=C:\mysql\Docs\Flags\poland.eps
file43=C:\mysql\Docs\Flags\israel.gif
file32=C:\mysql\Docs\Flags\greece.eps
file21=C:\mysql\Docs\Flags\denmark.gif
file10=C:\mysql\Docs\Flags\canada.eps
fulldirectory=
file77=C:\mysql\Docs\Flags\taiwan.gif
file66=C:\mysql\Docs\Flags\south-africa1.eps
file55=C:\mysql\Docs\Flags\poland.gif
file44=C:\mysql\Docs\Flags\italy.eps
file33=C:\mysql\Docs\Flags\greece.gif
file22=C:\mysql\Docs\Flags\estonia.eps
file11=C:\mysql\Docs\Flags\canada.gif
file78=C:\mysql\Docs\Flags\ukraine.eps
file67=C:\mysql\Docs\Flags\south-africa1.gif
file56=C:\mysql\Docs\Flags\portugal.eps
file45=C:\mysql\Docs\Flags\italy.gif
file34=C:\mysql\Docs\Flags\hungary.eps
file23=C:\mysql\Docs\Flags\estonia.gif
file12=C:\mysql\Docs\Flags\chile.eps
file79=C:\mysql\Docs\Flags\ukraine.gif
file68=C:\mysql\Docs\Flags\south-korea.eps
file57=C:\mysql\Docs\Flags\portugal.gif
file46=C:\mysql\Docs\Flags\japan.eps
file35=C:\mysql\Docs\Flags\hungary.gif
file24=C:\mysql\Docs\Flags\finland.eps
file13=C:\mysql\Docs\Flags\chile.gif
file69=C:\mysql\Docs\Flags\south-korea.gif
file58=C:\mysql\Docs\Flags\romania.eps
file47=C:\mysql\Docs\Flags\japan.gif
file36=C:\mysql\Docs\Flags\iceland.eps
file25=C:\mysql\Docs\Flags\finland.gif
file14=C:\mysql\Docs\Flags\china.eps
[Docs]
file0=C:\mysql\Docs\manual_toc.html
file1=C:\mysql\Docs\manual.html
file2=C:\mysql\Docs\manual.txt
SubDir0=Docs\Flags
fulldirectory=
[TopDir]
SubDir0=Docs
[General]
Type=FILELIST
Version=1.00.000
[data\test]
fulldirectory=
[data\mysql]
file15=C:\mysql\data\mysql\func.frm
file16=C:\mysql\data\mysql\func.MYD
file0=C:\mysql\data\mysql\columns_priv.frm
file17=C:\mysql\data\mysql\func.MYI
file1=C:\mysql\data\mysql\columns_priv.MYD
file2=C:\mysql\data\mysql\columns_priv.MYI
file3=C:\mysql\data\mysql\db.frm
file4=C:\mysql\data\mysql\db.MYD
file5=C:\mysql\data\mysql\db.MYI
file6=C:\mysql\data\mysql\host.frm
file7=C:\mysql\data\mysql\host.MYD
file8=C:\mysql\data\mysql\host.MYI
file9=C:\mysql\data\mysql\tables_priv.frm
file10=C:\mysql\data\mysql\tables_priv.MYD
fulldirectory=
file11=C:\mysql\data\mysql\tables_priv.MYI
file12=C:\mysql\data\mysql\user.frm
file13=C:\mysql\data\mysql\user.MYD
file14=C:\mysql\data\mysql\user.MYI
[TopDir]
SubDir0=data
[data]
SubDir0=data\mysql
SubDir1=data\test
fulldirectory=
[General]
Type=FILELIST
Version=1.00.000
[share\polish]
file0=C:\mysql\share\polish\errmsg.sys
file1=C:\mysql\share\polish\errmsg.txt
fulldirectory=
[share\dutch]
file0=C:\mysql\share\dutch\errmsg.sys
file1=C:\mysql\share\dutch\errmsg.txt
fulldirectory=
[share\spanish]
file0=C:\mysql\share\spanish\errmsg.sys
file1=C:\mysql\share\spanish\errmsg.txt
fulldirectory=
[share\english]
file0=C:\mysql\share\english\errmsg.sys
file1=C:\mysql\share\english\errmsg.txt
fulldirectory=
[bin]
file0=C:\mysql\bin\mysqld-opt.exe
file1=C:\mysql\bin\mysqld-max.exe
file2=C:\mysql\bin\mysqld-max-nt.exe
file3=C:\mysql\bin\mysqld-nt.exe
file4=C:\mysql\bin\mysqld.exe
fulldirectory=
[share\korean]
file0=C:\mysql\share\korean\errmsg.sys
file1=C:\mysql\share\korean\errmsg.txt
fulldirectory=
[share\charsets]
file15=C:\mysql\share\charsets\latin1.conf
file16=C:\mysql\share\charsets\latin2.conf
file0=C:\mysql\share\charsets\win1251ukr.conf
file17=C:\mysql\share\charsets\latin5.conf
file1=C:\mysql\share\charsets\cp1257.conf
file18=C:\mysql\share\charsets\Readme
file2=C:\mysql\share\charsets\croat.conf
file19=C:\mysql\share\charsets\swe7.conf
file3=C:\mysql\share\charsets\danish.conf
file4=C:\mysql\share\charsets\dec8.conf
file5=C:\mysql\share\charsets\dos.conf
file6=C:\mysql\share\charsets\estonia.conf
file7=C:\mysql\share\charsets\german1.conf
file8=C:\mysql\share\charsets\greek.conf
file9=C:\mysql\share\charsets\hebrew.conf
file20=C:\mysql\share\charsets\usa7.conf
file21=C:\mysql\share\charsets\win1250.conf
file10=C:\mysql\share\charsets\hp8.conf
fulldirectory=
file22=C:\mysql\share\charsets\win1251.conf
file11=C:\mysql\share\charsets\hungarian.conf
file23=C:\mysql\share\charsets\cp1251.conf
file12=C:\mysql\share\charsets\Index
file13=C:\mysql\share\charsets\koi8_ru.conf
file14=C:\mysql\share\charsets\koi8_ukr.conf
[share\ukrainian]
file0=C:\mysql\share\ukrainian\errmsg.sys
file1=C:\mysql\share\ukrainian\errmsg.txt
fulldirectory=
[share\hungarian]
file0=C:\mysql\share\hungarian\errmsg.sys
file1=C:\mysql\share\hungarian\errmsg.txt
fulldirectory=
[share\german]
file0=C:\mysql\share\german\errmsg.sys
file1=C:\mysql\share\german\errmsg.txt
fulldirectory=
[share\portuguese]
file0=C:\mysql\share\portuguese\errmsg.sys
file1=C:\mysql\share\portuguese\errmsg.txt
fulldirectory=
[share\estonian]
file0=C:\mysql\share\estonian\errmsg.sys
file1=C:\mysql\share\estonian\errmsg.txt
fulldirectory=
[share\romanian]
file0=C:\mysql\share\romanian\errmsg.sys
file1=C:\mysql\share\romanian\errmsg.txt
fulldirectory=
[share\french]
file0=C:\mysql\share\french\errmsg.sys
file1=C:\mysql\share\french\errmsg.txt
fulldirectory=
[share\swedish]
file0=C:\mysql\share\swedish\errmsg.sys
file1=C:\mysql\share\swedish\errmsg.txt
fulldirectory=
[share\slovak]
file0=C:\mysql\share\slovak\errmsg.sys
file1=C:\mysql\share\slovak\errmsg.txt
fulldirectory=
[share\greek]
file0=C:\mysql\share\greek\errmsg.sys
file1=C:\mysql\share\greek\errmsg.txt
fulldirectory=
[TopDir]
file0=C:\mysql\mysqlbug.txt
file1=C:\mysql\my-small.cnf
file2=C:\mysql\my-large.cnf
file3=C:\mysql\my-medium.cnf
file4=C:\mysql\my-huge.cnf
SubDir0=bin
SubDir1=share
[share]
SubDir8=share\hungarian
SubDir9=share\charsets
SubDir20=share\spanish
SubDir21=share\swedish
SubDir10=share\italian
SubDir22=share\ukrainian
SubDir11=share\japanese
SubDir12=share\korean
SubDir13=share\norwegian
SubDir14=share\norwegian-ny
SubDir15=share\polish
SubDir16=share\portuguese
SubDir0=share\czech
SubDir17=share\romanian
SubDir1=share\danish
SubDir18=share\russian
SubDir2=share\dutch
SubDir19=share\slovak
SubDir3=share\english
fulldirectory=
SubDir4=share\estonian
SubDir5=share\french
SubDir6=share\german
SubDir7=share\greek
[share\norwegian-ny]
file0=C:\mysql\share\norwegian-ny\errmsg.sys
file1=C:\mysql\share\norwegian-ny\errmsg.txt
fulldirectory=
[share\danish]
file0=C:\mysql\share\danish\errmsg.sys
file1=C:\mysql\share\danish\errmsg.txt
fulldirectory=
[share\czech]
file0=C:\mysql\share\czech\errmsg.sys
file1=C:\mysql\share\czech\errmsg.txt
fulldirectory=
[General]
Type=FILELIST
Version=1.00.000
[share\russian]
file0=C:\mysql\share\russian\errmsg.sys
file1=C:\mysql\share\russian\errmsg.txt
fulldirectory=
[share\norwegian]
file0=C:\mysql\share\norwegian\errmsg.sys
file1=C:\mysql\share\norwegian\errmsg.txt
fulldirectory=
[share\japanese]
file0=C:\mysql\share\japanese\errmsg.sys
file1=C:\mysql\share\japanese\errmsg.txt
fulldirectory=
[share\italian]
file0=C:\mysql\share\italian\errmsg.sys
file1=C:\mysql\share\italian\errmsg.txt
fulldirectory=
[Language]
LanguageSupport0=0009
[OperatingSystem]
OSSupport=0000000000010010
[Data]
CurrentMedia=
CurrentComponentDef=Default.cdf
ProductName=MySQL Servers and Clients
set_mifserial=
DevEnvironment=Microsoft Visual C++ 6
AppExe=
set_dlldebug=No
EmailAddresss=
Instructions=Instructions.txt
set_testmode=No
set_mif=No
SummaryText=
Department=
HomeURL=
Author=
Type=Database Application
InstallRoot=C:\MySQL-Install\3.23.XX-gpl
Version=1.00.000
InstallationGUID=40744a4d-efed-4cff-84a9-9e6389550f5c
set_level=Level 3
CurrentFileGroupDef=Default.fdf
Notes=Notes.txt
set_maxerr=50
set_args=
set_miffile=Status.mif
set_dllcmdline=
Copyright=
set_warnaserr=No
CurrentPlatform=
Category=
set_preproc=
CurrentLanguage=English
CompanyName=MySQL
Description=Description.txt
set_maxwarn=50
set_crc=Yes
set_compileb4build=No
[MediaInfo]
[General]
Type=INSTALLMAIN
Version=1.10.000
[General]
Type=REGISTRYDATA
Version=1.00.000
This diff is collapsed.
This is a release of MySQL 3.23.56 for Win32.
NOTE: If you install MySQL in a folder other than
C:\MYSQL or you intend to start MySQL on NT/Win2000
as a service, you must create a file named C:\MY.CNF
or \Windows\my.ini or \winnt\my.ini with the following
information::
[mysqld]
basedir=E:/installation-path/
datadir=E:/data-path/
After your have installed MySQL, the installation
directory which contains the files named 'my-size.cnf'.
You can use this as a starting point for your own
C:\my.cnf file.
If you have any problems, you can mail them to
win32@lists.mysql.com after you have consulted the
MySQL manual and the MySQL mailing list archive
(http://www.mysql.com/documentation/index.html)
On behalf of the MySQL AB gang,
Michael Widenius
\ No newline at end of file
[Data]
Folder3=<FOLDER_STARTUP>
Group0=Main
Group1=Startup
Folder0=<FOLDER_DESKTOP>
Folder1=<FOLDER_STARTMENU>
Folder2=<FOLDER_PROGRAMS>
[Info]
Type=ShellObject
Version=1.00.000
[Data]
TITLE_MAIN=MySQL Servers and Clients 3.23.56
COMPANY_NAME=MySQL AB
ERROR_COMPONENT=Component:
COMPANY_NAME16=Company
PRODUCT_VERSION=3.23.56
ERROR_MOVEDATA=An error occurred during the move data process: %d
ERROR_FILEGROUP=File Group:
UNINST_KEY=MySQL Servers and Clients 3.23.56
TITLE_CAPTIONBAR=MySQL Servers and Clients 3.23.56 Setup
PRODUCT_NAME16=Product
ERROR_VGARESOLUTION=This program requires VGA or better resolution.
ERROR_FILE=File:
UNINST_DISPLAY_NAME=MySQL Servers and Clients 3.23.56
PRODUCT_KEY=yourapp.Exe
PRODUCT_NAME=MySQL Servers and Clients 3.23.56
ERROR_UNINSTSETUP=unInstaller setup failed to initialize. You may not be able to uninstall this product.
[General]
Language=0009
Type=STRINGTABLESPECIFIC
Version=1.00.000
[TITLE_MAIN]
Comment=
[COMPANY_NAME]
Comment=
[ERROR_COMPONENT]
Comment=
[COMPANY_NAME16]
Comment=
[PRODUCT_VERSION]
Comment=
[ERROR_MOVEDATA]
Comment=
[ERROR_FILEGROUP]
Comment=
[Language]
Lang0=0009
CurrentLang=0
[UNINST_KEY]
Comment=
[TITLE_CAPTIONBAR]
Comment=
[Data]
Entry0=ERROR_VGARESOLUTION
Entry1=TITLE_MAIN
Entry2=TITLE_CAPTIONBAR
Entry3=UNINST_KEY
Entry4=UNINST_DISPLAY_NAME
Entry5=COMPANY_NAME
Entry6=PRODUCT_NAME
Entry7=PRODUCT_VERSION
Entry8=PRODUCT_KEY
Entry9=ERROR_MOVEDATA
Entry10=ERROR_UNINSTSETUP
Entry11=COMPANY_NAME16
Entry12=PRODUCT_NAME16
Entry13=ERROR_COMPONENT
Entry14=ERROR_FILEGROUP
Entry15=ERROR_FILE
[PRODUCT_NAME16]
Comment=
[ERROR_VGARESOLUTION]
Comment=
[ERROR_FILE]
Comment=
[General]
Type=STRINGTABLE
Version=1.00.000
[UNINST_DISPLAY_NAME]
Comment=
[PRODUCT_KEY]
Comment=
[PRODUCT_NAME]
Comment=
[ERROR_UNINSTSETUP]
Comment=
[<HKUS>]
Value=
KeyType=4
[<HKCR>]
Value=
KeyType=4
[<PROGRAMFILES>]
Value=
KeyType=4
[<WINSYSDIR>]
Value=
KeyType=4
[<COMMONFILES>]
Value=
KeyType=4
[<WINDIR>]
Value=
KeyType=4
[Data]
Key0=<PROGRAMFILES>
Key1=<COMMONFILES>
Key2=<WINDIR>
Key3=<WINSYSDIR>
Key4=<HKLM>
Key5=<HKCU>
Key6=<HKCC>
Key7=<HKDD>
Key8=<HKUS>
Key9=<HKCR>
[General]
Type=TEXTSUB
Version=1.00.000
[<HKLM>]
Value=
KeyType=4
[<HKCU>]
Value=
KeyType=4
[<HKCC>]
Value=
KeyType=4
[<HKDD>]
Value=
KeyType=4
[<SRCDIR>]
Value=
KeyType=4
[<HKUS>]
Value=
KeyType=4
[<HKCR>]
Value=
KeyType=4
[<PROGRAMFILES>]
Value=
KeyType=4
[<TARGETDIR>]
Value=
KeyType=4
[<WINSYSDIR>]
Value=
KeyType=4
[<COMMONFILES>]
Value=
KeyType=4
[<WINDIR>]
Value=
KeyType=4
[Data]
Key0=<PROGRAMFILES>
Key1=<COMMONFILES>
Key2=<WINDIR>
Key3=<WINSYSDIR>
Key4=<TARGETDIR>
Key5=<SUPPORTDIR>
Key10=<HKDD>
Key6=<SRCDIR>
Key11=<HKUS>
Key7=<HKLM>
Key12=<HKCR>
Key8=<HKCU>
Key13=<SHELL_OBJECT_FOLDER>
Key9=<HKCC>
[<SUPPORTDIR>]
Value=
KeyType=4
[<SHELL_OBJECT_FOLDER>]
Value=
KeyType=4
[General]
Type=TEXTSUB
Version=1.00.000
[<HKLM>]
Value=
KeyType=4
[<HKCU>]
Value=
KeyType=4
[<HKCC>]
Value=
KeyType=4
[<HKDD>]
Value=
KeyType=4
[General]
Type=FILELIST
Version=1.00.000
[topdir]
subdir0=<WINDIR>
subdir1=<PROGRAMFILES>
subdir2=<TARGETDIR>
subdir3=USERDEFINED
[<WINDIR>]
DISPLAYTEXT=Windows Operating System
TYPE=TEXTSUBFIXED
subdir0=<WINDIR>\<WINSYSDIR>
[<WINDIR>\<WINSYSDIR>]
DISPLAYTEXT=Windows System Folder
TYPE=TEXTSUBFIXED
[<PROGRAMFILES>]
DISPLAYTEXT=Program Files Folder
TYPE=TEXTSUBFIXED
subdir0=<PROGRAMFILES>\<COMMONFILES>
[<PROGRAMFILES>\<COMMONFILES>]
DISPLAYTEXT=Common Files Folder
TYPE=TEXTSUBFIXED
[<TARGETDIR>]
DISPLAYTEXT=General Application Destination
TYPE=TEXTSUBFIXED
[USERDEFINED]
DISPLAYTEXT=Script-defined Folders
TYPE=USERSTART
[Development]
required0=Servers
SELECTED=Yes
FILENEED=STANDARD
required1=Grant Tables
HTTPLOCATION=
STATUS=Examples, Libraries, Includes and Script files
UNINSTALLABLE=Yes
TARGET=<TARGETDIR>
FTPLOCATION=
VISIBLE=Yes
DESCRIPTION=Examples, Libraries, Includes and Script files
DISPLAYTEXT=Examples, Libraries, Includes and Script files
IMAGE=
DEFSELECTION=Yes
filegroup0=Development
COMMENT=
INCLUDEINBUILD=Yes
INSTALLATION=ALWAYSOVERWRITE
COMPRESSIFSEPARATE=No
MISC=
ENCRYPT=No
DISK=ANYDISK
TARGETDIRCDROM=
PASSWORD=
TARGETHIDDEN=General Application Destination
[Grant Tables]
required0=Servers
SELECTED=Yes
FILENEED=CRITICAL
HTTPLOCATION=
STATUS=The Grant Tables and Core Files
UNINSTALLABLE=Yes
TARGET=<TARGETDIR>
FTPLOCATION=
VISIBLE=Yes
DESCRIPTION=The Grant Tables and Core Files
DISPLAYTEXT=The Grant Tables and Core Files
IMAGE=
DEFSELECTION=Yes
filegroup0=Grant Tables
requiredby0=Development
COMMENT=
INCLUDEINBUILD=Yes
requiredby1=Clients and Tools
INSTALLATION=NEVEROVERWRITE
requiredby2=Documentation
COMPRESSIFSEPARATE=No
MISC=
ENCRYPT=No
DISK=ANYDISK
TARGETDIRCDROM=
PASSWORD=
TARGETHIDDEN=General Application Destination
[Components]
component0=Development
component1=Grant Tables
component2=Clients and Tools
component3=Servers
component4=Documentation
[TopComponents]
component0=Servers
component1=Clients and Tools
component2=Documentation
component3=Development
component4=Grant Tables
[SetupType]
setuptype0=Compact
setuptype1=Typical
setuptype2=Custom
[Servers]
SELECTED=Yes
FILENEED=CRITICAL
HTTPLOCATION=
STATUS=The MySQL Servers
UNINSTALLABLE=Yes
TARGET=<TARGETDIR>
FTPLOCATION=
VISIBLE=Yes
DESCRIPTION=The MySQL Servers
DISPLAYTEXT=The MySQL Servers
IMAGE=
DEFSELECTION=Yes
filegroup0=Servers
requiredby0=Development
COMMENT=
INCLUDEINBUILD=Yes
requiredby1=Grant Tables
INSTALLATION=ALWAYSOVERWRITE
requiredby2=Clients and Tools
requiredby3=Documentation
COMPRESSIFSEPARATE=No
MISC=
ENCRYPT=No
DISK=ANYDISK
TARGETDIRCDROM=
PASSWORD=
TARGETHIDDEN=General Application Destination
[Clients and Tools]
required0=Servers
SELECTED=Yes
FILENEED=HIGHLYRECOMMENDED
required1=Grant Tables
HTTPLOCATION=
STATUS=The MySQL clients and Maintenance Tools
UNINSTALLABLE=Yes
TARGET=<TARGETDIR>
FTPLOCATION=
VISIBLE=Yes
DESCRIPTION=The MySQL clients and Maintenance Tools
DISPLAYTEXT=The MySQL clients and Maintenance Tools
IMAGE=
DEFSELECTION=Yes
filegroup0=Clients and Tools
COMMENT=
INCLUDEINBUILD=Yes
INSTALLATION=NEWERDATE
COMPRESSIFSEPARATE=No
MISC=
ENCRYPT=No
DISK=ANYDISK
TARGETDIRCDROM=
PASSWORD=
TARGETHIDDEN=General Application Destination
[SetupTypeItem-Compact]
Comment=
item0=Grant Tables
item1=Clients and Tools
item2=Servers
item3=Documentation
Descrip=
DisplayText=
[SetupTypeItem-Custom]
Comment=
item0=Development
item1=Grant Tables
item2=Clients and Tools
item3=Servers
Descrip=
item4=Documentation
DisplayText=
[Info]
Type=CompDef
Version=1.00.000
Name=
[SetupTypeItem-Typical]
Comment=
item0=Development
item1=Grant Tables
item2=Clients and Tools
item3=Servers
Descrip=
item4=Documentation
DisplayText=
[Documentation]
required0=Servers
SELECTED=Yes
FILENEED=HIGHLYRECOMMENDED
required1=Grant Tables
HTTPLOCATION=
STATUS=The MySQL Documentation with different formats
UNINSTALLABLE=Yes
TARGET=<TARGETDIR>
FTPLOCATION=
VISIBLE=Yes
DESCRIPTION=The MySQL Documentation with different formats
DISPLAYTEXT=The MySQL Documentation with different formats
IMAGE=
DEFSELECTION=Yes
filegroup0=Documentation
COMMENT=
INCLUDEINBUILD=Yes
INSTALLATION=ALWAYSOVERWRITE
COMPRESSIFSEPARATE=No
MISC=
ENCRYPT=No
DISK=ANYDISK
TARGETDIRCDROM=
PASSWORD=
TARGETHIDDEN=General Application Destination
[<PROGRAMFILES>\<COMMONFILES>]
DISPLAYTEXT=Common Files Folder
TYPE=TEXTSUBFIXED
fulldirectory=
[<WINDIR>\<WINSYSDIR>]
DISPLAYTEXT=Windows System Folder
TYPE=TEXTSUBFIXED
fulldirectory=
[USERDEFINED]
DISPLAYTEXT=Script-defined Folders
TYPE=USERSTART
fulldirectory=
[<PROGRAMFILES>]
DISPLAYTEXT=Program Files Folder
SubDir0=<PROGRAMFILES>\<COMMONFILES>
TYPE=TEXTSUBFIXED
fulldirectory=
[<TARGETDIR>]
DISPLAYTEXT=General Application Destination
TYPE=TEXTSUBFIXED
fulldirectory=
[<WINDIR>]
DISPLAYTEXT=Windows Operating System
SubDir0=<WINDIR>\<WINSYSDIR>
TYPE=TEXTSUBFIXED
fulldirectory=
[TopDir]
SubDir0=<WINDIR>
SubDir1=<PROGRAMFILES>
SubDir2=<TARGETDIR>
SubDir3=USERDEFINED
[General]
Type=FILELIST
Version=1.00.000
[bin]
file15=C:\mysql\bin\pack_isam.exe
file16=C:\mysql\bin\perror.exe
file0=C:\mysql\bin\isamchk.exe
file17=C:\mysql\bin\replace.exe
file1=C:\mysql\bin\myisamchk.exe
file18=C:\mysql\bin\winmysqladmin.cnt
file2=C:\mysql\bin\myisamlog.exe
file19=C:\mysql\bin\winmysqladmin.exe
file3=C:\mysql\bin\myisampack.exe
file4=C:\mysql\bin\mysql.exe
file5=C:\mysql\bin\mysqladmin.exe
file6=C:\mysql\bin\mysqlbinlog.exe
file7=C:\mysql\bin\mysqlc.exe
file8=C:\mysql\bin\mysqlcheck.exe
file9=C:\mysql\bin\mysqldump.exe
file20=C:\mysql\bin\WINMYSQLADMIN.HLP
file21=C:\mysql\bin\cygwinb19.dll
file10=C:\mysql\bin\mysqlimport.exe
fulldirectory=
file22=C:\mysql\bin\libmySQL.dll
file11=C:\mysql\bin\MySqlManager.exe
file23=C:\mysql\bin\my_print_defaults.exe
file12=C:\mysql\bin\mysqlshow.exe
file24=C:\mysql\bin\comp-err.exe
file13=C:\mysql\bin\mysqlshutdown.exe
file14=C:\mysql\bin\mysqlwatch.exe
[TopDir]
SubDir0=bin
[General]
Type=FILELIST
Version=1.00.000
[FileGroups]
group0=Development
group1=Grant Tables
group2=Clients and Tools
group3=Servers
group4=Documentation
[Development]
SELFREGISTERING=No
HTTPLOCATION=
LANGUAGE=
OPERATINGSYSTEM=
FTPLOCATION=
FILETYPE=No
INFOTYPE=Standard
COMMENT=
COMPRESS=Yes
COMPRESSDLL=
POTENTIALLY=No
MISC=
[Grant Tables]
SELFREGISTERING=No
HTTPLOCATION=
LANGUAGE=
OPERATINGSYSTEM=
FTPLOCATION=
FILETYPE=No
INFOTYPE=Standard
COMMENT=
COMPRESS=Yes
COMPRESSDLL=
POTENTIALLY=No
MISC=
[Servers]
SELFREGISTERING=No
HTTPLOCATION=
LANGUAGE=
OPERATINGSYSTEM=
FTPLOCATION=
FILETYPE=No
INFOTYPE=Standard
COMMENT=
COMPRESS=Yes
COMPRESSDLL=
POTENTIALLY=No
MISC=
[Clients and Tools]
SELFREGISTERING=No
HTTPLOCATION=
LANGUAGE=
OPERATINGSYSTEM=0000000000000000
FTPLOCATION=
FILETYPE=No
INFOTYPE=Standard
COMMENT=
COMPRESS=Yes
COMPRESSDLL=
POTENTIALLY=No
MISC=
[Info]
Type=FileGrp
Version=1.00.000
Name=
[Documentation]
SELFREGISTERING=No
HTTPLOCATION=
LANGUAGE=
OPERATINGSYSTEM=
FTPLOCATION=
FILETYPE=No
INFOTYPE=Standard
COMMENT=
COMPRESS=Yes
COMPRESSDLL=
POTENTIALLY=No
MISC=
[General]
Type=FILELIST
Version=1.00.000
[bench\Data\Wisconsin]
file0=C:\mysql\bench\Data\Wisconsin\onek.data
file1=C:\mysql\bench\Data\Wisconsin\tenk.data
fulldirectory=
[lib\debug]
file0=C:\mysql\lib\debug\libmySQL.dll
file1=C:\mysql\lib\debug\libmySQL.lib
file2=C:\mysql\lib\debug\mysqlclient.lib
file3=C:\mysql\lib\debug\zlib.lib
fulldirectory=
[bench\output]
fulldirectory=
[examples\libmysqltest]
file0=C:\mysql\examples\libmysqltest\myTest.c
file1=C:\mysql\examples\libmysqltest\myTest.dsp
file2=C:\mysql\examples\libmysqltest\myTest.dsw
file3=C:\mysql\examples\libmysqltest\myTest.exe
file4=C:\mysql\examples\libmysqltest\myTest.mak
file5=C:\mysql\examples\libmysqltest\myTest.ncb
file6=C:\mysql\examples\libmysqltest\myTest.opt
file7=C:\mysql\examples\libmysqltest\readme
fulldirectory=
[include]
file0=C:\mysql\include\raid.h
file1=C:\mysql\include\errmsg.h
file2=C:\mysql\include\Libmysql.def
file3=C:\mysql\include\m_ctype.h
file4=C:\mysql\include\m_string.h
file5=C:\mysql\include\my_list.h
file6=C:\mysql\include\my_pthread.h
file7=C:\mysql\include\my_sys.h
file8=C:\mysql\include\mysql.h
file9=C:\mysql\include\mysql_com.h
file10=C:\mysql\include\mysql_version.h
fulldirectory=
file11=C:\mysql\include\mysqld_error.h
file12=C:\mysql\include\dbug.h
file13=C:\mysql\include\my_global.h
file14=C:\mysql\include\config-win.h
[examples]
SubDir0=examples\libmysqltest
SubDir1=examples\tests
fulldirectory=
[lib\opt]
file0=C:\mysql\lib\opt\libmySQL.dll
file1=C:\mysql\lib\opt\libmySQL.lib
file2=C:\mysql\lib\opt\mysqlclient.lib
file3=C:\mysql\lib\opt\zlib.lib
fulldirectory=
[bench\Data]
SubDir0=bench\Data\ATIS
SubDir1=bench\Data\Wisconsin
fulldirectory=
[bench\limits]
file15=C:\mysql\bench\limits\pg.comment
file16=C:\mysql\bench\limits\solid.cfg
file0=C:\mysql\bench\limits\access.cfg
file17=C:\mysql\bench\limits\solid-nt4.cfg
file1=C:\mysql\bench\limits\access.comment
file18=C:\mysql\bench\limits\sybase.cfg
file2=C:\mysql\bench\limits\Adabas.cfg
file3=C:\mysql\bench\limits\Adabas.comment
file4=C:\mysql\bench\limits\Db2.cfg
file5=C:\mysql\bench\limits\empress.cfg
file6=C:\mysql\bench\limits\empress.comment
file7=C:\mysql\bench\limits\Informix.cfg
file8=C:\mysql\bench\limits\Informix.comment
file9=C:\mysql\bench\limits\msql.cfg
file10=C:\mysql\bench\limits\ms-sql.cfg
fulldirectory=
file11=C:\mysql\bench\limits\Ms-sql65.cfg
file12=C:\mysql\bench\limits\mysql.cfg
file13=C:\mysql\bench\limits\oracle.cfg
file14=C:\mysql\bench\limits\pg.cfg
[TopDir]
SubDir0=bench
SubDir1=examples
SubDir2=include
SubDir3=lib
SubDir4=scripts
[bench]
file15=C:\mysql\bench\test-create
file16=C:\mysql\bench\test-insert
file0=C:\mysql\bench\uname.bat
file17=C:\mysql\bench\test-select
file1=C:\mysql\bench\compare-results
file18=C:\mysql\bench\test-wisconsin
file2=C:\mysql\bench\copy-db
file19=C:\mysql\bench\bench-init.pl
file3=C:\mysql\bench\crash-me
file4=C:\mysql\bench\example.bat
file5=C:\mysql\bench\print-limit-table
file6=C:\mysql\bench\pwd.bat
file7=C:\mysql\bench\Readme
SubDir0=bench\Data
file8=C:\mysql\bench\run.bat
SubDir1=bench\limits
file9=C:\mysql\bench\run-all-tests
SubDir2=bench\output
file10=C:\mysql\bench\server-cfg
fulldirectory=
file11=C:\mysql\bench\test-alter-table
file12=C:\mysql\bench\test-ATIS
file13=C:\mysql\bench\test-big-tables
file14=C:\mysql\bench\test-connect
[examples\tests]
file15=C:\mysql\examples\tests\lock_test.res
file16=C:\mysql\examples\tests\mail_to_db.pl
file0=C:\mysql\examples\tests\unique_users.tst
file17=C:\mysql\examples\tests\table_types.pl
file1=C:\mysql\examples\tests\auto_increment.tst
file18=C:\mysql\examples\tests\test_delayed_insert.pl
file2=C:\mysql\examples\tests\big_record.pl
file19=C:\mysql\examples\tests\udf_test
file3=C:\mysql\examples\tests\big_record.res
file4=C:\mysql\examples\tests\czech-sorting
file5=C:\mysql\examples\tests\deadlock-script.pl
file6=C:\mysql\examples\tests\export.pl
file7=C:\mysql\examples\tests\fork_test.pl
file8=C:\mysql\examples\tests\fork2_test.pl
file9=C:\mysql\examples\tests\fork3_test.pl
file20=C:\mysql\examples\tests\udf_test.res
file21=C:\mysql\examples\tests\auto_increment.res
file10=C:\mysql\examples\tests\function.res
fulldirectory=
file11=C:\mysql\examples\tests\function.tst
file12=C:\mysql\examples\tests\grant.pl
file13=C:\mysql\examples\tests\grant.res
file14=C:\mysql\examples\tests\lock_test.pl
[bench\Data\ATIS]
file26=C:\mysql\bench\Data\ATIS\stop1.txt
file15=C:\mysql\bench\Data\ATIS\flight_class.txt
file27=C:\mysql\bench\Data\ATIS\time_interval.txt
file16=C:\mysql\bench\Data\ATIS\flight_day.txt
file0=C:\mysql\bench\Data\ATIS\transport.txt
file28=C:\mysql\bench\Data\ATIS\time_zone.txt
file17=C:\mysql\bench\Data\ATIS\flight_fare.txt
file1=C:\mysql\bench\Data\ATIS\airline.txt
file29=C:\mysql\bench\Data\ATIS\aircraft.txt
file18=C:\mysql\bench\Data\ATIS\food_service.txt
file2=C:\mysql\bench\Data\ATIS\airport.txt
file19=C:\mysql\bench\Data\ATIS\ground_service.txt
file3=C:\mysql\bench\Data\ATIS\airport_service.txt
file4=C:\mysql\bench\Data\ATIS\city.txt
file5=C:\mysql\bench\Data\ATIS\class_of_service.txt
file6=C:\mysql\bench\Data\ATIS\code_description.txt
file7=C:\mysql\bench\Data\ATIS\compound_class.txt
file8=C:\mysql\bench\Data\ATIS\connect_leg.txt
file9=C:\mysql\bench\Data\ATIS\date_day.txt
file20=C:\mysql\bench\Data\ATIS\month_name.txt
file21=C:\mysql\bench\Data\ATIS\restrict_carrier.txt
file10=C:\mysql\bench\Data\ATIS\day_name.txt
fulldirectory=
file22=C:\mysql\bench\Data\ATIS\restrict_class.txt
file11=C:\mysql\bench\Data\ATIS\dual_carrier.txt
file23=C:\mysql\bench\Data\ATIS\restriction.txt
file12=C:\mysql\bench\Data\ATIS\fare.txt
file24=C:\mysql\bench\Data\ATIS\state.txt
file13=C:\mysql\bench\Data\ATIS\fconnection.txt
file25=C:\mysql\bench\Data\ATIS\stop.txt
file14=C:\mysql\bench\Data\ATIS\flight.txt
[General]
Type=FILELIST
Version=1.00.000
[scripts]
file0=C:\mysql\scripts\mysql_find_rows.pl
file1=C:\mysql\scripts\mysql_setpermission.pl
file2=C:\mysql\scripts\mysqlhotcopy.pl
file3=C:\mysql\scripts\Readme
fulldirectory=
[lib]
SubDir0=lib\debug
SubDir1=lib\opt
fulldirectory=
[Docs\Flags]
file59=C:\mysql\Docs\Flags\romania.gif
file48=C:\mysql\Docs\Flags\kroatia.eps
file37=C:\mysql\Docs\Flags\iceland.gif
file26=C:\mysql\Docs\Flags\france.eps
file15=C:\mysql\Docs\Flags\china.gif
file49=C:\mysql\Docs\Flags\kroatia.gif
file38=C:\mysql\Docs\Flags\ireland.eps
file27=C:\mysql\Docs\Flags\france.gif
file16=C:\mysql\Docs\Flags\croatia.eps
file0=C:\mysql\Docs\Flags\usa.gif
file39=C:\mysql\Docs\Flags\ireland.gif
file28=C:\mysql\Docs\Flags\germany.eps
file17=C:\mysql\Docs\Flags\croatia.gif
file1=C:\mysql\Docs\Flags\argentina.gif
file29=C:\mysql\Docs\Flags\germany.gif
file18=C:\mysql\Docs\Flags\czech-republic.eps
file2=C:\mysql\Docs\Flags\australia.eps
file19=C:\mysql\Docs\Flags\czech-republic.gif
file3=C:\mysql\Docs\Flags\australia.gif
file80=C:\mysql\Docs\Flags\usa.eps
file4=C:\mysql\Docs\Flags\austria.eps
file81=C:\mysql\Docs\Flags\argentina.eps
file70=C:\mysql\Docs\Flags\spain.eps
file5=C:\mysql\Docs\Flags\austria.gif
file71=C:\mysql\Docs\Flags\spain.gif
file60=C:\mysql\Docs\Flags\russia.eps
file6=C:\mysql\Docs\Flags\brazil.eps
file72=C:\mysql\Docs\Flags\sweden.eps
file61=C:\mysql\Docs\Flags\russia.gif
file50=C:\mysql\Docs\Flags\latvia.eps
file7=C:\mysql\Docs\Flags\brazil.gif
file73=C:\mysql\Docs\Flags\sweden.gif
file62=C:\mysql\Docs\Flags\singapore.eps
file51=C:\mysql\Docs\Flags\latvia.gif
file40=C:\mysql\Docs\Flags\island.eps
file8=C:\mysql\Docs\Flags\bulgaria.eps
file74=C:\mysql\Docs\Flags\switzerland.eps
file63=C:\mysql\Docs\Flags\singapore.gif
file52=C:\mysql\Docs\Flags\netherlands.eps
file41=C:\mysql\Docs\Flags\island.gif
file30=C:\mysql\Docs\Flags\great-britain.eps
file9=C:\mysql\Docs\Flags\bulgaria.gif
file75=C:\mysql\Docs\Flags\switzerland.gif
file64=C:\mysql\Docs\Flags\south-africa.eps
file53=C:\mysql\Docs\Flags\netherlands.gif
file42=C:\mysql\Docs\Flags\israel.eps
file31=C:\mysql\Docs\Flags\great-britain.gif
file20=C:\mysql\Docs\Flags\denmark.eps
file76=C:\mysql\Docs\Flags\taiwan.eps
file65=C:\mysql\Docs\Flags\south-africa.gif
file54=C:\mysql\Docs\Flags\poland.eps
file43=C:\mysql\Docs\Flags\israel.gif
file32=C:\mysql\Docs\Flags\greece.eps
file21=C:\mysql\Docs\Flags\denmark.gif
file10=C:\mysql\Docs\Flags\canada.eps
fulldirectory=
file77=C:\mysql\Docs\Flags\taiwan.gif
file66=C:\mysql\Docs\Flags\south-africa1.eps
file55=C:\mysql\Docs\Flags\poland.gif
file44=C:\mysql\Docs\Flags\italy.eps
file33=C:\mysql\Docs\Flags\greece.gif
file22=C:\mysql\Docs\Flags\estonia.eps
file11=C:\mysql\Docs\Flags\canada.gif
file78=C:\mysql\Docs\Flags\ukraine.eps
file67=C:\mysql\Docs\Flags\south-africa1.gif
file56=C:\mysql\Docs\Flags\portugal.eps
file45=C:\mysql\Docs\Flags\italy.gif
file34=C:\mysql\Docs\Flags\hungary.eps
file23=C:\mysql\Docs\Flags\estonia.gif
file12=C:\mysql\Docs\Flags\chile.eps
file79=C:\mysql\Docs\Flags\ukraine.gif
file68=C:\mysql\Docs\Flags\south-korea.eps
file57=C:\mysql\Docs\Flags\portugal.gif
file46=C:\mysql\Docs\Flags\japan.eps
file35=C:\mysql\Docs\Flags\hungary.gif
file24=C:\mysql\Docs\Flags\finland.eps
file13=C:\mysql\Docs\Flags\chile.gif
file69=C:\mysql\Docs\Flags\south-korea.gif
file58=C:\mysql\Docs\Flags\romania.eps
file47=C:\mysql\Docs\Flags\japan.gif
file36=C:\mysql\Docs\Flags\iceland.eps
file25=C:\mysql\Docs\Flags\finland.gif
file14=C:\mysql\Docs\Flags\china.eps
[Docs]
file0=C:\mysql\Docs\manual_toc.html
file1=C:\mysql\Docs\manual.html
SubDir0=Docs\Flags
fulldirectory=
[TopDir]
SubDir0=Docs
[General]
Type=FILELIST
Version=1.00.000
[data\test]
fulldirectory=
[data\mysql]
file15=C:\mysql\data\mysql\func.frm
file16=C:\mysql\data\mysql\func.MYD
file0=C:\mysql\data\mysql\columns_priv.frm
file17=C:\mysql\data\mysql\func.MYI
file1=C:\mysql\data\mysql\columns_priv.MYD
file2=C:\mysql\data\mysql\columns_priv.MYI
file3=C:\mysql\data\mysql\db.frm
file4=C:\mysql\data\mysql\db.MYD
file5=C:\mysql\data\mysql\db.MYI
file6=C:\mysql\data\mysql\host.frm
file7=C:\mysql\data\mysql\host.MYD
file8=C:\mysql\data\mysql\host.MYI
file9=C:\mysql\data\mysql\tables_priv.frm
file10=C:\mysql\data\mysql\tables_priv.MYD
fulldirectory=
file11=C:\mysql\data\mysql\tables_priv.MYI
file12=C:\mysql\data\mysql\user.frm
file13=C:\mysql\data\mysql\user.MYD
file14=C:\mysql\data\mysql\user.MYI
[TopDir]
SubDir0=data
[data]
SubDir0=data\mysql
SubDir1=data\test
fulldirectory=
[General]
Type=FILELIST
Version=1.00.000
[share\polish]
file0=C:\mysql\share\polish\errmsg.sys
file1=C:\mysql\share\polish\errmsg.txt
fulldirectory=
[share\dutch]
file0=C:\mysql\share\dutch\errmsg.sys
file1=C:\mysql\share\dutch\errmsg.txt
fulldirectory=
[share\spanish]
file0=C:\mysql\share\spanish\errmsg.sys
file1=C:\mysql\share\spanish\errmsg.txt
fulldirectory=
[share\english]
file0=C:\mysql\share\english\errmsg.sys
file1=C:\mysql\share\english\errmsg.txt
fulldirectory=
[bin]
file0=C:\mysql\bin\mysqld-opt.exe
file1=C:\mysql\bin\mysqld-max.exe
file2=C:\mysql\bin\mysqld-max-nt.exe
file3=C:\mysql\bin\mysqld-nt.exe
file4=C:\mysql\bin\mysqld.exe
fulldirectory=
[share\korean]
file0=C:\mysql\share\korean\errmsg.sys
file1=C:\mysql\share\korean\errmsg.txt
fulldirectory=
[share\charsets]
file15=C:\mysql\share\charsets\latin1.conf
file16=C:\mysql\share\charsets\latin2.conf
file0=C:\mysql\share\charsets\win1251ukr.conf
file17=C:\mysql\share\charsets\latin5.conf
file1=C:\mysql\share\charsets\cp1257.conf
file18=C:\mysql\share\charsets\Readme
file2=C:\mysql\share\charsets\croat.conf
file19=C:\mysql\share\charsets\swe7.conf
file3=C:\mysql\share\charsets\danish.conf
file4=C:\mysql\share\charsets\dec8.conf
file5=C:\mysql\share\charsets\dos.conf
file6=C:\mysql\share\charsets\estonia.conf
file7=C:\mysql\share\charsets\german1.conf
file8=C:\mysql\share\charsets\greek.conf
file9=C:\mysql\share\charsets\hebrew.conf
file20=C:\mysql\share\charsets\usa7.conf
file21=C:\mysql\share\charsets\win1250.conf
file10=C:\mysql\share\charsets\hp8.conf
fulldirectory=
file22=C:\mysql\share\charsets\win1251.conf
file11=C:\mysql\share\charsets\hungarian.conf
file23=C:\mysql\share\charsets\cp1251.conf
file12=C:\mysql\share\charsets\Index
file13=C:\mysql\share\charsets\koi8_ru.conf
file14=C:\mysql\share\charsets\koi8_ukr.conf
[share\ukrainian]
file0=C:\mysql\share\ukrainian\errmsg.sys
file1=C:\mysql\share\ukrainian\errmsg.txt
fulldirectory=
[share\hungarian]
file0=C:\mysql\share\hungarian\errmsg.sys
file1=C:\mysql\share\hungarian\errmsg.txt
fulldirectory=
[share\german]
file0=C:\mysql\share\german\errmsg.sys
file1=C:\mysql\share\german\errmsg.txt
fulldirectory=
[share\portuguese]
file0=C:\mysql\share\portuguese\errmsg.sys
file1=C:\mysql\share\portuguese\errmsg.txt
fulldirectory=
[share\estonian]
file0=C:\mysql\share\estonian\errmsg.sys
file1=C:\mysql\share\estonian\errmsg.txt
fulldirectory=
[share\romanian]
file0=C:\mysql\share\romanian\errmsg.sys
file1=C:\mysql\share\romanian\errmsg.txt
fulldirectory=
[share\french]
file0=C:\mysql\share\french\errmsg.sys
file1=C:\mysql\share\french\errmsg.txt
fulldirectory=
[share\swedish]
file0=C:\mysql\share\swedish\errmsg.sys
file1=C:\mysql\share\swedish\errmsg.txt
fulldirectory=
[share\slovak]
file0=C:\mysql\share\slovak\errmsg.sys
file1=C:\mysql\share\slovak\errmsg.txt
fulldirectory=
[share\greek]
file0=C:\mysql\share\greek\errmsg.sys
file1=C:\mysql\share\greek\errmsg.txt
fulldirectory=
[TopDir]
file0=C:\mysql\my-small.cnf
file1=C:\mysql\my-large.cnf
file2=C:\mysql\my-medium.cnf
file3=C:\mysql\my-huge.cnf
SubDir0=bin
SubDir1=share
[share]
SubDir8=share\hungarian
SubDir9=share\charsets
SubDir20=share\spanish
SubDir21=share\swedish
SubDir10=share\italian
SubDir22=share\ukrainian
SubDir11=share\japanese
SubDir12=share\korean
SubDir13=share\norwegian
SubDir14=share\norwegian-ny
SubDir15=share\polish
SubDir16=share\portuguese
SubDir0=share\czech
SubDir17=share\romanian
SubDir1=share\danish
SubDir18=share\russian
SubDir2=share\dutch
SubDir19=share\slovak
SubDir3=share\english
fulldirectory=
SubDir4=share\estonian
SubDir5=share\french
SubDir6=share\german
SubDir7=share\greek
[share\norwegian-ny]
file0=C:\mysql\share\norwegian-ny\errmsg.sys
file1=C:\mysql\share\norwegian-ny\errmsg.txt
fulldirectory=
[share\danish]
file0=C:\mysql\share\danish\errmsg.sys
file1=C:\mysql\share\danish\errmsg.txt
fulldirectory=
[share\czech]
file0=C:\mysql\share\czech\errmsg.sys
file1=C:\mysql\share\czech\errmsg.txt
fulldirectory=
[General]
Type=FILELIST
Version=1.00.000
[share\russian]
file0=C:\mysql\share\russian\errmsg.sys
file1=C:\mysql\share\russian\errmsg.txt
fulldirectory=
[share\norwegian]
file0=C:\mysql\share\norwegian\errmsg.sys
file1=C:\mysql\share\norwegian\errmsg.txt
fulldirectory=
[share\japanese]
file0=C:\mysql\share\japanese\errmsg.sys
file1=C:\mysql\share\japanese\errmsg.txt
fulldirectory=
[share\italian]
file0=C:\mysql\share\italian\errmsg.sys
file1=C:\mysql\share\italian\errmsg.txt
fulldirectory=
[Language]
LanguageSupport0=0009
[OperatingSystem]
OSSupport=0000000000010010
[Data]
CurrentMedia=
set_mifserial=
ProductName=MySQL Servers and Clients
CurrentComponentDef=Default.cdf
set_dlldebug=No
AppExe=
DevEnvironment=Microsoft Visual C++ 6
set_mif=No
set_testmode=No
Instructions=Instructions.txt
EmailAddresss=
SummaryText=
Department=
Type=Database Application
Author=
HomeURL=
InstallRoot=C:\MySQL-Install\3.23.XXcom
set_level=Level 3
InstallationGUID=40744a4d-efed-4cff-84a9-9e6389550f5c
Version=1.00.000
set_miffile=Status.mif
set_args=
set_maxerr=50
Notes=Notes.txt
CurrentFileGroupDef=Default.fdf
set_dllcmdline=
set_warnaserr=No
Copyright=
set_preproc=
Category=
CurrentPlatform=
set_compileb4build=No
set_crc=Yes
set_maxwarn=50
Description=Description.txt
CompanyName=MySQL
CurrentLanguage=English
[MediaInfo]
[General]
Type=INSTALLMAIN
Version=1.10.000
[General]
Type=REGISTRYDATA
Version=1.00.000
This diff is collapsed.
This is a release of MySQL 3.23.56 for Win32.
NOTE: If you install MySQL in a folder other than
C:\MYSQL or you intend to start MySQL on NT/Win2000
as a service, you must create a file named C:\MY.CNF
or \Windows\my.ini or \winnt\my.ini with the following
information::
[mysqld]
basedir=E:/installation-path/
datadir=E:/data-path/
After your have installed MySQL, the installation
directory which contains the files named 'my-size.cnf'.
You can use this as a starting point for your own
C:\my.cnf file.
If you have any problems, you can mail them to
win32@lists.mysql.com after you have consulted the
MySQL manual and the MySQL mailing list archive
(http://www.mysql.com/documentation/index.html)
On behalf of the MySQL AB gang,
Michael Widenius
\ No newline at end of file
[Data]
Folder3=<FOLDER_STARTUP>
Group0=Main
Group1=Startup
Folder0=<FOLDER_DESKTOP>
Folder1=<FOLDER_STARTMENU>
Folder2=<FOLDER_PROGRAMS>
[Info]
Type=ShellObject
Version=1.00.000
[Data]
TITLE_MAIN=MySQL Commercial Servers and Clients 3.23.56
ERROR_COMPONENT=Component:
COMPANY_NAME=MySQL AB
COMPANY_NAME16=Company
ERROR_FILEGROUP=File Group:
ERROR_MOVEDATA=An error occurred during the move data process: %d
PRODUCT_VERSION=3.23.56
UNINST_KEY=MySQL Commercial Servers and Clients 3.23.56
TITLE_CAPTIONBAR=MySQL Commercial Servers and Clients 3.23.56 Setup
PRODUCT_NAME16=Product
ERROR_FILE=File:
ERROR_VGARESOLUTION=This program requires VGA or better resolution.
PRODUCT_KEY=yourapp.Exe
UNINST_DISPLAY_NAME=MySQL Commercial Servers and Clients 3.23.56
ERROR_UNINSTSETUP=unInstaller setup failed to initialize. You may not be able to uninstall this product.
PRODUCT_NAME=MySQL Commercial Servers and Clients 3.23.56
[General]
Language=0009
Type=STRINGTABLESPECIFIC
Version=1.00.000
[TITLE_MAIN]
Comment=
[ERROR_COMPONENT]
Comment=
[COMPANY_NAME]
Comment=
[COMPANY_NAME16]
Comment=
[ERROR_FILEGROUP]
Comment=
[ERROR_MOVEDATA]
Comment=
[PRODUCT_VERSION]
Comment=
[UNINST_KEY]
Comment=
[Language]
Lang0=0009
CurrentLang=0
[TITLE_CAPTIONBAR]
Comment=
[PRODUCT_NAME16]
Comment=
[Data]
Entry0=ERROR_VGARESOLUTION
Entry1=TITLE_MAIN
Entry2=TITLE_CAPTIONBAR
Entry3=UNINST_KEY
Entry4=UNINST_DISPLAY_NAME
Entry5=COMPANY_NAME
Entry6=PRODUCT_NAME
Entry7=PRODUCT_VERSION
Entry8=PRODUCT_KEY
Entry10=ERROR_UNINSTSETUP
Entry9=ERROR_MOVEDATA
Entry11=COMPANY_NAME16
Entry12=PRODUCT_NAME16
Entry13=ERROR_COMPONENT
Entry14=ERROR_FILEGROUP
Entry15=ERROR_FILE
[ERROR_FILE]
Comment=
[ERROR_VGARESOLUTION]
Comment=
[PRODUCT_KEY]
Comment=
[UNINST_DISPLAY_NAME]
Comment=
[General]
Type=STRINGTABLE
Version=1.00.000
[ERROR_UNINSTSETUP]
Comment=
[PRODUCT_NAME]
Comment=
[<HKCR>]
KeyType=4
Value=
[<HKUS>]
KeyType=4
Value=
[<PROGRAMFILES>]
KeyType=4
Value=
[<WINSYSDIR>]
KeyType=4
Value=
[<COMMONFILES>]
KeyType=4
Value=
[<WINDIR>]
KeyType=4
Value=
[Data]
Key0=<PROGRAMFILES>
Key1=<COMMONFILES>
Key2=<WINDIR>
Key3=<WINSYSDIR>
Key4=<HKLM>
Key5=<HKCU>
Key6=<HKCC>
Key7=<HKDD>
Key8=<HKUS>
Key9=<HKCR>
[General]
Type=TEXTSUB
Version=1.00.000
[<HKCU>]
KeyType=4
Value=
[<HKLM>]
KeyType=4
Value=
[<HKDD>]
KeyType=4
Value=
[<HKCC>]
KeyType=4
Value=
[<HKCR>]
KeyType=4
Value=
[<HKUS>]
KeyType=4
Value=
[<SRCDIR>]
KeyType=4
Value=
[<PROGRAMFILES>]
KeyType=4
Value=
[<TARGETDIR>]
KeyType=4
Value=
[<WINSYSDIR>]
KeyType=4
Value=
[<COMMONFILES>]
KeyType=4
Value=
[<WINDIR>]
KeyType=4
Value=
[Data]
Key0=<PROGRAMFILES>
Key1=<COMMONFILES>
Key2=<WINDIR>
Key3=<WINSYSDIR>
Key4=<TARGETDIR>
Key10=<HKDD>
Key5=<SUPPORTDIR>
Key11=<HKUS>
Key6=<SRCDIR>
Key12=<HKCR>
Key7=<HKLM>
Key13=<SHELL_OBJECT_FOLDER>
Key8=<HKCU>
Key9=<HKCC>
[<SHELL_OBJECT_FOLDER>]
KeyType=4
Value=
[<SUPPORTDIR>]
KeyType=4
Value=
[General]
Type=TEXTSUB
Version=1.00.000
[<HKCU>]
KeyType=4
Value=
[<HKLM>]
KeyType=4
Value=
[<HKDD>]
KeyType=4
Value=
[<HKCC>]
KeyType=4
Value=
......@@ -90,7 +90,7 @@ mysql_cv_btype_last_arg_accept=none
],
[int a = accept(1, (struct sockaddr *) 0, (socklen_t *) 0); return (a != 0);],
mysql_cv_btype_last_arg_accept=socklen_t)]
if test $mysql_cv_btype_last_arg_accept = none; then
if test "$mysql_cv_btype_last_arg_accept" = "none"; then
[AC_TRY_COMPILE([#if defined(inline)
#undef inline
#endif
......@@ -101,7 +101,7 @@ if test $mysql_cv_btype_last_arg_accept = none; then
[int a = accept(1, (struct sockaddr *) 0, (size_t *) 0); return (a != 0);],
mysql_cv_btype_last_arg_accept=size_t)]
fi
if test $mysql_cv_btype_last_arg_accept = none; then
if test "$mysql_cv_btype_last_arg_accept" = "none"; then
mysql_cv_btype_last_arg_accept=int
fi)
AC_LANG_RESTORE
......@@ -166,12 +166,19 @@ AC_DEFUN(MYSQL_CHECK_ZLIB_WITH_COMPRESS, [
save_LIBS="$LIBS"
LIBS="-l$1 $LIBS"
AC_CACHE_CHECK([if libz with compress], mysql_cv_compress,
[AC_TRY_LINK([#include <zlib.h>
[AC_TRY_RUN([#include <zlib.h>
#ifdef __cplusplus
extern "C"
#endif
],
[ return compress(0, (unsigned long*) 0, "", 0);
int main(int argv, char **argc)
{
return 0;
}
int link_test()
{
return compress(0, (unsigned long*) 0, "", 0);
}
], mysql_cv_compress=yes, mysql_cv_compress=no)])
if test "$mysql_cv_compress" = "yes"
then
......@@ -386,11 +393,11 @@ AC_CACHE_VAL(mysql_cv_termcap_lib,
[AC_CHECK_LIB(termcap, tgetent, mysql_cv_termcap_lib=libtermcap,
mysql_cv_termcap_lib=NOT_FOUND)])])])
AC_MSG_CHECKING(for termcap functions library)
if test $mysql_cv_termcap_lib = NOT_FOUND; then
if test "$mysql_cv_termcap_lib" = "NOT_FOUND"; then
AC_MSG_ERROR([No curses/termcap library found])
elif test $mysql_cv_termcap_lib = libtermcap; then
elif test "$mysql_cv_termcap_lib" = "libtermcap"; then
TERMCAP_LIB=-ltermcap
elif test $mysql_cv_termcap_lib = libncurses; then
elif test "$mysql_cv_termcap_lib" = "libncurses"; then
TERMCAP_LIB=-lncurses
else
TERMCAP_LIB=-lcurses
......@@ -446,7 +453,7 @@ AC_CACHE_VAL(mysql_cv_can_redecl_getpw,
extern struct passwd *getpwent();], [struct passwd *z; z = getpwent();],
mysql_cv_can_redecl_getpw=yes,mysql_cv_can_redecl_getpw=no)])
AC_MSG_RESULT($mysql_cv_can_redecl_getpw)
if test $mysql_cv_can_redecl_getpw = no; then
if test "$mysql_cv_can_redecl_getpw" = "no"; then
AC_DEFINE(HAVE_GETPW_DECLS)
fi
])
......@@ -458,7 +465,7 @@ AC_CACHE_VAL(mysql_cv_tiocgwinsz_in_ioctl,
#include <sys/ioctl.h>], [int x = TIOCGWINSZ;],
mysql_cv_tiocgwinsz_in_ioctl=yes,mysql_cv_tiocgwinsz_in_ioctl=no)])
AC_MSG_RESULT($mysql_cv_tiocgwinsz_in_ioctl)
if test $mysql_cv_tiocgwinsz_in_ioctl = yes; then
if test "$mysql_cv_tiocgwinsz_in_ioctl" = "yes"; then
AC_DEFINE(GWINSZ_IN_SYS_IOCTL)
fi
])
......@@ -470,7 +477,7 @@ AC_CACHE_VAL(mysql_cv_fionread_in_ioctl,
#include <sys/ioctl.h>], [int x = FIONREAD;],
mysql_cv_fionread_in_ioctl=yes,mysql_cv_fionread_in_ioctl=no)])
AC_MSG_RESULT($mysql_cv_fionread_in_ioctl)
if test $mysql_cv_fionread_in_ioctl = yes; then
if test "$mysql_cv_fionread_in_ioctl" = "yes"; then
AC_DEFINE(FIONREAD_IN_SYS_IOCTL)
fi
])
......@@ -482,7 +489,7 @@ AC_CACHE_VAL(mysql_cv_tiocstat_in_ioctl,
#include <sys/ioctl.h>], [int x = TIOCSTAT;],
mysql_cv_tiocstat_in_ioctl=yes,mysql_cv_tiocstat_in_ioctl=no)])
AC_MSG_RESULT($mysql_cv_tiocstat_in_ioctl)
if test $mysql_cv_tiocstat_in_ioctl = yes; then
if test "$mysql_cv_tiocstat_in_ioctl" = "yes"; then
AC_DEFINE(TIOCSTAT_IN_SYS_IOCTL)
fi
])
......@@ -515,7 +522,7 @@ AC_CACHE_VAL(mysql_cv_dirent_has_dino,
struct dirent d; int z; z = d.d_ino;
], mysql_cv_dirent_has_dino=yes, mysql_cv_dirent_has_dino=no)])
AC_MSG_RESULT($mysql_cv_dirent_has_dino)
if test $mysql_cv_dirent_has_dino = yes; then
if test "$mysql_cv_dirent_has_dino" = "yes"; then
AC_DEFINE(STRUCT_DIRENT_HAS_D_INO)
fi
])
......@@ -534,7 +541,7 @@ extern "C"
void (*signal ()) ();],
[int i;], mysql_cv_void_sighandler=yes, mysql_cv_void_sighandler=no)])dnl
AC_MSG_RESULT($mysql_cv_void_sighandler)
if test $mysql_cv_void_sighandler = yes; then
if test "$mysql_cv_void_sighandler" = "yes"; then
AC_DEFINE(VOID_SIGHANDLER)
fi
])
......@@ -593,7 +600,7 @@ then
AC_CACHE_CHECK([for working alloca.h], ac_cv_header_alloca_h,
[AC_TRY_LINK([#include <alloca.h>], [char *p = alloca(2 * sizeof(int));],
ac_cv_header_alloca_h=yes, ac_cv_header_alloca_h=no)])
if test $ac_cv_header_alloca_h = yes
if test "$ac_cv_header_alloca_h" = "yes"
then
AC_DEFINE(HAVE_ALLOCA)
fi
......@@ -617,11 +624,11 @@ then
#endif
], [char *p = (char *) alloca(1);],
ac_cv_func_alloca_works=yes, ac_cv_func_alloca_works=no)])
if test $ac_cv_func_alloca_works = yes; then
if test "$ac_cv_func_alloca_works" = "yes"; then
AC_DEFINE(HAVE_ALLOCA)
fi
if test $ac_cv_func_alloca_works = no; then
if test "$ac_cv_func_alloca_works" = "no"; then
# The SVR3 libPW and SVR4 libucb both contain incompatible functions
# that cause trouble. Some versions do not even contain alloca or
# contain a buggy version. If you still want to use their alloca,
......@@ -637,7 +644,7 @@ then
wenotbecray
#endif
], ac_cv_os_cray=yes, ac_cv_os_cray=no)])
if test $ac_cv_os_cray = yes; then
if test "$ac_cv_os_cray" = "yes"; then
for ac_func in _getb67 GETB67 getb67; do
AC_CHECK_FUNC($ac_func, [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func)
break])
......@@ -742,6 +749,10 @@ AC_DEFUN(MYSQL_CHECK_VIO, [
])
AC_DEFUN(MYSQL_FIND_OPENSSL, [
incs="$1"
libs="$2"
case "$incs---$libs" in
---)
for d in /usr/ssl/include /usr/local/ssl/include /usr/include \
/usr/include/ssl /opt/ssl/include /opt/openssl/include \
/usr/local/ssl/include /usr/local/include ; do
......@@ -751,17 +762,30 @@ AC_DEFUN(MYSQL_FIND_OPENSSL, [
done
for d in /usr/ssl/lib /usr/local/ssl/lib /usr/lib/openssl \
/usr/lib /opt/ssl/lib /opt/openssl/lib /usr/local/lib/ ; do
/usr/lib /usr/lib64 /opt/ssl/lib /opt/openssl/lib /usr/local/lib/ ; do
if test -f $d/libssl.a ; then
OPENSSL_LIB=$d
fi
done
;;
---* | *---)
AC_MSG_ERROR([if either 'includes' or 'libs' is specified, both must be specified])
;;
* )
if test -f $incs/openssl/ssl.h ; then
OPENSSL_INCLUDE=-I$incs
fi
if test -f $libs/libssl.a ; then
OPENSSL_LIB=$libs
fi
;;
esac
# On RedHat 9 we need kerberos to compile openssl
for d in /usr/kerberos/include
do
if test -f $d/krb5.h ; then
OPENSSL_INCLUDE="$OPENSSL_INCLUDE -I$d"
OPENSSL_KERBEROS_INCLUDE="$d"
fi
done
......@@ -770,7 +794,7 @@ AC_DEFUN(MYSQL_FIND_OPENSSL, [
echo "Could not find an installation of OpenSSL"
if test -n "$OPENSSL_LIB" ; then
if test "$IS_LINUX" = "true"; then
echo "Looks like you've forgotted to install OpenSSL development RPM"
echo "Looks like you've forgotten to install OpenSSL development RPM"
fi
fi
exit 1
......@@ -785,11 +809,23 @@ AC_MSG_CHECKING(for OpenSSL)
[openssl="$withval"],
[openssl=no])
openssl_libs=""
openssl_includes=""
AC_ARG_WITH([openssl-includes],
[
--with-openssl-includes=DIR
Find OpenSSL headers in DIR],
[openssl_includes="$withval"],
[openssl_includes=""])
AC_ARG_WITH([openssl-libs],
[
--with-openssl-libs=DIR
Find OpenSSL libraries in DIR],
[openssl_libs="$withval"],
[openssl_libs=""])
if test "$openssl" = "yes"
then
MYSQL_FIND_OPENSSL
MYSQL_FIND_OPENSSL([$openssl_includes], [$openssl_libs])
#force VIO use
vio_dir="vio"
vio_libs="../vio/libvio.la"
......@@ -798,10 +834,15 @@ AC_MSG_CHECKING(for OpenSSL)
openssl_libs="-L$OPENSSL_LIB -lssl -lcrypto"
# Don't set openssl_includes to /usr/include as this gives us a lot of
# compiler warnings when using gcc 3.x
openssl_includes=""
if test "$OPENSSL_INCLUDE" != "-I/usr/include"
then
openssl_includes="$OPENSSL_INCLUDE"
fi
if test "$OPENSSL_KERBEROS_INCLUDE"
then
openssl_includes="$openssl_includes -I$OPENSSL_KERBEROS_INCLUDE"
fi
AC_DEFINE(HAVE_OPENSSL)
# openssl-devel-0.9.6 requires dlopen() and we can't link staticly
......@@ -811,7 +852,7 @@ AC_MSG_CHECKING(for OpenSSL)
case "$CLIENT_EXTRA_LDFLAGS $MYSQLD_EXTRA_LDFLAGS" in
*-all-static*) using_static="yes" ;;
esac
if test $using_static = "yes"
if test "$using_static" = "yes"
then
echo "You can't use the --all-static link option when using openssl."
exit 1
......
......@@ -70,7 +70,7 @@ char *get_tty_password(char *opt_message)
char *pos=to,*end=to+sizeof(to)-1;
int i=0;
DBUG_ENTER("get_tty_password");
fprintf(stderr,opt_message ? opt_message : "Enter password: ");
_cputs(opt_message ? opt_message : "Enter password: ");
for (;;)
{
char tmp;
......
......@@ -2645,7 +2645,8 @@ com_status(String *buffer __attribute__((unused)),
(void) mysql_fetch_row(result); // Read eof
}
#ifdef HAVE_OPENSSL
if (mysql.net.vio->ssl_ && SSL_get_cipher(mysql.net.vio->ssl_))
if (mysql.net.vio && mysql.net.vio->ssl_ &&
SSL_get_cipher(mysql.net.vio->ssl_))
tee_fprintf(stdout, "SSL:\t\t\tCipher in use is %s\n",
SSL_get_cipher(mysql.net.vio->ssl_));
else
......@@ -2924,12 +2925,11 @@ static void mysql_end_timer(ulong start_time,char *buff)
static const char* construct_prompt()
{
//erase the old prompt
processed_prompt.free();
//get the date struct
time_t lclock = time(NULL);
processed_prompt.free(); // Erase the old prompt
time_t lclock = time(NULL); // Get the date struct
struct tm *t = localtime(&lclock);
//parse thru the settings for the prompt
/* parse thru the settings for the prompt */
for (char *c = current_prompt; *c ; *c++)
{
if (*c != PROMPT_CHAR)
......@@ -2938,8 +2938,7 @@ static const char* construct_prompt()
{
switch (*++c) {
case '\0':
//stop it from going beyond if ends with %
c--;
c--; // stop it from going beyond if ends with %
break;
case 'c':
add_int_to_prompt(++prompt_counter);
......
/* Copyright (C) 2001 MySQL AB
/* Copyright (C) 2001-2003 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -51,21 +51,19 @@ static bool short_form = 0;
static ulonglong offset = 0;
static const char* host = "localhost";
static int port = MYSQL_PORT;
static const char* sock= MYSQL_UNIX_ADDR;
static const char* user = "test";
static const char* pass = "";
static ulonglong position = 0;
static bool use_remote = 0;
static short binlog_flags = 0;
static MYSQL* mysql = NULL;
static const char* table = 0;
static const char* dirname_for_local_load= 0;
static void dump_local_log_entries(const char* logname);
static void dump_remote_log_entries(const char* logname);
static void dump_log_entries(const char* logname);
static void dump_remote_file(NET* net, const char* fname);
static void dump_remote_table(NET* net, const char* db, const char* table);
static void die(const char* fmt, ...);
static MYSQL* safe_connect();
......@@ -224,8 +222,9 @@ static struct my_option my_long_options[] =
{"short-form", 's', "Just show the queries, no extra info.",
(gptr*) &short_form, (gptr*) &short_form, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
0, 0},
{"table", 't', "Get raw table dump using COM_TABLE_DUMB.", (gptr*) &table,
(gptr*) &table, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"socket", 'S', "Socket file to use for connection.",
(gptr*) &sock, (gptr*) &sock, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0,
0, 0},
{"user", 'u', "Connect to the remote server as username.",
(gptr*) &user, (gptr*) &user, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0,
0, 0},
......@@ -369,7 +368,7 @@ static MYSQL* safe_connect()
if(!local_mysql)
die("Failed on mysql_init");
if (!mysql_real_connect(local_mysql, host, user, pass, 0, port, 0, 0))
if (!mysql_real_connect(local_mysql, host, user, pass, 0, port, sock, 0))
die("failed on connect: %s", mysql_error(local_mysql));
return local_mysql;
......@@ -383,35 +382,6 @@ static void dump_log_entries(const char* logname)
dump_local_log_entries(logname);
}
static void dump_remote_table(NET* net, const char* db, const char* table)
{
char buf[1024];
char * p = buf;
uint table_len = (uint) strlen(table);
uint db_len = (uint) strlen(db);
if (table_len + db_len > sizeof(buf) - 2)
die("Buffer overrun");
*p++ = db_len;
memcpy(p, db, db_len);
p += db_len;
*p++ = table_len;
memcpy(p, table, table_len);
if (simple_command(mysql, COM_TABLE_DUMP, buf, p - buf + table_len, 1))
die("Error sending the table dump command");
for (;;)
{
uint packet_len = my_net_read(net);
if (packet_len == 0) break; // end of file
if (packet_len == packet_error)
die("Error reading packet in table dump");
my_fwrite(result_file, (byte*)net->read_pos, packet_len, MYF(MY_WME));
fflush(result_file);
}
}
static int check_master_version(MYSQL* mysql)
{
MYSQL_RES* res = 0;
......@@ -491,7 +461,7 @@ static void dump_remote_log_entries(const char* logname)
len = net_safe_read(mysql);
if (len == packet_error)
die("Error reading packet from server: %s", mysql_error(mysql));
if (len == 1 && net->read_pos[0] == 254)
if (len < 8 && net->read_pos[0] == 254)
break; // end of data
DBUG_PRINT("info",( "len= %u, net->read_pos[5] = %d\n",
len, net->read_pos[5]));
......@@ -527,8 +497,8 @@ static int check_header(IO_CACHE* file)
if (buf[4] == START_EVENT)
{
uint event_len;
event_len = uint4korr(buf + 4);
old_format = (event_len < LOG_EVENT_HEADER_LEN + START_HEADER_LEN);
event_len = uint4korr(buf + EVENT_LEN_OFFSET);
old_format = (event_len < (LOG_EVENT_HEADER_LEN + START_HEADER_LEN));
}
}
my_b_seek(file, pos);
......@@ -673,7 +643,7 @@ int main(int argc, char** argv)
MY_INIT(argv[0]);
parse_args(&argc, (char***)&argv);
if (!argc && !table)
if (!argc)
{
usage();
return -1;
......@@ -696,22 +666,8 @@ int main(int argc, char** argv)
else
load_processor.init_by_cur_dir();
if (table)
{
if (!use_remote)
die("You must specify connection parameter to get table dump");
char* db = (char*) table;
char* tbl = (char*) strchr(table, '.');
if (!tbl)
die("You must use database.table syntax to specify the table");
*tbl++ = 0;
dump_remote_table(&mysql->net, db, tbl);
}
else
{
while (--argc >= 0)
dump_log_entries(*(argv++));
}
if (tmpdir.list)
free_tmpdir(&tmpdir);
if (result_file != stdout)
......
......@@ -1014,7 +1014,8 @@ int do_sync_with_master2(const char* p)
if (!(row = mysql_fetch_row(res)))
die("line %u: empty result in %s", start_lineno, query_buf);
if (!row[0])
die("Error on slave while syncing with master");
die("line %u: could not sync with master ('%s' returned NULL)",
start_lineno, query_buf);
mysql_free_result(res);
last_result=0;
if (rpl_parse)
......
......@@ -755,7 +755,7 @@ AC_CHECK_LIB(crypt, crypt)
AC_CHECK_FUNC(crypt, AC_DEFINE(HAVE_CRYPT))
# For sem_xxx functions on Solaris 2.6
AC_CHECK_FUNC(sem_init, , AC_CHECK_LIB(posix4))
AC_CHECK_FUNC(sem_init, , AC_CHECK_LIB(posix4, sem_init))
# For compress in zlib
MYSQL_CHECK_ZLIB_WITH_COMPRESS($with_named_zlib)
......@@ -1280,12 +1280,12 @@ then
AC_MSG_ERROR([On SCO UNIX MySQL must be compiled with gcc. See the Installation chapter in the Reference Manual.]);
fi
AC_MSG_RESULT("yes")
# Hack for SCO UnixWare 7.1
# Hack for SCO UnixWare 7.1.x
#
elif test "$with_named_thread" = "no"
then
AC_MSG_RESULT("no")
AC_MSG_CHECKING("SCO UnixWare 7.1 native threads")
AC_MSG_CHECKING("SCO UnixWare 7.1.x native threads")
if expr "$SYSTEM_TYPE" : ".*sco.*" > /dev/null
then
if test -f /usr/lib/libthread.so -o -f /usr/lib/libthreadT.so
......@@ -1308,11 +1308,11 @@ then
AC_MSG_CHECKING("for gcc")
if expr "$CC" : ".*gcc.*"
then
CC="$CC -pthread -DUNIXWARE_7";
CXX="$CXX -pthread -DUNIXWARE_7";
CC="$CC -pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK";
CXX="$CXX -pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK";
else
CC="$CC -Kthread -DUNIXWARE_7";
CXX="$CXX -Kthread -DUNIXWARE_7";
CC="$CC -Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK";
CXX="$CXX -Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK";
fi
else
{ echo "configure: error: Can't find thread libs on SCO UnixWare7. See the Installation chapter in the Reference Manual." 1>&2; exit 1; };
......@@ -1348,10 +1348,11 @@ then
AC_MSG_CHECKING("for gcc")
if expr "$CC" : ".*gcc.*"
then
{ echo "configure: error: On SCO UnixWare7 MySQL must be compiled with cc. See the Installation chapter in the Reference Manual." 1>&2; exit 1; };
CC="$CC -pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK";
CXX="$CXX -pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK";
else
CC="$CC -Kthread -DUNIXWARE_7";
CXX="$CXX -Kthread -DUNIXWARE_7";
CC="$CC -Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK";
CXX="$CXX -Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK";
fi
AC_MSG_RESULT("yes")
else
......@@ -1383,7 +1384,8 @@ then
AC_MSG_CHECKING("for gcc")
if expr "$CC" : ".*gcc.*"
then
{ echo "configure: error: On OpenUNIX8 and UnixWare7 MySQL must be compiled with cc. See the Installation chapter in the Reference Manual." 1>&2; exit 1; };
CC="$CC -pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK";
CXX="$CXX -pthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK";
else
CC="$CC -Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK";
CXX="$CXX -Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK";
......
......@@ -111,7 +111,7 @@ static void usage(void)
{
print_version();
puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,\nand you are welcome to modify and redistribute it under the GPL license\n");
printf("Print a description for a system error code or a error code from\na MyISAM/ISAM/BDB table handler.\n");
printf("Print a description for a system error code or an error code from\na MyISAM/ISAM/BDB table handler.\n");
printf("If you want to get the error for a negative error code, you should use\n-- before the first error code to tell perror that there was no more options.\n\n");
printf("Usage: %s [OPTIONS] [ERRORCODE [ERRORCODE...]]\n",my_progname);
my_print_help(my_long_options);
......
......@@ -253,7 +253,6 @@ inline double ulonglong2double(ulonglong value)
#define HAVE_PERROR
#define HAVE_VFPRINT
#define HAVE_CHSIZE /* System has chsize() function */
#define HAVE_RENAME /* Have rename() as function */
#define HAVE_BINARY_STREAMS /* Have "b" flag in streams */
#define HAVE_LONG_JMP /* Have long jump function */
......
......@@ -257,7 +257,8 @@ enum ha_base_keytype {
#define HA_ERR_CANNOT_ADD_FOREIGN 150 /* Cannot add a foreign key constr. */
#define HA_ERR_NO_REFERENCED_ROW 151 /* Cannot add a child row */
#define HA_ERR_ROW_IS_REFERENCED 152 /* Cannot delete a parent row */
#define HA_ERR_NON_UNIQUE_BLOCK_SIZE 153 /* Non unique key block size */
#define HA_ERR_NO_SAVEPOINT 153 /* No savepoint with that name */
#define HA_ERR_NON_UNIQUE_BLOCK_SIZE 154 /* Non unique key block size */
/* Other constants */
......
......@@ -43,6 +43,10 @@
#define HAVE_ERRNO_AS_DEFINE
#endif /* __CYGWIN__ */
#if defined(i386) && !defined(__i386__)
#define __i386__
#endif
/* Macros to make switching between C and C++ mode easier */
#ifdef __cplusplus
#define C_MODE_START extern "C" {
......@@ -283,7 +287,9 @@ C_MODE_END
#endif
#ifdef HAVE_ATOMIC_ADD
#define __SMP__
#ifndef CONFIG_SMP
#define CONFIG_SMP
#endif
#include <asm/atomic.h>
#endif
#include <errno.h> /* Recommended by debian */
......@@ -660,7 +666,6 @@ typedef long my_ptrdiff_t;
typedef long long my_ptrdiff_t;
#endif
#define MY_ALIGN(A,L) (((A) + (L) - 1) & ~((L) - 1))
#define ALIGN_SIZE(A) MY_ALIGN((A),sizeof(double))
/* Size to make adressable obj. */
......@@ -920,8 +925,11 @@ typedef union {
double v;
long m[2];
} doubleget_union;
#define doubleget(V,M) { ((doubleget_union *)&V)->m[0] = *((long*) M); \
((doubleget_union *)&V)->m[1] = *(((long*) M)+1); }
#define doubleget(V,M) \
{ doubleget_union _tmp; \
_tmp.m[0] = *((long*)(M)); \
_tmp.m[1] = *(((long*) (M))+1); \
(V) = _tmp.v; }
#define doublestore(T,V) { *((long *) T) = ((doubleget_union *)&V)->m[0]; \
*(((long *) T)+1) = ((doubleget_union *)&V)->m[1]; }
#define float4get(V,M) { *((long *) &(V)) = *((long*) (M)); }
......
......@@ -135,7 +135,7 @@ extern int NEAR my_errno; /* Last error in mysys */
#define QUICK_SAFEMALLOC sf_malloc_quick=1
#define NORMAL_SAFEMALLOC sf_malloc_quick=0
extern uint sf_malloc_prehunc,sf_malloc_endhunc,sf_malloc_quick;
extern ulonglong safemalloc_mem_limit;
extern ulonglong sf_malloc_mem_limit;
#define CALLER_INFO_PROTO , const char *sFile, uint uLine
#define CALLER_INFO , __FILE__, __LINE__
......@@ -240,7 +240,7 @@ extern int NEAR my_umask, /* Default creation mask */
NEAR my_safe_to_handle_signal, /* Set when allowed to SIGTSTP */
NEAR my_dont_interrupt; /* call remember_intr when set */
extern my_bool NEAR mysys_uses_curses, my_use_symdir;
extern long lCurMemory,lMaxMemory; /* from safemalloc */
extern ulong sf_malloc_cur_memory, sf_malloc_max_memory;
extern ulong my_default_record_cache_size;
extern my_bool NEAR my_disable_locking,NEAR my_disable_async_io,
......
......@@ -253,39 +253,40 @@
#define ER_CANT_USE_OPTION_HERE 1234
#define ER_NOT_SUPPORTED_YET 1235
#define ER_MASTER_FATAL_ERROR_READING_BINLOG 1236
#define ER_WRONG_FK_DEF 1237
#define ER_KEY_REF_DO_NOT_MATCH_TABLE_REF 1238
#define ER_CARDINALITY_COL 1239
#define ER_SUBSELECT_NO_1_ROW 1240
#define ER_UNKNOWN_STMT_HANDLER 1241
#define ER_CORRUPT_HELP_DB 1242
#define ER_CYCLIC_REFERENCE 1243
#define ER_AUTO_CONVERT 1244
#define ER_ILLEGAL_REFERENCE 1245
#define ER_DERIVED_MUST_HAVE_ALIAS 1246
#define ER_SELECT_REDUCED 1247
#define ER_TABLENAME_NOT_ALLOWED_HERE 1248
#define ER_NOT_SUPPORTED_AUTH_MODE 1249
#define ER_SPATIAL_CANT_HAVE_NULL 1250
#define ER_COLLATION_CHARSET_MISMATCH 1251
#define ER_SLAVE_WAS_RUNNING 1252
#define ER_SLAVE_WAS_NOT_RUNNING 1253
#define ER_TOO_BIG_FOR_UNCOMPRESS 1254
#define ER_ZLIB_Z_MEM_ERROR 1255
#define ER_ZLIB_Z_BUF_ERROR 1256
#define ER_ZLIB_Z_DATA_ERROR 1257
#define ER_CUT_VALUE_GROUP_CONCAT 1258
#define ER_WARN_TOO_FEW_RECORDS 1259
#define ER_WARN_TOO_MANY_RECORDS 1260
#define ER_WARN_NULL_TO_NOTNULL 1261
#define ER_WARN_DATA_OUT_OF_RANGE 1262
#define ER_WARN_DATA_TRUNCATED 1263
#define ER_WARN_USING_OTHER_HANDLER 1264
#define ER_CANT_AGGREGATE_2COLLATIONS 1265
#define ER_DROP_USER 1266
#define ER_REVOKE_GRANTS 1267
#define ER_CANT_AGGREGATE_3COLLATIONS 1268
#define ER_CANT_AGGREGATE_NCOLLATIONS 1269
#define ER_VARIABLE_IS_NOT_STRUCT 1270
#define ER_UNKNOWN_COLLATION 1271
#define ER_ERROR_MESSAGES 272
#define ER_SLAVE_IGNORED_TABLE 1237
#define ER_WRONG_FK_DEF 1238
#define ER_KEY_REF_DO_NOT_MATCH_TABLE_REF 1239
#define ER_CARDINALITY_COL 1240
#define ER_SUBSELECT_NO_1_ROW 1241
#define ER_UNKNOWN_STMT_HANDLER 1242
#define ER_CORRUPT_HELP_DB 1243
#define ER_CYCLIC_REFERENCE 1244
#define ER_AUTO_CONVERT 1245
#define ER_ILLEGAL_REFERENCE 1246
#define ER_DERIVED_MUST_HAVE_ALIAS 1247
#define ER_SELECT_REDUCED 1248
#define ER_TABLENAME_NOT_ALLOWED_HERE 1249
#define ER_NOT_SUPPORTED_AUTH_MODE 1250
#define ER_SPATIAL_CANT_HAVE_NULL 1251
#define ER_COLLATION_CHARSET_MISMATCH 1252
#define ER_SLAVE_WAS_RUNNING 1253
#define ER_SLAVE_WAS_NOT_RUNNING 1254
#define ER_TOO_BIG_FOR_UNCOMPRESS 1255
#define ER_ZLIB_Z_MEM_ERROR 1256
#define ER_ZLIB_Z_BUF_ERROR 1257
#define ER_ZLIB_Z_DATA_ERROR 1258
#define ER_CUT_VALUE_GROUP_CONCAT 1259
#define ER_WARN_TOO_FEW_RECORDS 1260
#define ER_WARN_TOO_MANY_RECORDS 1261
#define ER_WARN_NULL_TO_NOTNULL 1262
#define ER_WARN_DATA_OUT_OF_RANGE 1263
#define ER_WARN_DATA_TRUNCATED 1264
#define ER_WARN_USING_OTHER_HANDLER 1265
#define ER_CANT_AGGREGATE_2COLLATIONS 1266
#define ER_DROP_USER 1267
#define ER_REVOKE_GRANTS 1268
#define ER_CANT_AGGREGATE_3COLLATIONS 1269
#define ER_CANT_AGGREGATE_NCOLLATIONS 1270
#define ER_VARIABLE_IS_NOT_STRUCT 1271
#define ER_UNKNOWN_COLLATION 1272
#define ER_ERROR_MESSAGES 273
......@@ -822,9 +822,16 @@ btr_page_reorganize_low(
{
page_t* new_page;
ulint log_mode;
ulint data_size1;
ulint data_size2;
ulint max_ins_size1;
ulint max_ins_size2;
ut_ad(mtr_memo_contains(mtr, buf_block_align(page),
MTR_MEMO_PAGE_X_FIX));
data_size1 = page_get_data_size(page);
max_ins_size1 = page_get_max_insert_size_after_reorganize(page, 1);
/* Write the log record */
mlog_write_initial_log_record(page, MLOG_PAGE_REORGANIZE, mtr);
......@@ -859,6 +866,19 @@ btr_page_reorganize_low(
lock_move_reorganize_page(page, new_page);
}
data_size2 = page_get_data_size(page);
max_ins_size2 = page_get_max_insert_size_after_reorganize(page, 1);
if (data_size1 != data_size2 || max_ins_size1 != max_ins_size2) {
buf_page_print(page);
buf_page_print(new_page);
fprintf(stderr,
"InnoDB: Error: page old data size %lu new data size %lu\n"
"InnoDB: Error: page old max ins size %lu new max ins size %lu\n"
"InnoDB: Make a detailed bug report and send it to mysql@lists.mysql.com\n",
data_size1, data_size2, max_ins_size1, max_ins_size2);
}
buf_frame_free(new_page);
/* Restore logging mode */
......@@ -1945,11 +1965,20 @@ btr_compress(
btr_page_reorganize(merge_page, mtr);
max_ins_size = page_get_max_insert_size(merge_page, n_recs);
ut_ad(page_validate(merge_page, cursor->index));
ut_ad(page_get_max_insert_size(merge_page, n_recs)
== max_ins_size_reorg);
}
if (data_size > max_ins_size) {
/* Add fault tolerance, though this should never happen */
return;
}
btr_search_drop_page_hash_index(page);
/* Remove the page from the level list */
......
......@@ -1110,6 +1110,10 @@ btr_cur_pessimistic_insert(
if (big_rec_vec == NULL) {
if (n_extents > 0) {
fil_space_release_free_extents(index->space,
n_extents);
}
return(DB_TOO_BIG_RECORD);
}
}
......@@ -1367,7 +1371,8 @@ btr_cur_update_sec_rec_in_place(
}
/*****************************************************************
Updates a record when the update causes no size changes in its fields. */
Updates a record when the update causes no size changes in its fields.
We assume here that the ordering fields of the record do not change. */
ulint
btr_cur_update_in_place(
......@@ -1458,7 +1463,8 @@ btr_cur_update_in_place(
Tries to update a record on a page in an index tree. It is assumed that mtr
holds an x-latch on the page. The operation does not succeed if there is too
little space on the page or if the update would result in too empty a page,
so that tree compression is recommended. */
so that tree compression is recommended. We assume here that the ordering
fields of the record do not change. */
ulint
btr_cur_optimistic_update(
......@@ -1510,10 +1516,11 @@ btr_cur_optimistic_update(
ut_ad(mtr_memo_contains(mtr, buf_block_align(page),
MTR_MEMO_PAGE_X_FIX));
if (!row_upd_changes_field_size(rec, index, update)) {
if (!row_upd_changes_field_size_or_external(rec, index, update)) {
/* The simplest and most common case: the update does not
change the size of any field */
/* The simplest and the most common case: the update does not
change the size of any field and none of the updated fields is
externally stored in rec or update */
return(btr_cur_update_in_place(flags, cursor, update,
cmpl_info, thr, mtr));
......@@ -1542,7 +1549,7 @@ btr_cur_optimistic_update(
new_entry = row_rec_to_index_entry(ROW_COPY_DATA, index, rec, heap);
row_upd_clust_index_replace_new_col_vals(new_entry, update);
row_upd_index_replace_new_col_vals(new_entry, index, update, NULL);
old_rec_size = rec_get_size(rec);
new_rec_size = rec_get_converted_size(new_entry);
......@@ -1673,53 +1680,12 @@ btr_cur_pess_upd_restore_supremum(
rec);
}
/***************************************************************
Replaces and copies the data in the new column values stored in the
update vector to the clustered index entry given. */
static
void
btr_cur_copy_new_col_vals(
/*======================*/
dtuple_t* entry, /* in/out: index entry where replaced */
upd_t* update, /* in: update vector */
mem_heap_t* heap) /* in: heap where data is copied */
{
upd_field_t* upd_field;
dfield_t* dfield;
dfield_t* new_val;
ulint field_no;
byte* data;
ulint i;
dtuple_set_info_bits(entry, update->info_bits);
for (i = 0; i < upd_get_n_fields(update); i++) {
upd_field = upd_get_nth_field(update, i);
field_no = upd_field->field_no;
dfield = dtuple_get_nth_field(entry, field_no);
new_val = &(upd_field->new_val);
if (new_val->len == UNIV_SQL_NULL) {
data = NULL;
} else {
data = mem_heap_alloc(heap, new_val->len);
ut_memcpy(data, new_val->data, new_val->len);
}
dfield_set_data(dfield, data, new_val->len);
}
}
/*****************************************************************
Performs an update of a record on a page of a tree. It is assumed
that mtr holds an x-latch on the tree and on the cursor page. If the
update is made on the leaf level, to avoid deadlocks, mtr must also
own x-latches to brothers of page, if those brothers exist. */
own x-latches to brothers of page, if those brothers exist. We assume
here that the ordering fields of the record do not change. */
ulint
btr_cur_pessimistic_update(
......@@ -1816,7 +1782,7 @@ btr_cur_pessimistic_update(
new_entry = row_rec_to_index_entry(ROW_COPY_DATA, index, rec, heap);
btr_cur_copy_new_col_vals(new_entry, update, heap);
row_upd_index_replace_new_col_vals(new_entry, index, update, heap);
if (!(flags & BTR_KEEP_SYS_FLAG)) {
row_upd_index_entry_sys_field(new_entry, index, DATA_ROLL_PTR,
......@@ -1825,21 +1791,6 @@ btr_cur_pessimistic_update(
trx->id);
}
page_cursor = btr_cur_get_page_cur(cursor);
/* Store state of explicit locks on rec on the page infimum record,
before deleting rec. The page infimum acts as a dummy carrier of the
locks, taking care also of lock releases, before we can move the locks
back on the actual record. There is a special case: if we are
inserting on the root page and the insert causes a call of
btr_root_raise_and_insert. Therefore we cannot in the lock system
delete the lock structs set on the root page even if the root
page carries just node pointers. */
lock_rec_store_on_page_infimum(rec);
btr_search_update_hash_on_delete(cursor);
if (flags & BTR_NO_UNDO_LOG_FLAG) {
/* We are in a transaction rollback undoing a row
update: we must free possible externally stored fields
......@@ -1860,10 +1811,6 @@ btr_cur_pessimistic_update(
ext_vect = mem_heap_alloc(heap, sizeof(ulint) * rec_get_n_fields(rec));
n_ext_vect = btr_push_update_extern_fields(ext_vect, rec, update);
page_cur_delete_rec(page_cursor, mtr);
page_cur_move_to_prev(page_cursor);
if ((rec_get_converted_size(new_entry) >=
page_get_free_space_of_empty() / 2)
|| (rec_get_converted_size(new_entry) >= REC_MAX_DATA_SIZE)) {
......@@ -1874,10 +1821,31 @@ btr_cur_pessimistic_update(
mem_heap_free(heap);
err = DB_TOO_BIG_RECORD;
goto return_after_reservations;
}
}
page_cursor = btr_cur_get_page_cur(cursor);
/* Store state of explicit locks on rec on the page infimum record,
before deleting rec. The page infimum acts as a dummy carrier of the
locks, taking care also of lock releases, before we can move the locks
back on the actual record. There is a special case: if we are
inserting on the root page and the insert causes a call of
btr_root_raise_and_insert. Therefore we cannot in the lock system
delete the lock structs set on the root page even if the root
page carries just node pointers. */
lock_rec_store_on_page_infimum(rec);
btr_search_update_hash_on_delete(cursor);
page_cur_delete_rec(page_cursor, mtr);
page_cur_move_to_prev(page_cursor);
rec = btr_cur_insert_if_possible(cursor, new_entry,
&dummy_reorganized, mtr);
ut_a(rec || optim_err != DB_UNDERFLOW);
......@@ -3372,8 +3340,8 @@ btr_free_externally_stored_field(
page_no = mach_read_from_4(data + local_len
+ BTR_EXTERN_PAGE_NO);
offset = mach_read_from_4(data + local_len + BTR_EXTERN_OFFSET);
offset = mach_read_from_4(data + local_len
+ BTR_EXTERN_OFFSET);
extern_len = mach_read_from_4(data + local_len
+ BTR_EXTERN_LEN + 4);
......
......@@ -381,6 +381,8 @@ btr_pcur_move_to_next_page(
btr_leaf_page_release(page, cursor->latch_mode, mtr);
page_cur_set_before_first(next_page, btr_pcur_get_page_cur(cursor));
page_check_dir(next_page);
}
/*************************************************************
......
......@@ -34,6 +34,7 @@ Created 11/5/1995 Heikki Tuuri
#include "ibuf0ibuf.h"
#include "dict0dict.h"
#include "log0recv.h"
#include "log0log.h"
#include "trx0undo.h"
#include "srv0srv.h"
......@@ -231,12 +232,12 @@ ibool buf_debug_prints = FALSE; /* If this is set TRUE,
/************************************************************************
Calculates a page checksum which is stored to the page when it is written
to a file. Note that we must be careful to calculate the same value
on 32-bit and 64-bit architectures. */
to a file. Note that we must be careful to calculate the same value on
32-bit and 64-bit architectures. */
ulint
buf_calc_page_checksum(
/*===================*/
buf_calc_page_new_checksum(
/*=======================*/
/* out: checksum */
byte* page) /* in: buffer page */
{
......@@ -244,12 +245,39 @@ buf_calc_page_checksum(
/* Since the fields FIL_PAGE_FILE_FLUSH_LSN and ..._ARCH_LOG_NO
are written outside the buffer pool to the first pages of data
files, we have to skip them in page checksum calculation */
files, we have to skip them in the page checksum calculation.
We must also skip the field FIL_PAGE_SPACE_OR_CHKSUM where the
checksum is stored, and also the last 8 bytes of page because
there we store the old formula checksum. */
checksum = ut_fold_binary(page, FIL_PAGE_FILE_FLUSH_LSN);
checksum = ut_fold_binary(page + FIL_PAGE_OFFSET,
FIL_PAGE_FILE_FLUSH_LSN - FIL_PAGE_OFFSET)
+ ut_fold_binary(page + FIL_PAGE_DATA,
UNIV_PAGE_SIZE - FIL_PAGE_DATA
- FIL_PAGE_END_LSN);
- FIL_PAGE_END_LSN_OLD_CHKSUM);
checksum = checksum & 0xFFFFFFFF;
return(checksum);
}
/************************************************************************
In versions < 4.0.14 and < 4.1.1 there was a bug that the checksum only
looked at the first few bytes of the page. This calculates that old
checksum.
NOTE: we must first store the new formula checksum to
FIL_PAGE_SPACE_OR_CHKSUM before calculating and storing this old checksum
because this takes that field as an input! */
ulint
buf_calc_page_old_checksum(
/*=======================*/
/* out: checksum */
byte* page) /* in: buffer page */
{
ulint checksum;
checksum = ut_fold_binary(page, FIL_PAGE_FILE_FLUSH_LSN);
checksum = checksum & 0xFFFFFFFF;
return(checksum);
......@@ -265,24 +293,66 @@ buf_page_is_corrupted(
byte* read_buf) /* in: a database page */
{
ulint checksum;
ulint old_checksum;
ulint checksum_field;
ulint old_checksum_field;
dulint current_lsn;
checksum = buf_calc_page_checksum(read_buf);
if (mach_read_from_4(read_buf + FIL_PAGE_LSN + 4)
!= mach_read_from_4(read_buf + UNIV_PAGE_SIZE
- FIL_PAGE_END_LSN_OLD_CHKSUM + 4)) {
/* Note that InnoDB initializes empty pages to zero, and
early versions of InnoDB did not store page checksum to
the 4 most significant bytes of the page lsn field at the
end of a page: */
/* Stored log sequence numbers at the start and the end
of page do not match */
return(TRUE);
}
#ifndef UNIV_HOTBACKUP
if (recv_lsn_checks_on && log_peek_lsn(&current_lsn)) {
if (ut_dulint_cmp(current_lsn,
mach_read_from_8(read_buf + FIL_PAGE_LSN))
< 0) {
ut_print_timestamp(stderr);
fprintf(stderr,
" InnoDB: Error: page %lu log sequence number %lu %lu\n"
"InnoDB: is in the future! Current system log sequence number %lu %lu.\n"
"InnoDB: Your database may be corrupt.\n",
mach_read_from_4(read_buf + FIL_PAGE_OFFSET),
ut_dulint_get_high(
mach_read_from_8(read_buf + FIL_PAGE_LSN)),
ut_dulint_get_low(
mach_read_from_8(read_buf + FIL_PAGE_LSN)),
ut_dulint_get_high(current_lsn),
ut_dulint_get_low(current_lsn));
}
}
#endif
old_checksum = buf_calc_page_old_checksum(read_buf);
old_checksum_field = mach_read_from_4(read_buf + UNIV_PAGE_SIZE
- FIL_PAGE_END_LSN_OLD_CHKSUM);
/* There are 2 valid formulas for old_checksum_field:
1. Very old versions of InnoDB only stored 8 byte lsn to the start
and the end of the page.
2. Newer InnoDB versions store the old formula checksum there. */
if (old_checksum_field != mach_read_from_4(read_buf + FIL_PAGE_LSN)
&& old_checksum_field != old_checksum) {
return(TRUE);
}
checksum = buf_calc_page_new_checksum(read_buf);
checksum_field = mach_read_from_4(read_buf + FIL_PAGE_SPACE_OR_CHKSUM);
/* InnoDB versions < 4.0.14 and < 4.1.1 stored the space id
(always equal to 0), to FIL_PAGE_SPACE_SPACE_OR_CHKSUM */
if (checksum_field != 0 && checksum_field != checksum) {
if ((mach_read_from_4(read_buf + FIL_PAGE_LSN + 4)
!= mach_read_from_4(read_buf + UNIV_PAGE_SIZE
- FIL_PAGE_END_LSN + 4))
|| (checksum != mach_read_from_4(read_buf
+ UNIV_PAGE_SIZE
- FIL_PAGE_END_LSN)
&& mach_read_from_4(read_buf + FIL_PAGE_LSN)
!= mach_read_from_4(read_buf
+ UNIV_PAGE_SIZE
- FIL_PAGE_END_LSN))) {
return(TRUE);
}
......@@ -299,6 +369,7 @@ buf_page_print(
{
dict_index_t* index;
ulint checksum;
ulint old_checksum;
char* buf;
buf = mem_alloc(4 * UNIV_PAGE_SIZE);
......@@ -313,19 +384,23 @@ buf_page_print(
mem_free(buf);
checksum = buf_calc_page_checksum(read_buf);
checksum = buf_calc_page_new_checksum(read_buf);
old_checksum = buf_calc_page_old_checksum(read_buf);
ut_print_timestamp(stderr);
fprintf(stderr, " InnoDB: Page checksum %lu stored checksum %lu\n",
checksum, mach_read_from_4(read_buf
+ UNIV_PAGE_SIZE
- FIL_PAGE_END_LSN));
fprintf(stderr,
" InnoDB: Page checksum %lu, prior-to-4.0.14-form checksum %lu\n"
"InnoDB: stored checksum %lu, prior-to-4.0.14-form stored checksum %lu\n",
checksum, old_checksum,
mach_read_from_4(read_buf + FIL_PAGE_SPACE_OR_CHKSUM),
mach_read_from_4(read_buf + UNIV_PAGE_SIZE
- FIL_PAGE_END_LSN_OLD_CHKSUM));
fprintf(stderr,
"InnoDB: Page lsn %lu %lu, low 4 bytes of lsn at page end %lu\n",
mach_read_from_4(read_buf + FIL_PAGE_LSN),
mach_read_from_4(read_buf + FIL_PAGE_LSN + 4),
mach_read_from_4(read_buf + UNIV_PAGE_SIZE
- FIL_PAGE_END_LSN + 4));
- FIL_PAGE_END_LSN_OLD_CHKSUM + 4));
if (mach_read_from_2(read_buf + TRX_UNDO_PAGE_HDR + TRX_UNDO_PAGE_TYPE)
== TRX_UNDO_INSERT) {
fprintf(stderr,
......
......@@ -361,21 +361,29 @@ buf_flush_init_for_writing(
ulint space, /* in: space id */
ulint page_no) /* in: page number */
{
/* Write the newest modification lsn to the page */
mach_write_to_8(page + FIL_PAGE_LSN, newest_lsn);
UT_NOT_USED(space);
mach_write_to_8(page + UNIV_PAGE_SIZE - FIL_PAGE_END_LSN, newest_lsn);
/* Write the newest modification lsn to the page header and trailer */
mach_write_to_8(page + FIL_PAGE_LSN, newest_lsn);
/* Write to the page the space id and page number */
mach_write_to_8(page + UNIV_PAGE_SIZE - FIL_PAGE_END_LSN_OLD_CHKSUM,
newest_lsn);
/* Write the page number */
mach_write_to_4(page + FIL_PAGE_SPACE, space);
mach_write_to_4(page + FIL_PAGE_OFFSET, page_no);
/* Store the new formula checksum */
mach_write_to_4(page + FIL_PAGE_SPACE_OR_CHKSUM,
buf_calc_page_new_checksum(page));
/* We overwrite the first 4 bytes of the end lsn field to store
a page checksum */
the old formula checksum. Since it depends also on the field
FIL_PAGE_SPACE_OR_CHKSUM, it has to be calculated after storing the
new formula checksum. */
mach_write_to_4(page + UNIV_PAGE_SIZE - FIL_PAGE_END_LSN,
buf_calc_page_checksum(page));
mach_write_to_4(page + UNIV_PAGE_SIZE - FIL_PAGE_END_LSN_OLD_CHKSUM,
buf_calc_page_old_checksum(page));
}
/************************************************************************
......
......@@ -584,8 +584,7 @@ dtuple_convert_big_rec(
* sizeof(big_rec_field_t));
/* Decide which fields to shorten: the algorithm is to look for
the longest field which does not occur in the ordering part
of any index on the table */
the longest field whose type is DATA_BLOB */
n_fields = 0;
......@@ -610,12 +609,9 @@ dtuple_convert_big_rec(
}
}
/* Skip over fields which are ordering in some index */
if (!is_externally_stored &&
dict_field_get_col(
dict_index_get_nth_field(index, i))
->ord_part == 0) {
if (!is_externally_stored
&& dict_index_get_nth_type(index, i)->mtype
== DATA_BLOB) {
dfield = dtuple_get_nth_field(entry, i);
......@@ -629,9 +625,13 @@ dtuple_convert_big_rec(
}
}
if (longest < BTR_EXTERN_FIELD_REF_SIZE + 10
+ REC_1BYTE_OFFS_LIMIT) {
/* We do not store externally fields which are smaller than
DICT_MAX_COL_PREFIX_LEN */
ut_a(DICT_MAX_COL_PREFIX_LEN > REC_1BYTE_OFFS_LIMIT);
if (longest < BTR_EXTERN_FIELD_REF_SIZE + 10
+ DICT_MAX_COL_PREFIX_LEN) {
/* Cannot shorten more */
mem_heap_free(heap);
......@@ -644,13 +644,19 @@ dtuple_convert_big_rec(
drop below 128 which is the limit for the 2-byte
offset storage format in a physical record. This
we accomplish by storing 128 bytes of data in entry
itself, and only the remaining part to big rec vec. */
itself, and only the remaining part to big rec vec.
We store the first bytes locally to the record. Then
we can calculate all ordering fields in all indexes
from locally stored data. */
dfield = dtuple_get_nth_field(entry, longest_i);
vector->fields[n_fields].field_no = longest_i;
ut_a(dfield->len > DICT_MAX_COL_PREFIX_LEN);
vector->fields[n_fields].len = dfield->len
- REC_1BYTE_OFFS_LIMIT;
- DICT_MAX_COL_PREFIX_LEN;
vector->fields[n_fields].data = mem_heap_alloc(heap,
vector->fields[n_fields].len);
......
......@@ -85,8 +85,6 @@ dtype_print(
printf("DATA_MIX_ID");
} else if (prtype == DATA_ENGLISH) {
printf("DATA_ENGLISH");
} else if (prtype == DATA_FINNISH) {
printf("DATA_FINNISH");
} else {
printf("prtype %lu", mtype);
}
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment