Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mashka.mysql.fi:/home/my/mysql-4.0
This commit is contained in:
commit
9bba878b8c
@ -538,3 +538,4 @@ Docs/internals_toc.html
|
||||
scripts/make_win_src_distribution
|
||||
libmysql/vio_priv.h
|
||||
libmysql_r/vio_priv.h
|
||||
hardcopy.0
|
||||
|
@ -1,5 +1,17 @@
|
||||
#! /bin/sh
|
||||
|
||||
echo "\
|
||||
********************************************************************************
|
||||
Note that by default BUILD/compile-pentium-valgrind-max calls 'configure' with
|
||||
--enable-assembler. When Valgrind detects an error involving an assembly
|
||||
function (for example an uninitialized value used as an argument of an assembly
|
||||
function), Valgrind will not print the stacktrace and 'valgrind
|
||||
--gdb-attach=yes' will not work either. If you need a stacktrace in those cases,
|
||||
you have to run BUILD/compile-pentium-valgrind-max with the --disable-assembler
|
||||
argument.
|
||||
********************************************************************************
|
||||
"
|
||||
|
||||
path=`dirname $0`
|
||||
. "$path/SETUP.sh"
|
||||
|
||||
@ -11,3 +23,15 @@ extra_configs="$pentium_configs $debug_configs"
|
||||
extra_configs="$extra_configs --with-berkeley-db --with-innodb --with-embedded-server --with-openssl"
|
||||
|
||||
. "$path/FINISH.sh"
|
||||
|
||||
echo "\
|
||||
********************************************************************************
|
||||
Note that by default BUILD/compile-pentium-valgrind-max calls 'configure' with
|
||||
--enable-assembler. When Valgrind detects an error involving an assembly
|
||||
function (for example an uninitialized value used as an argument of an assembly
|
||||
function), Valgrind will not print the stacktrace and 'valgrind
|
||||
--gdb-attach=yes' will not work either. If you need a stacktrace in those cases,
|
||||
you have to run BUILD/compile-pentium-valgrind-max with the --disable-assembler
|
||||
argument.
|
||||
********************************************************************************
|
||||
"
|
||||
|
@ -64,6 +64,7 @@ monty@donna.mysql.fi
|
||||
monty@hundin.mysql.fi
|
||||
monty@mashka.(none)
|
||||
monty@mashka.mysql.fi
|
||||
monty@mishka.mysql.fi
|
||||
monty@narttu.
|
||||
monty@narttu.mysql.fi
|
||||
monty@rescue.
|
||||
@ -79,12 +80,14 @@ nick@mysql.com
|
||||
nick@nick.leippe.com
|
||||
paul@central.snake.net
|
||||
paul@ice.local
|
||||
paul@ice.snake.net
|
||||
paul@teton.kitebird.com
|
||||
pem@mysql.com
|
||||
peter@linux.local
|
||||
peter@mysql.com
|
||||
peterg@mysql.com
|
||||
pgulutzan@linux.local
|
||||
ram@gw.mysql.r18.ru
|
||||
ram@mysql.r18.ru
|
||||
ram@ram.(none)
|
||||
ranger@regul.home.lan
|
||||
|
@ -1,37 +0,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
|
||||
|
||||
|
@ -1,192 +0,0 @@
|
||||
[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
|
||||
|
@ -1,42 +0,0 @@
|
||||
[<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
|
||||
|
@ -1,35 +0,0 @@
|
||||
[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
|
||||
|
@ -1,82 +0,0 @@
|
||||
[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=
|
||||
|
@ -1,4 +0,0 @@
|
||||
[General]
|
||||
Type=FILELIST
|
||||
Version=1.00.000
|
||||
|
@ -1,191 +0,0 @@
|
||||
[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=
|
||||
|
@ -1,99 +0,0 @@
|
||||
[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
|
||||
|
@ -1,36 +0,0 @@
|
||||
[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
|
||||
|
@ -1,184 +0,0 @@
|
||||
[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=
|
||||
|
@ -1,51 +0,0 @@
|
||||
[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
|
||||
|
@ -1,4 +0,0 @@
|
||||
[General]
|
||||
Type=REGISTRYDATA
|
||||
Version=1.00.000
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,641 +0,0 @@
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IIIIIII SSSSSS
|
||||
// II SS InstallShield (R)
|
||||
// II SSSSSS (c) 1996-1997, InstallShield Software Corporation
|
||||
// II SS (c) 1990-1996, InstallShield Corporation
|
||||
// IIIIIII SSSSSS All Rights Reserved.
|
||||
//
|
||||
//
|
||||
// This code is generated as a starting setup template. You should
|
||||
// modify it to provide all necessary steps for your setup.
|
||||
//
|
||||
//
|
||||
// File Name: Setup.rul
|
||||
//
|
||||
// Description: InstallShield script
|
||||
//
|
||||
// Comments: This template script performs a basic setup on a
|
||||
// Windows 95 or Windows NT 4.0 platform. With minor
|
||||
// modifications, this template can be adapted to create
|
||||
// new, customized setups.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
// Include header file
|
||||
#include "sdlang.h"
|
||||
#include "sddialog.h"
|
||||
|
||||
////////////////////// string defines ////////////////////////////
|
||||
|
||||
#define UNINST_LOGFILE_NAME "Uninst.isu"
|
||||
|
||||
//////////////////// installation declarations ///////////////////
|
||||
|
||||
// ----- DLL prototypes -----
|
||||
|
||||
|
||||
// your DLL prototypes
|
||||
|
||||
|
||||
// ---- script prototypes -----
|
||||
|
||||
// generated
|
||||
prototype ShowDialogs();
|
||||
prototype MoveFileData();
|
||||
prototype HandleMoveDataError( NUMBER );
|
||||
prototype ProcessBeforeDataMove();
|
||||
prototype ProcessAfterDataMove();
|
||||
prototype SetupRegistry();
|
||||
prototype SetupFolders();
|
||||
prototype CleanUpInstall();
|
||||
prototype SetupInstall();
|
||||
prototype SetupScreen();
|
||||
prototype CheckRequirements();
|
||||
prototype DialogShowSdWelcome();
|
||||
prototype DialogShowSdShowInfoList();
|
||||
prototype DialogShowSdAskDestPath();
|
||||
prototype DialogShowSdSetupType();
|
||||
prototype DialogShowSdComponentDialog2();
|
||||
prototype DialogShowSdFinishReboot();
|
||||
|
||||
// your prototypes
|
||||
|
||||
|
||||
// ----- global variables ------
|
||||
|
||||
// generated
|
||||
BOOL bWinNT, bIsShellExplorer, bInstallAborted, bIs32BitSetup;
|
||||
STRING svDir;
|
||||
STRING svName, svCompany, svSerial;
|
||||
STRING szAppPath;
|
||||
STRING svSetupType;
|
||||
|
||||
|
||||
// your global variables
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// MAIN PROGRAM
|
||||
//
|
||||
// The setup begins here by hiding the visible setup
|
||||
// window. This is done to allow all the titles, images, etc. to
|
||||
// be established before showing the main window. The following
|
||||
// logic then performs the setup in a series of steps.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
program
|
||||
Disable( BACKGROUND );
|
||||
|
||||
CheckRequirements();
|
||||
|
||||
SetupInstall();
|
||||
|
||||
SetupScreen();
|
||||
|
||||
if (ShowDialogs()<0) goto end_install;
|
||||
|
||||
if (ProcessBeforeDataMove()<0) goto end_install;
|
||||
|
||||
if (MoveFileData()<0) goto end_install;
|
||||
|
||||
if (ProcessAfterDataMove()<0) goto end_install;
|
||||
|
||||
if (SetupRegistry()<0) goto end_install;
|
||||
|
||||
if (SetupFolders()<0) goto end_install;
|
||||
|
||||
|
||||
end_install:
|
||||
|
||||
CleanUpInstall();
|
||||
|
||||
// If an unrecoverable error occurred, clean up the partial installation.
|
||||
// Otherwise, exit normally.
|
||||
|
||||
if (bInstallAborted) then
|
||||
abort;
|
||||
endif;
|
||||
|
||||
endprogram
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: ShowDialogs //
|
||||
// //
|
||||
// Purpose: This function manages the display and navigation //
|
||||
// the standard dialogs that exist in a setup. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function ShowDialogs()
|
||||
NUMBER nResult;
|
||||
begin
|
||||
|
||||
Dlg_Start:
|
||||
// beginning of dialogs label
|
||||
|
||||
Dlg_SdWelcome:
|
||||
nResult = DialogShowSdWelcome();
|
||||
if (nResult = BACK) goto Dlg_Start;
|
||||
|
||||
Dlg_SdShowInfoList:
|
||||
nResult = DialogShowSdShowInfoList();
|
||||
if (nResult = BACK) goto Dlg_SdWelcome;
|
||||
|
||||
Dlg_SdAskDestPath:
|
||||
nResult = DialogShowSdAskDestPath();
|
||||
if (nResult = BACK) goto Dlg_SdShowInfoList;
|
||||
|
||||
Dlg_SdSetupType:
|
||||
nResult = DialogShowSdSetupType();
|
||||
if (nResult = BACK) goto Dlg_SdAskDestPath;
|
||||
|
||||
Dlg_SdComponentDialog2:
|
||||
if ((nResult = BACK) && (svSetupType != "Custom") && (svSetupType != "")) then
|
||||
goto Dlg_SdSetupType;
|
||||
endif;
|
||||
nResult = DialogShowSdComponentDialog2();
|
||||
if (nResult = BACK) goto Dlg_SdSetupType;
|
||||
|
||||
return 0;
|
||||
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: ProcessBeforeDataMove //
|
||||
// //
|
||||
// Purpose: This function performs any necessary operations prior to the //
|
||||
// actual data move operation. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function ProcessBeforeDataMove()
|
||||
STRING svLogFile;
|
||||
NUMBER nResult;
|
||||
begin
|
||||
|
||||
InstallationInfo( @COMPANY_NAME, @PRODUCT_NAME, @PRODUCT_VERSION, @PRODUCT_KEY );
|
||||
|
||||
svLogFile = UNINST_LOGFILE_NAME;
|
||||
|
||||
nResult = DeinstallStart( svDir, svLogFile, @UNINST_KEY, 0 );
|
||||
if (nResult < 0) then
|
||||
MessageBox( @ERROR_UNINSTSETUP, WARNING );
|
||||
endif;
|
||||
|
||||
szAppPath = TARGETDIR; // TODO : if your application .exe is in a subdir of TARGETDIR then add subdir
|
||||
|
||||
if ((bIs32BitSetup) && (bIsShellExplorer)) then
|
||||
RegDBSetItem( REGDB_APPPATH, szAppPath );
|
||||
RegDBSetItem( REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY );
|
||||
RegDBSetItem( REGDB_UNINSTALL_NAME, @UNINST_DISPLAY_NAME );
|
||||
endif;
|
||||
|
||||
// TODO : update any items you want to process before moving the data
|
||||
//
|
||||
|
||||
return 0;
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: MoveFileData //
|
||||
// //
|
||||
// Purpose: This function handles the data movement for //
|
||||
// the setup. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function MoveFileData()
|
||||
NUMBER nResult, nDisk;
|
||||
begin
|
||||
|
||||
nDisk = 1;
|
||||
SetStatusWindow( 0, "" );
|
||||
Disable( DIALOGCACHE );
|
||||
Enable( STATUS );
|
||||
StatusUpdate( ON, 100 );
|
||||
nResult = ComponentMoveData( MEDIA, nDisk, 0 );
|
||||
|
||||
HandleMoveDataError( nResult );
|
||||
|
||||
Disable( STATUS );
|
||||
|
||||
return nResult;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: HandleMoveDataError //
|
||||
// //
|
||||
// Purpose: This function handles the error (if any) during the move data //
|
||||
// operation. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function HandleMoveDataError( nResult )
|
||||
STRING szErrMsg, svComponent , svFileGroup , svFile;
|
||||
begin
|
||||
|
||||
svComponent = "";
|
||||
svFileGroup = "";
|
||||
svFile = "";
|
||||
|
||||
switch (nResult)
|
||||
case 0:
|
||||
return 0;
|
||||
default:
|
||||
ComponentError ( MEDIA , svComponent , svFileGroup , svFile , nResult );
|
||||
szErrMsg = @ERROR_MOVEDATA + "\n\n" +
|
||||
@ERROR_COMPONENT + " " + svComponent + "\n" +
|
||||
@ERROR_FILEGROUP + " " + svFileGroup + "\n" +
|
||||
@ERROR_FILE + " " + svFile;
|
||||
SprintfBox( SEVERE, @TITLE_CAPTIONBAR, szErrMsg, nResult );
|
||||
bInstallAborted = TRUE;
|
||||
return nResult;
|
||||
endswitch;
|
||||
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: ProcessAfterDataMove //
|
||||
// //
|
||||
// Purpose: This function performs any necessary operations needed after //
|
||||
// all data has been moved. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function ProcessAfterDataMove()
|
||||
begin
|
||||
|
||||
// TODO : update self-registered files and other processes that
|
||||
// should be performed after the data has been moved.
|
||||
|
||||
|
||||
return 0;
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: SetupRegistry //
|
||||
// //
|
||||
// Purpose: This function makes the registry entries for this setup. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function SetupRegistry()
|
||||
NUMBER nResult;
|
||||
|
||||
begin
|
||||
|
||||
// TODO : Add all your registry entry keys here
|
||||
//
|
||||
//
|
||||
// RegDBCreateKeyEx, RegDBSetKeyValueEx....
|
||||
//
|
||||
|
||||
nResult = CreateRegistrySet( "" );
|
||||
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Function: SetupFolders
|
||||
//
|
||||
// Purpose: This function creates all the folders and shortcuts for the
|
||||
// setup. This includes program groups and items for Windows 3.1.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function SetupFolders()
|
||||
NUMBER nResult;
|
||||
|
||||
begin
|
||||
|
||||
|
||||
// TODO : Add all your folder (program group) along with shortcuts (program items)
|
||||
//
|
||||
//
|
||||
// CreateProgramFolder, AddFolderIcon....
|
||||
//
|
||||
|
||||
nResult = CreateShellObjects( "" );
|
||||
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: CleanUpInstall //
|
||||
// //
|
||||
// Purpose: This cleans up the setup. Anything that should //
|
||||
// be released or deleted at the end of the setup should //
|
||||
// be done here. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function CleanUpInstall()
|
||||
begin
|
||||
|
||||
|
||||
if (bInstallAborted) then
|
||||
return 0;
|
||||
endif;
|
||||
|
||||
DialogShowSdFinishReboot();
|
||||
|
||||
if (BATCH_INSTALL) then // ensure locked files are properly written
|
||||
CommitSharedFiles(0);
|
||||
endif;
|
||||
|
||||
return 0;
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: SetupInstall //
|
||||
// //
|
||||
// Purpose: This will setup the installation. Any general initialization //
|
||||
// needed for the installation should be performed here. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function SetupInstall()
|
||||
begin
|
||||
|
||||
Enable( CORECOMPONENTHANDLING );
|
||||
|
||||
bInstallAborted = FALSE;
|
||||
|
||||
if (bIs32BitSetup) then
|
||||
svDir = "C:\\mysql"; //PROGRAMFILES ^ @COMPANY_NAME ^ @PRODUCT_NAME;
|
||||
else
|
||||
svDir = "C:\\mysql"; //PROGRAMFILES ^ @COMPANY_NAME16 ^ @PRODUCT_NAME16; // use shorten names
|
||||
endif;
|
||||
|
||||
TARGETDIR = svDir;
|
||||
|
||||
SdProductName( @PRODUCT_NAME );
|
||||
|
||||
Enable( DIALOGCACHE );
|
||||
|
||||
return 0;
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: SetupScreen //
|
||||
// //
|
||||
// Purpose: This function establishes the screen look. This includes //
|
||||
// colors, fonts, and text to be displayed. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function SetupScreen()
|
||||
begin
|
||||
|
||||
Enable( FULLWINDOWMODE );
|
||||
Enable( INDVFILESTATUS );
|
||||
SetTitle( @TITLE_MAIN, 24, WHITE );
|
||||
|
||||
SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION ); // Caption bar text.
|
||||
|
||||
Enable( BACKGROUND );
|
||||
|
||||
Delay( 1 );
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: CheckRequirements //
|
||||
// //
|
||||
// Purpose: This function checks all minimum requirements for the //
|
||||
// application being installed. If any fail, then the user //
|
||||
// is informed and the setup is terminated. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function CheckRequirements()
|
||||
NUMBER nvDx, nvDy, nvResult;
|
||||
STRING svResult;
|
||||
|
||||
begin
|
||||
|
||||
bWinNT = FALSE;
|
||||
bIsShellExplorer = FALSE;
|
||||
|
||||
// Check screen resolution.
|
||||
GetExtents( nvDx, nvDy );
|
||||
|
||||
if (nvDy < 480) then
|
||||
MessageBox( @ERROR_VGARESOLUTION, WARNING );
|
||||
abort;
|
||||
endif;
|
||||
|
||||
// set 'setup' operation mode
|
||||
bIs32BitSetup = TRUE;
|
||||
GetSystemInfo( ISTYPE, nvResult, svResult );
|
||||
if (nvResult = 16) then
|
||||
bIs32BitSetup = FALSE; // running 16-bit setup
|
||||
return 0; // no additional information required
|
||||
endif;
|
||||
|
||||
// --- 32-bit testing after this point ---
|
||||
|
||||
// Determine the target system's operating system.
|
||||
GetSystemInfo( OS, nvResult, svResult );
|
||||
|
||||
if (nvResult = IS_WINDOWSNT) then
|
||||
// Running Windows NT.
|
||||
bWinNT = TRUE;
|
||||
|
||||
// Check to see if the shell being used is EXPLORER shell.
|
||||
if (GetSystemInfo( OSMAJOR, nvResult, svResult ) = 0) then
|
||||
if (nvResult >= 4) then
|
||||
bIsShellExplorer = TRUE;
|
||||
endif;
|
||||
endif;
|
||||
|
||||
elseif (nvResult = IS_WINDOWS95 ) then
|
||||
bIsShellExplorer = TRUE;
|
||||
|
||||
endif;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: DialogShowSdWelcome //
|
||||
// //
|
||||
// Purpose: This function handles the standard welcome dialog. //
|
||||
// //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function DialogShowSdWelcome()
|
||||
NUMBER nResult;
|
||||
STRING szTitle, szMsg;
|
||||
begin
|
||||
|
||||
szTitle = "";
|
||||
szMsg = "";
|
||||
nResult = SdWelcome( szTitle, szMsg );
|
||||
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: DialogShowSdShowInfoList //
|
||||
// //
|
||||
// Purpose: This function displays the general information list dialog. //
|
||||
// //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function DialogShowSdShowInfoList()
|
||||
NUMBER nResult;
|
||||
LIST list;
|
||||
STRING szTitle, szMsg, szFile;
|
||||
begin
|
||||
|
||||
szFile = SUPPORTDIR ^ "infolist.txt";
|
||||
|
||||
list = ListCreate( STRINGLIST );
|
||||
ListReadFromFile( list, szFile );
|
||||
szTitle = "";
|
||||
szMsg = " ";
|
||||
nResult = SdShowInfoList( szTitle, szMsg, list );
|
||||
|
||||
ListDestroy( list );
|
||||
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: DialogShowSdAskDestPath //
|
||||
// //
|
||||
// Purpose: This function asks the user for the destination directory. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function DialogShowSdAskDestPath()
|
||||
NUMBER nResult;
|
||||
STRING szTitle, szMsg;
|
||||
begin
|
||||
|
||||
szTitle = "";
|
||||
szMsg = "";
|
||||
nResult = SdAskDestPath( szTitle, szMsg, svDir, 0 );
|
||||
|
||||
TARGETDIR = svDir;
|
||||
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: DialogShowSdSetupType //
|
||||
// //
|
||||
// Purpose: This function displays the standard setup type dialog. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function DialogShowSdSetupType()
|
||||
NUMBER nResult, nType;
|
||||
STRING szTitle, szMsg;
|
||||
begin
|
||||
|
||||
switch (svSetupType)
|
||||
case "Typical":
|
||||
nType = TYPICAL;
|
||||
case "Custom":
|
||||
nType = CUSTOM;
|
||||
case "Compact":
|
||||
nType = COMPACT;
|
||||
case "":
|
||||
svSetupType = "Typical";
|
||||
nType = TYPICAL;
|
||||
endswitch;
|
||||
|
||||
szTitle = "";
|
||||
szMsg = "";
|
||||
nResult = SetupType( szTitle, szMsg, "", nType, 0 );
|
||||
|
||||
switch (nResult)
|
||||
case COMPACT:
|
||||
svSetupType = "Compact";
|
||||
case TYPICAL:
|
||||
svSetupType = "Typical";
|
||||
case CUSTOM:
|
||||
svSetupType = "Custom";
|
||||
endswitch;
|
||||
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: DialogShowSdComponentDialog2 //
|
||||
// //
|
||||
// Purpose: This function displays the custom component dialog. //
|
||||
// //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function DialogShowSdComponentDialog2()
|
||||
NUMBER nResult;
|
||||
STRING szTitle, szMsg;
|
||||
begin
|
||||
|
||||
if ((svSetupType != "Custom") && (svSetupType != "")) then
|
||||
return 0;
|
||||
endif;
|
||||
|
||||
szTitle = "";
|
||||
szMsg = "";
|
||||
nResult = SdComponentDialog2( szTitle, szMsg, svDir, "" );
|
||||
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: DialogShowSdFinishReboot //
|
||||
// //
|
||||
// Purpose: This function will show the last dialog of the product. //
|
||||
// It will allow the user to reboot and/or show some readme text. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function DialogShowSdFinishReboot()
|
||||
NUMBER nResult, nDefOptions;
|
||||
STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
|
||||
NUMBER bOpt1, bOpt2;
|
||||
begin
|
||||
/*
|
||||
if (!BATCH_INSTALL) then
|
||||
bOpt1 = FALSE;
|
||||
bOpt2 = FALSE;
|
||||
szMsg1 = "";
|
||||
szMsg2 = "";
|
||||
szOption1 = "";
|
||||
szOption2 = "";
|
||||
nResult = SdFinish( szTitle, szMsg1, szMsg2, szOption1, szOption2, bOpt1, bOpt2 );
|
||||
return 0;
|
||||
endif;
|
||||
|
||||
nDefOptions = SYS_BOOTMACHINE;
|
||||
szTitle = "";
|
||||
szMsg1 = "";
|
||||
szMsg2 = "";
|
||||
nResult = SdFinishReboot( szTitle, szMsg1, nDefOptions, szMsg2, 0 );
|
||||
*/
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
// --- include script file section ---
|
||||
|
||||
#include "sddialog.rul"
|
||||
|
||||
|
||||
|
@ -1,24 +0,0 @@
|
||||
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
|
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
@ -1,12 +0,0 @@
|
||||
[Data]
|
||||
Folder3=<FOLDER_STARTUP>
|
||||
Group0=Main
|
||||
Group1=Startup
|
||||
Folder0=<FOLDER_DESKTOP>
|
||||
Folder1=<FOLDER_STARTMENU>
|
||||
Folder2=<FOLDER_PROGRAMS>
|
||||
|
||||
[Info]
|
||||
Type=ShellObject
|
||||
Version=1.00.000
|
||||
|
@ -1,23 +0,0 @@
|
||||
[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
|
||||
|
@ -1,74 +0,0 @@
|
||||
[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=
|
||||
|
@ -1,56 +0,0 @@
|
||||
[<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
|
||||
|
@ -1,76 +0,0 @@
|
||||
[<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
|
||||
|
@ -1,37 +0,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
|
||||
|
||||
|
@ -1,192 +0,0 @@
|
||||
[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
|
||||
|
@ -1,42 +0,0 @@
|
||||
[<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
|
||||
|
@ -1,35 +0,0 @@
|
||||
[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
|
||||
|
@ -1,82 +0,0 @@
|
||||
[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=
|
||||
|
@ -1,4 +0,0 @@
|
||||
[General]
|
||||
Type=FILELIST
|
||||
Version=1.00.000
|
||||
|
@ -1,190 +0,0 @@
|
||||
[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=
|
||||
|
@ -1,98 +0,0 @@
|
||||
[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
|
||||
|
@ -1,36 +0,0 @@
|
||||
[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
|
||||
|
@ -1,183 +0,0 @@
|
||||
[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=
|
||||
|
@ -1,51 +0,0 @@
|
||||
[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
|
||||
|
@ -1,4 +0,0 @@
|
||||
[General]
|
||||
Type=REGISTRYDATA
|
||||
Version=1.00.000
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,641 +0,0 @@
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IIIIIII SSSSSS
|
||||
// II SS InstallShield (R)
|
||||
// II SSSSSS (c) 1996-1997, InstallShield Software Corporation
|
||||
// II SS (c) 1990-1996, InstallShield Corporation
|
||||
// IIIIIII SSSSSS All Rights Reserved.
|
||||
//
|
||||
//
|
||||
// This code is generated as a starting setup template. You should
|
||||
// modify it to provide all necessary steps for your setup.
|
||||
//
|
||||
//
|
||||
// File Name: Setup.rul
|
||||
//
|
||||
// Description: InstallShield script
|
||||
//
|
||||
// Comments: This template script performs a basic setup on a
|
||||
// Windows 95 or Windows NT 4.0 platform. With minor
|
||||
// modifications, this template can be adapted to create
|
||||
// new, customized setups.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
// Include header file
|
||||
#include "sdlang.h"
|
||||
#include "sddialog.h"
|
||||
|
||||
////////////////////// string defines ////////////////////////////
|
||||
|
||||
#define UNINST_LOGFILE_NAME "Uninst.isu"
|
||||
|
||||
//////////////////// installation declarations ///////////////////
|
||||
|
||||
// ----- DLL prototypes -----
|
||||
|
||||
|
||||
// your DLL prototypes
|
||||
|
||||
|
||||
// ---- script prototypes -----
|
||||
|
||||
// generated
|
||||
prototype ShowDialogs();
|
||||
prototype MoveFileData();
|
||||
prototype HandleMoveDataError( NUMBER );
|
||||
prototype ProcessBeforeDataMove();
|
||||
prototype ProcessAfterDataMove();
|
||||
prototype SetupRegistry();
|
||||
prototype SetupFolders();
|
||||
prototype CleanUpInstall();
|
||||
prototype SetupInstall();
|
||||
prototype SetupScreen();
|
||||
prototype CheckRequirements();
|
||||
prototype DialogShowSdWelcome();
|
||||
prototype DialogShowSdShowInfoList();
|
||||
prototype DialogShowSdAskDestPath();
|
||||
prototype DialogShowSdSetupType();
|
||||
prototype DialogShowSdComponentDialog2();
|
||||
prototype DialogShowSdFinishReboot();
|
||||
|
||||
// your prototypes
|
||||
|
||||
|
||||
// ----- global variables ------
|
||||
|
||||
// generated
|
||||
BOOL bWinNT, bIsShellExplorer, bInstallAborted, bIs32BitSetup;
|
||||
STRING svDir;
|
||||
STRING svName, svCompany, svSerial;
|
||||
STRING szAppPath;
|
||||
STRING svSetupType;
|
||||
|
||||
|
||||
// your global variables
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// MAIN PROGRAM
|
||||
//
|
||||
// The setup begins here by hiding the visible setup
|
||||
// window. This is done to allow all the titles, images, etc. to
|
||||
// be established before showing the main window. The following
|
||||
// logic then performs the setup in a series of steps.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
program
|
||||
Disable( BACKGROUND );
|
||||
|
||||
CheckRequirements();
|
||||
|
||||
SetupInstall();
|
||||
|
||||
SetupScreen();
|
||||
|
||||
if (ShowDialogs()<0) goto end_install;
|
||||
|
||||
if (ProcessBeforeDataMove()<0) goto end_install;
|
||||
|
||||
if (MoveFileData()<0) goto end_install;
|
||||
|
||||
if (ProcessAfterDataMove()<0) goto end_install;
|
||||
|
||||
if (SetupRegistry()<0) goto end_install;
|
||||
|
||||
if (SetupFolders()<0) goto end_install;
|
||||
|
||||
|
||||
end_install:
|
||||
|
||||
CleanUpInstall();
|
||||
|
||||
// If an unrecoverable error occurred, clean up the partial installation.
|
||||
// Otherwise, exit normally.
|
||||
|
||||
if (bInstallAborted) then
|
||||
abort;
|
||||
endif;
|
||||
|
||||
endprogram
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: ShowDialogs //
|
||||
// //
|
||||
// Purpose: This function manages the display and navigation //
|
||||
// the standard dialogs that exist in a setup. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function ShowDialogs()
|
||||
NUMBER nResult;
|
||||
begin
|
||||
|
||||
Dlg_Start:
|
||||
// beginning of dialogs label
|
||||
|
||||
Dlg_SdWelcome:
|
||||
nResult = DialogShowSdWelcome();
|
||||
if (nResult = BACK) goto Dlg_Start;
|
||||
|
||||
Dlg_SdShowInfoList:
|
||||
nResult = DialogShowSdShowInfoList();
|
||||
if (nResult = BACK) goto Dlg_SdWelcome;
|
||||
|
||||
Dlg_SdAskDestPath:
|
||||
nResult = DialogShowSdAskDestPath();
|
||||
if (nResult = BACK) goto Dlg_SdShowInfoList;
|
||||
|
||||
Dlg_SdSetupType:
|
||||
nResult = DialogShowSdSetupType();
|
||||
if (nResult = BACK) goto Dlg_SdAskDestPath;
|
||||
|
||||
Dlg_SdComponentDialog2:
|
||||
if ((nResult = BACK) && (svSetupType != "Custom") && (svSetupType != "")) then
|
||||
goto Dlg_SdSetupType;
|
||||
endif;
|
||||
nResult = DialogShowSdComponentDialog2();
|
||||
if (nResult = BACK) goto Dlg_SdSetupType;
|
||||
|
||||
return 0;
|
||||
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: ProcessBeforeDataMove //
|
||||
// //
|
||||
// Purpose: This function performs any necessary operations prior to the //
|
||||
// actual data move operation. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function ProcessBeforeDataMove()
|
||||
STRING svLogFile;
|
||||
NUMBER nResult;
|
||||
begin
|
||||
|
||||
InstallationInfo( @COMPANY_NAME, @PRODUCT_NAME, @PRODUCT_VERSION, @PRODUCT_KEY );
|
||||
|
||||
svLogFile = UNINST_LOGFILE_NAME;
|
||||
|
||||
nResult = DeinstallStart( svDir, svLogFile, @UNINST_KEY, 0 );
|
||||
if (nResult < 0) then
|
||||
MessageBox( @ERROR_UNINSTSETUP, WARNING );
|
||||
endif;
|
||||
|
||||
szAppPath = TARGETDIR; // TODO : if your application .exe is in a subdir of TARGETDIR then add subdir
|
||||
|
||||
if ((bIs32BitSetup) && (bIsShellExplorer)) then
|
||||
RegDBSetItem( REGDB_APPPATH, szAppPath );
|
||||
RegDBSetItem( REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY );
|
||||
RegDBSetItem( REGDB_UNINSTALL_NAME, @UNINST_DISPLAY_NAME );
|
||||
endif;
|
||||
|
||||
// TODO : update any items you want to process before moving the data
|
||||
//
|
||||
|
||||
return 0;
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: MoveFileData //
|
||||
// //
|
||||
// Purpose: This function handles the data movement for //
|
||||
// the setup. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function MoveFileData()
|
||||
NUMBER nResult, nDisk;
|
||||
begin
|
||||
|
||||
nDisk = 1;
|
||||
SetStatusWindow( 0, "" );
|
||||
Disable( DIALOGCACHE );
|
||||
Enable( STATUS );
|
||||
StatusUpdate( ON, 100 );
|
||||
nResult = ComponentMoveData( MEDIA, nDisk, 0 );
|
||||
|
||||
HandleMoveDataError( nResult );
|
||||
|
||||
Disable( STATUS );
|
||||
|
||||
return nResult;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: HandleMoveDataError //
|
||||
// //
|
||||
// Purpose: This function handles the error (if any) during the move data //
|
||||
// operation. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function HandleMoveDataError( nResult )
|
||||
STRING szErrMsg, svComponent , svFileGroup , svFile;
|
||||
begin
|
||||
|
||||
svComponent = "";
|
||||
svFileGroup = "";
|
||||
svFile = "";
|
||||
|
||||
switch (nResult)
|
||||
case 0:
|
||||
return 0;
|
||||
default:
|
||||
ComponentError ( MEDIA , svComponent , svFileGroup , svFile , nResult );
|
||||
szErrMsg = @ERROR_MOVEDATA + "\n\n" +
|
||||
@ERROR_COMPONENT + " " + svComponent + "\n" +
|
||||
@ERROR_FILEGROUP + " " + svFileGroup + "\n" +
|
||||
@ERROR_FILE + " " + svFile;
|
||||
SprintfBox( SEVERE, @TITLE_CAPTIONBAR, szErrMsg, nResult );
|
||||
bInstallAborted = TRUE;
|
||||
return nResult;
|
||||
endswitch;
|
||||
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: ProcessAfterDataMove //
|
||||
// //
|
||||
// Purpose: This function performs any necessary operations needed after //
|
||||
// all data has been moved. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function ProcessAfterDataMove()
|
||||
begin
|
||||
|
||||
// TODO : update self-registered files and other processes that
|
||||
// should be performed after the data has been moved.
|
||||
|
||||
|
||||
return 0;
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: SetupRegistry //
|
||||
// //
|
||||
// Purpose: This function makes the registry entries for this setup. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function SetupRegistry()
|
||||
NUMBER nResult;
|
||||
|
||||
begin
|
||||
|
||||
// TODO : Add all your registry entry keys here
|
||||
//
|
||||
//
|
||||
// RegDBCreateKeyEx, RegDBSetKeyValueEx....
|
||||
//
|
||||
|
||||
nResult = CreateRegistrySet( "" );
|
||||
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Function: SetupFolders
|
||||
//
|
||||
// Purpose: This function creates all the folders and shortcuts for the
|
||||
// setup. This includes program groups and items for Windows 3.1.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function SetupFolders()
|
||||
NUMBER nResult;
|
||||
|
||||
begin
|
||||
|
||||
|
||||
// TODO : Add all your folder (program group) along with shortcuts (program items)
|
||||
//
|
||||
//
|
||||
// CreateProgramFolder, AddFolderIcon....
|
||||
//
|
||||
|
||||
nResult = CreateShellObjects( "" );
|
||||
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: CleanUpInstall //
|
||||
// //
|
||||
// Purpose: This cleans up the setup. Anything that should //
|
||||
// be released or deleted at the end of the setup should //
|
||||
// be done here. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function CleanUpInstall()
|
||||
begin
|
||||
|
||||
|
||||
if (bInstallAborted) then
|
||||
return 0;
|
||||
endif;
|
||||
|
||||
DialogShowSdFinishReboot();
|
||||
|
||||
if (BATCH_INSTALL) then // ensure locked files are properly written
|
||||
CommitSharedFiles(0);
|
||||
endif;
|
||||
|
||||
return 0;
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: SetupInstall //
|
||||
// //
|
||||
// Purpose: This will setup the installation. Any general initialization //
|
||||
// needed for the installation should be performed here. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function SetupInstall()
|
||||
begin
|
||||
|
||||
Enable( CORECOMPONENTHANDLING );
|
||||
|
||||
bInstallAborted = FALSE;
|
||||
|
||||
if (bIs32BitSetup) then
|
||||
svDir = "C:\\mysql"; //PROGRAMFILES ^ @COMPANY_NAME ^ @PRODUCT_NAME;
|
||||
else
|
||||
svDir = "C:\\mysql"; //PROGRAMFILES ^ @COMPANY_NAME16 ^ @PRODUCT_NAME16; // use shorten names
|
||||
endif;
|
||||
|
||||
TARGETDIR = svDir;
|
||||
|
||||
SdProductName( @PRODUCT_NAME );
|
||||
|
||||
Enable( DIALOGCACHE );
|
||||
|
||||
return 0;
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: SetupScreen //
|
||||
// //
|
||||
// Purpose: This function establishes the screen look. This includes //
|
||||
// colors, fonts, and text to be displayed. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function SetupScreen()
|
||||
begin
|
||||
|
||||
Enable( FULLWINDOWMODE );
|
||||
Enable( INDVFILESTATUS );
|
||||
SetTitle( @TITLE_MAIN, 24, WHITE );
|
||||
|
||||
SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION ); // Caption bar text.
|
||||
|
||||
Enable( BACKGROUND );
|
||||
|
||||
Delay( 1 );
|
||||
end;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: CheckRequirements //
|
||||
// //
|
||||
// Purpose: This function checks all minimum requirements for the //
|
||||
// application being installed. If any fail, then the user //
|
||||
// is informed and the setup is terminated. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function CheckRequirements()
|
||||
NUMBER nvDx, nvDy, nvResult;
|
||||
STRING svResult;
|
||||
|
||||
begin
|
||||
|
||||
bWinNT = FALSE;
|
||||
bIsShellExplorer = FALSE;
|
||||
|
||||
// Check screen resolution.
|
||||
GetExtents( nvDx, nvDy );
|
||||
|
||||
if (nvDy < 480) then
|
||||
MessageBox( @ERROR_VGARESOLUTION, WARNING );
|
||||
abort;
|
||||
endif;
|
||||
|
||||
// set 'setup' operation mode
|
||||
bIs32BitSetup = TRUE;
|
||||
GetSystemInfo( ISTYPE, nvResult, svResult );
|
||||
if (nvResult = 16) then
|
||||
bIs32BitSetup = FALSE; // running 16-bit setup
|
||||
return 0; // no additional information required
|
||||
endif;
|
||||
|
||||
// --- 32-bit testing after this point ---
|
||||
|
||||
// Determine the target system's operating system.
|
||||
GetSystemInfo( OS, nvResult, svResult );
|
||||
|
||||
if (nvResult = IS_WINDOWSNT) then
|
||||
// Running Windows NT.
|
||||
bWinNT = TRUE;
|
||||
|
||||
// Check to see if the shell being used is EXPLORER shell.
|
||||
if (GetSystemInfo( OSMAJOR, nvResult, svResult ) = 0) then
|
||||
if (nvResult >= 4) then
|
||||
bIsShellExplorer = TRUE;
|
||||
endif;
|
||||
endif;
|
||||
|
||||
elseif (nvResult = IS_WINDOWS95 ) then
|
||||
bIsShellExplorer = TRUE;
|
||||
|
||||
endif;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: DialogShowSdWelcome //
|
||||
// //
|
||||
// Purpose: This function handles the standard welcome dialog. //
|
||||
// //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function DialogShowSdWelcome()
|
||||
NUMBER nResult;
|
||||
STRING szTitle, szMsg;
|
||||
begin
|
||||
|
||||
szTitle = "";
|
||||
szMsg = "";
|
||||
nResult = SdWelcome( szTitle, szMsg );
|
||||
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: DialogShowSdShowInfoList //
|
||||
// //
|
||||
// Purpose: This function displays the general information list dialog. //
|
||||
// //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function DialogShowSdShowInfoList()
|
||||
NUMBER nResult;
|
||||
LIST list;
|
||||
STRING szTitle, szMsg, szFile;
|
||||
begin
|
||||
|
||||
szFile = SUPPORTDIR ^ "infolist.txt";
|
||||
|
||||
list = ListCreate( STRINGLIST );
|
||||
ListReadFromFile( list, szFile );
|
||||
szTitle = "";
|
||||
szMsg = " ";
|
||||
nResult = SdShowInfoList( szTitle, szMsg, list );
|
||||
|
||||
ListDestroy( list );
|
||||
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: DialogShowSdAskDestPath //
|
||||
// //
|
||||
// Purpose: This function asks the user for the destination directory. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function DialogShowSdAskDestPath()
|
||||
NUMBER nResult;
|
||||
STRING szTitle, szMsg;
|
||||
begin
|
||||
|
||||
szTitle = "";
|
||||
szMsg = "";
|
||||
nResult = SdAskDestPath( szTitle, szMsg, svDir, 0 );
|
||||
|
||||
TARGETDIR = svDir;
|
||||
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: DialogShowSdSetupType //
|
||||
// //
|
||||
// Purpose: This function displays the standard setup type dialog. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function DialogShowSdSetupType()
|
||||
NUMBER nResult, nType;
|
||||
STRING szTitle, szMsg;
|
||||
begin
|
||||
|
||||
switch (svSetupType)
|
||||
case "Typical":
|
||||
nType = TYPICAL;
|
||||
case "Custom":
|
||||
nType = CUSTOM;
|
||||
case "Compact":
|
||||
nType = COMPACT;
|
||||
case "":
|
||||
svSetupType = "Typical";
|
||||
nType = TYPICAL;
|
||||
endswitch;
|
||||
|
||||
szTitle = "";
|
||||
szMsg = "";
|
||||
nResult = SetupType( szTitle, szMsg, "", nType, 0 );
|
||||
|
||||
switch (nResult)
|
||||
case COMPACT:
|
||||
svSetupType = "Compact";
|
||||
case TYPICAL:
|
||||
svSetupType = "Typical";
|
||||
case CUSTOM:
|
||||
svSetupType = "Custom";
|
||||
endswitch;
|
||||
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: DialogShowSdComponentDialog2 //
|
||||
// //
|
||||
// Purpose: This function displays the custom component dialog. //
|
||||
// //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function DialogShowSdComponentDialog2()
|
||||
NUMBER nResult;
|
||||
STRING szTitle, szMsg;
|
||||
begin
|
||||
|
||||
if ((svSetupType != "Custom") && (svSetupType != "")) then
|
||||
return 0;
|
||||
endif;
|
||||
|
||||
szTitle = "";
|
||||
szMsg = "";
|
||||
nResult = SdComponentDialog2( szTitle, szMsg, svDir, "" );
|
||||
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Function: DialogShowSdFinishReboot //
|
||||
// //
|
||||
// Purpose: This function will show the last dialog of the product. //
|
||||
// It will allow the user to reboot and/or show some readme text. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
function DialogShowSdFinishReboot()
|
||||
NUMBER nResult, nDefOptions;
|
||||
STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
|
||||
NUMBER bOpt1, bOpt2;
|
||||
begin
|
||||
/*
|
||||
if (!BATCH_INSTALL) then
|
||||
bOpt1 = FALSE;
|
||||
bOpt2 = FALSE;
|
||||
szMsg1 = "";
|
||||
szMsg2 = "";
|
||||
szOption1 = "";
|
||||
szOption2 = "";
|
||||
nResult = SdFinish( szTitle, szMsg1, szMsg2, szOption1, szOption2, bOpt1, bOpt2 );
|
||||
return 0;
|
||||
endif;
|
||||
|
||||
nDefOptions = SYS_BOOTMACHINE;
|
||||
szTitle = "";
|
||||
szMsg1 = "";
|
||||
szMsg2 = "";
|
||||
nResult = SdFinishReboot( szTitle, szMsg1, nDefOptions, szMsg2, 0 );
|
||||
*/
|
||||
return nResult;
|
||||
end;
|
||||
|
||||
// --- include script file section ---
|
||||
|
||||
#include "sddialog.rul"
|
||||
|
||||
|
||||
|
@ -1,24 +0,0 @@
|
||||
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
|
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
@ -1,12 +0,0 @@
|
||||
[Data]
|
||||
Folder3=<FOLDER_STARTUP>
|
||||
Group0=Main
|
||||
Group1=Startup
|
||||
Folder0=<FOLDER_DESKTOP>
|
||||
Folder1=<FOLDER_STARTMENU>
|
||||
Folder2=<FOLDER_PROGRAMS>
|
||||
|
||||
[Info]
|
||||
Type=ShellObject
|
||||
Version=1.00.000
|
||||
|
@ -1,23 +0,0 @@
|
||||
[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
|
||||
|
@ -1,74 +0,0 @@
|
||||
[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=
|
||||
|
@ -1,56 +0,0 @@
|
||||
[<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=
|
||||
|
@ -1,76 +0,0 @@
|
||||
[<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=
|
||||
|
@ -1,4 +1,4 @@
|
||||
This is a release of MySQL Classic 4.0.11a-gamma for Win32.
|
||||
This is a release of MySQL Classic @VERSION@ for Win32.
|
||||
|
||||
NOTE: If you install MySQL in a folder other than
|
||||
C:\MYSQL or you intend to start MySQL on NT/Win2000
|
||||
@ -22,4 +22,4 @@ MySQL manual and the MySQL mailing list archive
|
||||
(http://www.mysql.com/documentation/index.html)
|
||||
|
||||
On behalf of the MySQL AB gang,
|
||||
Michael Widenius
|
||||
Michael Widenius
|
||||
|
@ -1,23 +1,23 @@
|
||||
[Data]
|
||||
TITLE_MAIN=MySQL Classic Servers and Clients 4.0.11a-gamma
|
||||
TITLE_MAIN=MySQL Classic Servers and Clients @VERSION@
|
||||
COMPANY_NAME=MySQL AB
|
||||
ERROR_COMPONENT=Component:
|
||||
COMPANY_NAME16=Company
|
||||
PRODUCT_VERSION=MySQL Classic Servers and Clients 4.0.11a-gamma
|
||||
PRODUCT_VERSION=MySQL Classic Servers and Clients @VERSION@
|
||||
ERROR_MOVEDATA=An error occurred during the move data process: %d
|
||||
ERROR_FILEGROUP=File Group:
|
||||
UNINST_KEY=MySQL Classic Servers and Clients 4.0.11a-gamma
|
||||
TITLE_CAPTIONBAR=MySQL Classic Servers and Clients 4.0.11a-gamma
|
||||
UNINST_KEY=MySQL Classic Servers and Clients @VERSION@
|
||||
TITLE_CAPTIONBAR=MySQL Classic Servers and Clients @VERSION@
|
||||
PRODUCT_NAME16=Product
|
||||
ERROR_VGARESOLUTION=This program requires VGA or better resolution.
|
||||
ERROR_FILE=File:
|
||||
UNINST_DISPLAY_NAME=MySQL Classic Servers and Clients 4.0.11a-gamma
|
||||
UNINST_DISPLAY_NAME=MySQL Classic Servers and Clients @VERSION@
|
||||
PRODUCT_KEY=yourapp.Exe
|
||||
PRODUCT_NAME=MySQL Classic Servers and Clients 4.0.11a-gamma
|
||||
PRODUCT_NAME=MySQL Classic Servers and Clients @VERSION@
|
||||
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
|
||||
Version=@VERSION@
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
This is a release of MySQL 4.0.11a-gamma for Win32.
|
||||
This is a release of MySQL @VERSION@ for Win32.
|
||||
|
||||
NOTE: If you install MySQL in a folder other than
|
||||
C:\MYSQL or you intend to start MySQL on NT/Win2000
|
||||
@ -22,4 +22,4 @@ MySQL manual and the MySQL mailing list archive
|
||||
(http://www.mysql.com/documentation/index.html)
|
||||
|
||||
On behalf of the MySQL AB gang,
|
||||
Michael Widenius
|
||||
Michael Widenius
|
||||
|
@ -1,23 +1,23 @@
|
||||
[Data]
|
||||
TITLE_MAIN=MySQL Servers and Clients 4.0.11a-gamma
|
||||
TITLE_MAIN=MySQL Servers and Clients @VERSION@
|
||||
COMPANY_NAME=MySQL AB
|
||||
ERROR_COMPONENT=Component:
|
||||
COMPANY_NAME16=Company
|
||||
PRODUCT_VERSION=MySQL Servers and Clients 4.0.11a-gamma
|
||||
PRODUCT_VERSION=MySQL Servers and Clients @VERSION@
|
||||
ERROR_MOVEDATA=An error occurred during the move data process: %d
|
||||
ERROR_FILEGROUP=File Group:
|
||||
UNINST_KEY=MySQL Servers and Clients 4.0.11a-gamma
|
||||
TITLE_CAPTIONBAR=MySQL Servers and Clients 4.0.11a-gamma
|
||||
UNINST_KEY=MySQL Servers and Clients @VERSION@
|
||||
TITLE_CAPTIONBAR=MySQL Servers and Clients @VERSION@
|
||||
PRODUCT_NAME16=Product
|
||||
ERROR_VGARESOLUTION=This program requires VGA or better resolution.
|
||||
ERROR_FILE=File:
|
||||
UNINST_DISPLAY_NAME=MySQL Servers and Clients 4.0.11a-gamma
|
||||
UNINST_DISPLAY_NAME=MySQL Servers and Clients @VERSION@
|
||||
PRODUCT_KEY=yourapp.Exe
|
||||
PRODUCT_NAME=MySQL Servers and Clients 4.0.11a-gamma
|
||||
PRODUCT_NAME=MySQL Servers and Clients @VERSION@
|
||||
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
|
||||
Version=@VERSION@
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
This is a release of MySQL Pro 4.0.11a-gamma for Win32.
|
||||
This is a release of MySQL Pro @VERSION@ for Win32.
|
||||
|
||||
NOTE: If you install MySQL in a folder other than
|
||||
C:\MYSQL or you intend to start MySQL on NT/Win2000
|
||||
@ -22,4 +22,4 @@ MySQL manual and the MySQL mailing list archive
|
||||
(http://www.mysql.com/documentation/index.html)
|
||||
|
||||
On behalf of the MySQL AB gang,
|
||||
Michael Widenius
|
||||
Michael Widenius
|
||||
|
@ -1,23 +1,23 @@
|
||||
[Data]
|
||||
TITLE_MAIN=MySQL Pro Servers and Clients 4.0.11a-gamma
|
||||
TITLE_MAIN=MySQL Pro Servers and Clients @VERSION@
|
||||
COMPANY_NAME=MySQL AB
|
||||
ERROR_COMPONENT=Component:
|
||||
COMPANY_NAME16=Company
|
||||
PRODUCT_VERSION=MySQL Pro Servers and Clients 4.0.11a-gamma
|
||||
PRODUCT_VERSION=MySQL Pro Servers and Clients @VERSION@
|
||||
ERROR_MOVEDATA=An error occurred during the move data process: %d
|
||||
ERROR_FILEGROUP=File Group:
|
||||
UNINST_KEY=MySQL Pro Servers and Clients 4.0.11a-gamma
|
||||
TITLE_CAPTIONBAR=MySQL Pro Servers and Clients 4.0.11a-gamma
|
||||
UNINST_KEY=MySQL Pro Servers and Clients @VERSION@
|
||||
TITLE_CAPTIONBAR=MySQL Pro Servers and Clients @VERSION@
|
||||
PRODUCT_NAME16=Product
|
||||
ERROR_VGARESOLUTION=This program requires VGA or better resolution.
|
||||
ERROR_FILE=File:
|
||||
UNINST_DISPLAY_NAME=MySQL Pro Servers and Clients 4.0.11a-gamma
|
||||
UNINST_DISPLAY_NAME=MySQL Pro Servers and Clients @VERSION@
|
||||
PRODUCT_KEY=yourapp.Exe
|
||||
PRODUCT_NAME=MySQL Pro Servers and Clients 4.0.11a-gamma
|
||||
PRODUCT_NAME=MySQL Pro Servers and Clients @VERSION@
|
||||
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
|
||||
Version=@VERSION@
|
||||
|
||||
|
94
VC++Files/libmysql/libmysql.def
Executable file
94
VC++Files/libmysql/libmysql.def
Executable file
@ -0,0 +1,94 @@
|
||||
LIBRARY LIBMYSQL
|
||||
DESCRIPTION 'MySQL 3.23 Client Library'
|
||||
VERSION 2.5
|
||||
EXPORTS
|
||||
mysql_affected_rows
|
||||
mysql_close
|
||||
mysql_connect
|
||||
mysql_create_db
|
||||
mysql_data_seek
|
||||
mysql_debug
|
||||
mysql_drop_db
|
||||
mysql_dump_debug_info
|
||||
mysql_eof
|
||||
mysql_errno
|
||||
mysql_error
|
||||
mysql_escape_string
|
||||
mysql_fetch_field
|
||||
mysql_fetch_field_direct
|
||||
mysql_fetch_fields
|
||||
mysql_fetch_lengths
|
||||
mysql_fetch_row
|
||||
mysql_field_count
|
||||
mysql_field_seek
|
||||
mysql_field_tell
|
||||
mysql_free_result
|
||||
mysql_get_client_info
|
||||
mysql_get_host_info
|
||||
mysql_get_proto_info
|
||||
mysql_get_server_info
|
||||
mysql_info
|
||||
mysql_init
|
||||
mysql_insert_id
|
||||
mysql_kill
|
||||
mysql_list_dbs
|
||||
mysql_list_fields
|
||||
mysql_list_processes
|
||||
mysql_list_tables
|
||||
mysql_num_fields
|
||||
mysql_num_rows
|
||||
mysql_odbc_escape_string
|
||||
mysql_options
|
||||
mysql_ping
|
||||
mysql_query
|
||||
mysql_real_connect
|
||||
mysql_real_query
|
||||
mysql_refresh
|
||||
mysql_row_seek
|
||||
mysql_row_tell
|
||||
mysql_select_db
|
||||
mysql_shutdown
|
||||
mysql_stat
|
||||
mysql_store_result
|
||||
mysql_thread_id
|
||||
mysql_use_result
|
||||
bmove_upp
|
||||
delete_dynamic
|
||||
_dig_vec
|
||||
init_dynamic_array
|
||||
insert_dynamic
|
||||
int2str
|
||||
is_prefix
|
||||
list_add
|
||||
list_delete
|
||||
max_allowed_packet
|
||||
my_casecmp
|
||||
my_init
|
||||
my_end
|
||||
my_strdup
|
||||
my_malloc
|
||||
my_memdup
|
||||
my_no_flags_free
|
||||
my_realloc
|
||||
my_thread_end
|
||||
my_thread_init
|
||||
net_buffer_length
|
||||
set_dynamic
|
||||
strcend
|
||||
strdup_root
|
||||
strfill
|
||||
strinstr
|
||||
strmake
|
||||
strmov
|
||||
strxmov
|
||||
myodbc_remove_escape
|
||||
mysql_thread_safe
|
||||
mysql_character_set_name
|
||||
mysql_change_user
|
||||
mysql_send_query
|
||||
mysql_read_query_result
|
||||
mysql_real_escape_string
|
||||
load_defaults
|
||||
free_defaults
|
||||
|
||||
|
92
VC++Files/libmysqltest/myTest-package.dsp
Normal file
92
VC++Files/libmysqltest/myTest-package.dsp
Normal file
@ -0,0 +1,92 @@
|
||||
# Microsoft Developer Studio Project File - Name="myTest" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=myTest - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "myTest.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "myTest.mak" CFG="myTest - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "myTest - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "myTest - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=xicl6.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "myTest - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "release"
|
||||
# PROP Intermediate_Dir "release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /G6 /W3 /O2 /I "..\..\include" /D "NDEBUG" /D "DBUG_UFF" /D "_CONSOLE" /D "_MBCS" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 ..\..\lib\opt\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\lib_release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "myTest - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "debug"
|
||||
# PROP Intermediate_Dir "debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /G6 /MTd /W3 /Z7 /Od /I "..\..\include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
|
||||
# SUBTRACT CPP /Fr /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 ..\..\lib\debug\libmysql.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /pdbtype:sept /libpath:"..\lib_debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "myTest - Win32 Release"
|
||||
# Name "myTest - Win32 Debug"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Mytest.c
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
BIN
VC++Files/mysqlshutdown/mysql.ico
Normal file
BIN
VC++Files/mysqlshutdown/mysql.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 318 B |
@ -1,198 +1,198 @@
|
||||
/****************************************************************************
|
||||
MySqlShutdown - shutdown MySQL on system shutdown (Win95/98)
|
||||
----------------------------------------------------------------------------
|
||||
Revision History :
|
||||
Version Author Date Description
|
||||
001.00 Irena 21-12-99
|
||||
*****************************************************************************/
|
||||
#include <windows.h>
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
// Local data
|
||||
//-----------------------------------------------------------------------
|
||||
static char szAppName[] = "MySqlShutdown";
|
||||
static HINSTANCE hInstance;
|
||||
|
||||
#define MYWM_NOTIFYICON (WM_APP+100)
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
// Exported functions
|
||||
//-----------------------------------------------------------------------
|
||||
LRESULT CALLBACK MainWindowProc (HWND, UINT, WPARAM, LPARAM);
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
// Local functions
|
||||
//-----------------------------------------------------------------------
|
||||
static BOOL InitAppClass (HINSTANCE hInstance);
|
||||
|
||||
BOOL TrayMessageAdd(HWND hWnd, DWORD dwMessage)
|
||||
{
|
||||
BOOL res;
|
||||
HICON hIcon =LoadIcon (hInstance, "MySql");
|
||||
char *szTip="MySql Shutdown";
|
||||
NOTIFYICONDATA tnd;
|
||||
|
||||
tnd.cbSize = sizeof(NOTIFYICONDATA);
|
||||
tnd.hWnd = hWnd;
|
||||
tnd.uID = 101;
|
||||
|
||||
tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;
|
||||
tnd.uCallbackMessage = MYWM_NOTIFYICON;
|
||||
tnd.hIcon = hIcon;
|
||||
strcpy(tnd.szTip, szTip);
|
||||
res = Shell_NotifyIcon(dwMessage, &tnd);
|
||||
|
||||
if (hIcon) DestroyIcon(hIcon);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
// Name: WinMain
|
||||
// Purpose: Main application entry point
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
|
||||
{ HWND hWnd;
|
||||
MSG Msg;
|
||||
|
||||
hInstance=hInst;
|
||||
// Register application class if needed
|
||||
if (InitAppClass (hInstance) == FALSE) return (0);
|
||||
|
||||
|
||||
hWnd = CreateWindow (szAppName, "MySql",
|
||||
WS_OVERLAPPEDWINDOW|WS_MINIMIZE,
|
||||
0, 0,
|
||||
GetSystemMetrics(SM_CXSCREEN)/4,
|
||||
GetSystemMetrics(SM_CYSCREEN)/4,
|
||||
0, 0, hInstance, NULL);
|
||||
|
||||
if(!hWnd)
|
||||
{
|
||||
return (0);
|
||||
}
|
||||
ShowWindow (hWnd, SW_HIDE);
|
||||
UpdateWindow (hWnd);
|
||||
while (GetMessage (&Msg, 0, 0, 0))
|
||||
{ TranslateMessage (&Msg);
|
||||
DispatchMessage (&Msg);
|
||||
}
|
||||
return ((int) (Msg.wParam));
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
// Name: InitAppClass
|
||||
// Purpose: Register the main application window class
|
||||
//-----------------------------------------------------------------------
|
||||
static BOOL InitAppClass (HINSTANCE hInstance)
|
||||
{
|
||||
WNDCLASS cls;
|
||||
|
||||
if (GetClassInfo (hInstance, szAppName, &cls) == 0)
|
||||
{
|
||||
cls.style = CS_HREDRAW | CS_VREDRAW ;;
|
||||
cls.lpfnWndProc = (WNDPROC) MainWindowProc;
|
||||
cls.cbClsExtra = 0;
|
||||
cls.cbWndExtra = sizeof(HWND);
|
||||
cls.hInstance = hInstance;
|
||||
cls.hIcon = LoadIcon (hInstance, "MySql");
|
||||
cls.hCursor = LoadCursor (NULL, IDC_ARROW);
|
||||
cls.hbrBackground = GetStockObject (WHITE_BRUSH) ;
|
||||
cls.lpszMenuName = 0; //szAppName;
|
||||
cls.lpszClassName = szAppName;
|
||||
return RegisterClass (&cls);
|
||||
}
|
||||
return (TRUE);
|
||||
}
|
||||
//-----------------------------------------------------------------------
|
||||
// Name: MainWindowProc
|
||||
// Purpose: Window procedure for main application window.
|
||||
//-----------------------------------------------------------------------
|
||||
LRESULT CALLBACK MainWindowProc (HWND hWnd, UINT Msg,WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
static RECT rect ;
|
||||
HDC hdc ;
|
||||
PAINTSTRUCT ps ;
|
||||
static BOOL bShutdown=FALSE;
|
||||
|
||||
switch (Msg)
|
||||
{
|
||||
case WM_CREATE:
|
||||
TrayMessageAdd(hWnd, NIM_ADD);
|
||||
return TRUE;
|
||||
/***************
|
||||
case WM_SYSCOMMAND:
|
||||
if(wParam==SC_CLOSE)
|
||||
{ HANDLE hEventShutdown;
|
||||
|
||||
bShutdown=TRUE;
|
||||
InvalidateRect(hWnd,NULL,TRUE);
|
||||
ShowWindow (hWnd, SW_NORMAL);
|
||||
UpdateWindow(hWnd);
|
||||
hEventShutdown=OpenEvent(EVENT_MODIFY_STATE, 0, "MySqlShutdown");
|
||||
if(hEventShutdown)
|
||||
{
|
||||
SetEvent(hEventShutdown);
|
||||
CloseHandle(hEventShutdown);
|
||||
Sleep(1000);
|
||||
MessageBox(hWnd,"Shutdown", "MySql", MB_OK);
|
||||
}
|
||||
TrayMessageAdd(hWnd, NIM_DELETE);
|
||||
}
|
||||
break;
|
||||
**************/
|
||||
case WM_DESTROY:
|
||||
TrayMessageAdd(hWnd, NIM_DELETE);
|
||||
PostQuitMessage (0);
|
||||
return 0;
|
||||
case WM_SIZE:
|
||||
GetClientRect (hWnd, &rect) ;
|
||||
return 0 ;
|
||||
|
||||
case WM_PAINT:
|
||||
hdc = BeginPaint (hWnd, &ps) ;
|
||||
if(bShutdown)
|
||||
DrawText (hdc, "MySql shutdown in progress...",
|
||||
-1, &rect, DT_WORDBREAK) ;
|
||||
EndPaint (hWnd, &ps) ;
|
||||
return 0 ;
|
||||
case WM_QUERYENDSESSION: //Shutdown MySql
|
||||
{ HANDLE hEventShutdown;
|
||||
|
||||
bShutdown=TRUE;
|
||||
InvalidateRect(hWnd,NULL,TRUE);
|
||||
ShowWindow (hWnd, SW_NORMAL);
|
||||
UpdateWindow(hWnd);
|
||||
hEventShutdown=OpenEvent(EVENT_MODIFY_STATE, 0, "MySqlShutdown");
|
||||
if(hEventShutdown)
|
||||
{
|
||||
SetEvent(hEventShutdown);
|
||||
CloseHandle(hEventShutdown);
|
||||
Sleep(1000);
|
||||
MessageBox(hWnd,"Shutdown", "MySql", MB_OK);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
|
||||
case MYWM_NOTIFYICON:
|
||||
switch (lParam)
|
||||
{
|
||||
case WM_LBUTTONDOWN:
|
||||
case WM_RBUTTONDOWN:
|
||||
ShowWindow(hWnd, SW_SHOWNORMAL);
|
||||
SetForegroundWindow(hWnd); // make us come to the front
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
return DefWindowProc (hWnd, Msg, wParam, lParam);
|
||||
}
|
||||
|
||||
|
||||
// ----------------------- The end ------------------------------------------
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
MySqlShutdown - shutdown MySQL on system shutdown (Win95/98)
|
||||
----------------------------------------------------------------------------
|
||||
Revision History :
|
||||
Version Author Date Description
|
||||
001.00 Irena 21-12-99
|
||||
*****************************************************************************/
|
||||
#include <windows.h>
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
// Local data
|
||||
//-----------------------------------------------------------------------
|
||||
static char szAppName[] = "MySqlShutdown";
|
||||
static HINSTANCE hInstance;
|
||||
|
||||
#define MYWM_NOTIFYICON (WM_APP+100)
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
// Exported functions
|
||||
//-----------------------------------------------------------------------
|
||||
LRESULT CALLBACK MainWindowProc (HWND, UINT, WPARAM, LPARAM);
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
// Local functions
|
||||
//-----------------------------------------------------------------------
|
||||
static BOOL InitAppClass (HINSTANCE hInstance);
|
||||
|
||||
BOOL TrayMessageAdd(HWND hWnd, DWORD dwMessage)
|
||||
{
|
||||
BOOL res;
|
||||
HICON hIcon =LoadIcon (hInstance, "MySql");
|
||||
char *szTip="MySql Shutdown";
|
||||
NOTIFYICONDATA tnd;
|
||||
|
||||
tnd.cbSize = sizeof(NOTIFYICONDATA);
|
||||
tnd.hWnd = hWnd;
|
||||
tnd.uID = 101;
|
||||
|
||||
tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;
|
||||
tnd.uCallbackMessage = MYWM_NOTIFYICON;
|
||||
tnd.hIcon = hIcon;
|
||||
strcpy(tnd.szTip, szTip);
|
||||
res = Shell_NotifyIcon(dwMessage, &tnd);
|
||||
|
||||
if (hIcon) DestroyIcon(hIcon);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
// Name: WinMain
|
||||
// Purpose: Main application entry point
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
|
||||
{ HWND hWnd;
|
||||
MSG Msg;
|
||||
|
||||
hInstance=hInst;
|
||||
// Register application class if needed
|
||||
if (InitAppClass (hInstance) == FALSE) return (0);
|
||||
|
||||
|
||||
hWnd = CreateWindow (szAppName, "MySql",
|
||||
WS_OVERLAPPEDWINDOW|WS_MINIMIZE,
|
||||
0, 0,
|
||||
GetSystemMetrics(SM_CXSCREEN)/4,
|
||||
GetSystemMetrics(SM_CYSCREEN)/4,
|
||||
0, 0, hInstance, NULL);
|
||||
|
||||
if(!hWnd)
|
||||
{
|
||||
return (0);
|
||||
}
|
||||
ShowWindow (hWnd, SW_HIDE);
|
||||
UpdateWindow (hWnd);
|
||||
while (GetMessage (&Msg, 0, 0, 0))
|
||||
{ TranslateMessage (&Msg);
|
||||
DispatchMessage (&Msg);
|
||||
}
|
||||
return ((int) (Msg.wParam));
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
// Name: InitAppClass
|
||||
// Purpose: Register the main application window class
|
||||
//-----------------------------------------------------------------------
|
||||
static BOOL InitAppClass (HINSTANCE hInstance)
|
||||
{
|
||||
WNDCLASS cls;
|
||||
|
||||
if (GetClassInfo (hInstance, szAppName, &cls) == 0)
|
||||
{
|
||||
cls.style = CS_HREDRAW | CS_VREDRAW ;;
|
||||
cls.lpfnWndProc = (WNDPROC) MainWindowProc;
|
||||
cls.cbClsExtra = 0;
|
||||
cls.cbWndExtra = sizeof(HWND);
|
||||
cls.hInstance = hInstance;
|
||||
cls.hIcon = LoadIcon (hInstance, "MySql");
|
||||
cls.hCursor = LoadCursor (NULL, IDC_ARROW);
|
||||
cls.hbrBackground = GetStockObject (WHITE_BRUSH) ;
|
||||
cls.lpszMenuName = 0; //szAppName;
|
||||
cls.lpszClassName = szAppName;
|
||||
return RegisterClass (&cls);
|
||||
}
|
||||
return (TRUE);
|
||||
}
|
||||
//-----------------------------------------------------------------------
|
||||
// Name: MainWindowProc
|
||||
// Purpose: Window procedure for main application window.
|
||||
//-----------------------------------------------------------------------
|
||||
LRESULT CALLBACK MainWindowProc (HWND hWnd, UINT Msg,WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
static RECT rect ;
|
||||
HDC hdc ;
|
||||
PAINTSTRUCT ps ;
|
||||
static BOOL bShutdown=FALSE;
|
||||
|
||||
switch (Msg)
|
||||
{
|
||||
case WM_CREATE:
|
||||
TrayMessageAdd(hWnd, NIM_ADD);
|
||||
return TRUE;
|
||||
/***************
|
||||
case WM_SYSCOMMAND:
|
||||
if(wParam==SC_CLOSE)
|
||||
{ HANDLE hEventShutdown;
|
||||
|
||||
bShutdown=TRUE;
|
||||
InvalidateRect(hWnd,NULL,TRUE);
|
||||
ShowWindow (hWnd, SW_NORMAL);
|
||||
UpdateWindow(hWnd);
|
||||
hEventShutdown=OpenEvent(EVENT_MODIFY_STATE, 0, "MySqlShutdown");
|
||||
if(hEventShutdown)
|
||||
{
|
||||
SetEvent(hEventShutdown);
|
||||
CloseHandle(hEventShutdown);
|
||||
Sleep(1000);
|
||||
MessageBox(hWnd,"Shutdown", "MySql", MB_OK);
|
||||
}
|
||||
TrayMessageAdd(hWnd, NIM_DELETE);
|
||||
}
|
||||
break;
|
||||
**************/
|
||||
case WM_DESTROY:
|
||||
TrayMessageAdd(hWnd, NIM_DELETE);
|
||||
PostQuitMessage (0);
|
||||
return 0;
|
||||
case WM_SIZE:
|
||||
GetClientRect (hWnd, &rect) ;
|
||||
return 0 ;
|
||||
|
||||
case WM_PAINT:
|
||||
hdc = BeginPaint (hWnd, &ps) ;
|
||||
if(bShutdown)
|
||||
DrawText (hdc, "MySql shutdown in progress...",
|
||||
-1, &rect, DT_WORDBREAK) ;
|
||||
EndPaint (hWnd, &ps) ;
|
||||
return 0 ;
|
||||
case WM_QUERYENDSESSION: //Shutdown MySql
|
||||
{ HANDLE hEventShutdown;
|
||||
|
||||
bShutdown=TRUE;
|
||||
InvalidateRect(hWnd,NULL,TRUE);
|
||||
ShowWindow (hWnd, SW_NORMAL);
|
||||
UpdateWindow(hWnd);
|
||||
hEventShutdown=OpenEvent(EVENT_MODIFY_STATE, 0, "MySqlShutdown");
|
||||
if(hEventShutdown)
|
||||
{
|
||||
SetEvent(hEventShutdown);
|
||||
CloseHandle(hEventShutdown);
|
||||
Sleep(1000);
|
||||
MessageBox(hWnd,"Shutdown", "MySql", MB_OK);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
|
||||
case MYWM_NOTIFYICON:
|
||||
switch (lParam)
|
||||
{
|
||||
case WM_LBUTTONDOWN:
|
||||
case WM_RBUTTONDOWN:
|
||||
ShowWindow(hWnd, SW_SHOWNORMAL);
|
||||
SetForegroundWindow(hWnd); // make us come to the front
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
return DefWindowProc (hWnd, Msg, wParam, lParam);
|
||||
}
|
||||
|
||||
|
||||
// ----------------------- The end ------------------------------------------
|
||||
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
MySql ICON DISCARDABLE "MYSQL.ICO"
|
||||
|
||||
MySql ICON DISCARDABLE "MYSQL.ICO"
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,250 +1,250 @@
|
||||
/* Testing of thread creation to find memory allocation bug
|
||||
** This is coded to use as few extern functions as possible!
|
||||
**
|
||||
** The program must be compiled to be multithreaded !
|
||||
**
|
||||
** The problem is that when this program is run it will allocate more and more
|
||||
** memory, so there is a memory leak in the thread handling. The problem is how
|
||||
** to avoid is !
|
||||
**
|
||||
** It looks like the bug is that the std library doesn't free thread
|
||||
** specific variables if one uses a thread variable.
|
||||
** If one compiles this program with -DREMOVE_BUG
|
||||
** there is no memory leaks anymore!
|
||||
**
|
||||
** This program is tested with Microsofts VC++ 5.0, but BC5.2 is also
|
||||
** reported to have this bug.
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include <process.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define TEST_COUNT 100000
|
||||
|
||||
/*****************************************************************************
|
||||
** The following is to emulate the posix thread interface
|
||||
*****************************************************************************/
|
||||
|
||||
typedef HANDLE pthread_t;
|
||||
typedef struct thread_attr {
|
||||
DWORD dwStackSize ;
|
||||
DWORD dwCreatingFlag ;
|
||||
int priority ;
|
||||
} pthread_attr_t ;
|
||||
typedef struct { int dummy; } pthread_condattr_t;
|
||||
typedef struct {
|
||||
unsigned int msg;
|
||||
pthread_t thread;
|
||||
DWORD thread_id;
|
||||
} pthread_cond_t;
|
||||
typedef CRITICAL_SECTION pthread_mutex_t;
|
||||
|
||||
#define pthread_mutex_init(A,B) InitializeCriticalSection(A)
|
||||
#define pthread_mutex_lock(A) (EnterCriticalSection(A),0)
|
||||
#define pthread_mutex_unlock(A) LeaveCriticalSection(A)
|
||||
#define pthread_mutex_destroy(A) DeleteCriticalSection(A)
|
||||
#define pthread_handler_decl(A,B) unsigned __cdecl A(void *B)
|
||||
typedef unsigned (__cdecl *pthread_handler)(void *);
|
||||
#define pthread_self() GetCurrentThread()
|
||||
|
||||
static unsigned int thread_count;
|
||||
static pthread_cond_t COND_thread_count;
|
||||
static pthread_mutex_t LOCK_thread_count;
|
||||
|
||||
pthread_mutex_t THR_LOCK_malloc,THR_LOCK_open,THR_LOCK_keycache,
|
||||
THR_LOCK_lock,THR_LOCK_isam;
|
||||
/*
|
||||
** We have tried to use '_beginthreadex' instead of '_beginthread' here
|
||||
** but in this case the program leaks about 512 characters for each
|
||||
** created thread !
|
||||
*/
|
||||
|
||||
int pthread_create(pthread_t *thread_id, pthread_attr_t *attr,
|
||||
pthread_handler func, void *param)
|
||||
{
|
||||
HANDLE hThread;
|
||||
|
||||
hThread=(HANDLE)_beginthread(func,
|
||||
attr->dwStackSize ? attr->dwStackSize :
|
||||
65535,param);
|
||||
if ((long) hThread == -1L)
|
||||
{
|
||||
return(errno ? errno : -1);
|
||||
}
|
||||
*thread_id=hThread;
|
||||
return(0);
|
||||
}
|
||||
|
||||
void pthread_exit(unsigned A)
|
||||
{
|
||||
_endthread();
|
||||
}
|
||||
|
||||
/*
|
||||
** The following simple implementation of conds works as long as
|
||||
** only one thread uses pthread_cond_wait at a time.
|
||||
** This is coded very carefully to work with thr_lock.
|
||||
*/
|
||||
|
||||
static unsigned int WIN32_WAIT_SIGNAL= 30000; /* Start message to use */
|
||||
|
||||
int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr)
|
||||
{
|
||||
cond->msg=WIN32_WAIT_SIGNAL++;
|
||||
cond->thread=(pthread_t) pthread_self(); /* For global conds */
|
||||
//IRENA
|
||||
cond->thread_id=GetCurrentThreadId();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
|
||||
{
|
||||
MSG msg ;
|
||||
unsigned int msgCode=cond->msg;
|
||||
|
||||
cond->thread=(pthread_t) pthread_self();
|
||||
//IRENA
|
||||
//??? cond->thread_id=GetCurrentThreadId();
|
||||
//VOID(ReleaseMutex(*mutex));
|
||||
|
||||
LeaveCriticalSection(mutex);
|
||||
do
|
||||
{
|
||||
WaitMessage() ;
|
||||
if (!PeekMessage(&msg, NULL, 1, 65534,PM_REMOVE))
|
||||
{
|
||||
return errno=GetLastError() ;
|
||||
}
|
||||
} while (msg.message != msgCode) ;
|
||||
EnterCriticalSection(mutex);
|
||||
return 0 ;
|
||||
}
|
||||
|
||||
|
||||
int pthread_cond_signal(pthread_cond_t *cond)
|
||||
{
|
||||
|
||||
if (!PostThreadMessage(cond->thread_id, cond->msg, 0,0))
|
||||
{
|
||||
return errno=GetLastError() ;
|
||||
}
|
||||
return 0 ;
|
||||
}
|
||||
|
||||
int pthread_attr_init(pthread_attr_t *connect_att)
|
||||
{
|
||||
connect_att->dwStackSize = 0;
|
||||
connect_att->dwCreatingFlag = 0;
|
||||
connect_att->priority = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_attr_setstacksize(pthread_attr_t *connect_att,DWORD stack)
|
||||
{
|
||||
connect_att->dwStackSize=stack;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_attr_setprio(pthread_attr_t *connect_att,int priority)
|
||||
{
|
||||
connect_att->priority=priority;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_attr_destroy(pthread_attr_t *connect_att)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* from my_pthread.c */
|
||||
|
||||
#ifndef REMOVE_BUG
|
||||
|
||||
__declspec(thread) int THR_KEY_my_errno;
|
||||
|
||||
int _my_errno(void)
|
||||
{
|
||||
return THR_KEY_my_errno;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
** The test program
|
||||
*****************************************************************************/
|
||||
|
||||
pthread_handler_decl(test_thread,arg)
|
||||
{
|
||||
pthread_mutex_lock(&LOCK_thread_count);
|
||||
thread_count--;
|
||||
pthread_cond_signal(&COND_thread_count); /* Tell main we are ready */
|
||||
pthread_mutex_unlock(&LOCK_thread_count);
|
||||
pthread_exit(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(int argc,char **argv)
|
||||
{
|
||||
pthread_t tid;
|
||||
pthread_attr_t thr_attr;
|
||||
int i,error;
|
||||
|
||||
if ((error=pthread_cond_init(&COND_thread_count,NULL)))
|
||||
{
|
||||
fprintf(stderr,"Got error: %d from pthread_cond_init (errno: %d)",
|
||||
error,errno);
|
||||
exit(1);
|
||||
}
|
||||
pthread_mutex_init(&LOCK_thread_count,NULL);
|
||||
if ((error=pthread_attr_init(&thr_attr)))
|
||||
{
|
||||
fprintf(stderr,"Got error: %d from pthread_attr_init (errno: %d)",
|
||||
error,errno);
|
||||
exit(1);
|
||||
}
|
||||
if ((error=pthread_attr_setstacksize(&thr_attr,65536L)))
|
||||
{
|
||||
fprintf(stderr,"Got error: %d from pthread_attr_setstacksize (errno: %d)",
|
||||
error,errno);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
printf("Init ok. Creating %d threads\n",TEST_COUNT);
|
||||
for (i=1 ; i <= TEST_COUNT ; i++)
|
||||
{
|
||||
int *param= &i;
|
||||
if ((i % 100) == 0)
|
||||
{
|
||||
printf("%8d",i);
|
||||
fflush(stdout);
|
||||
}
|
||||
if ((error=pthread_mutex_lock(&LOCK_thread_count)))
|
||||
{
|
||||
fprintf(stderr,"\nGot error: %d from pthread_mutex_lock (errno: %d)",
|
||||
error,errno);
|
||||
exit(1);
|
||||
}
|
||||
if ((error=pthread_create(&tid,&thr_attr,test_thread,(void*) param)))
|
||||
{
|
||||
fprintf(stderr,"\nGot error: %d from pthread_create (errno: %d)\n",
|
||||
error,errno);
|
||||
pthread_mutex_unlock(&LOCK_thread_count);
|
||||
exit(1);
|
||||
}
|
||||
thread_count++;
|
||||
pthread_mutex_unlock(&LOCK_thread_count);
|
||||
|
||||
if ((error=pthread_mutex_lock(&LOCK_thread_count)))
|
||||
fprintf(stderr,"\nGot error: %d from pthread_mutex_lock\n",error);
|
||||
while (thread_count)
|
||||
{
|
||||
if ((error=pthread_cond_wait(&COND_thread_count,&LOCK_thread_count)))
|
||||
fprintf(stderr,"\nGot error: %d from pthread_cond_wait\n",error);
|
||||
}
|
||||
pthread_mutex_unlock(&LOCK_thread_count);
|
||||
}
|
||||
pthread_attr_destroy(&thr_attr);
|
||||
printf("\nend\n");
|
||||
return 0;
|
||||
}
|
||||
/* Testing of thread creation to find memory allocation bug
|
||||
** This is coded to use as few extern functions as possible!
|
||||
**
|
||||
** The program must be compiled to be multithreaded !
|
||||
**
|
||||
** The problem is that when this program is run it will allocate more and more
|
||||
** memory, so there is a memory leak in the thread handling. The problem is how
|
||||
** to avoid is !
|
||||
**
|
||||
** It looks like the bug is that the std library doesn't free thread
|
||||
** specific variables if one uses a thread variable.
|
||||
** If one compiles this program with -DREMOVE_BUG
|
||||
** there is no memory leaks anymore!
|
||||
**
|
||||
** This program is tested with Microsofts VC++ 5.0, but BC5.2 is also
|
||||
** reported to have this bug.
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include <process.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define TEST_COUNT 100000
|
||||
|
||||
/*****************************************************************************
|
||||
** The following is to emulate the posix thread interface
|
||||
*****************************************************************************/
|
||||
|
||||
typedef HANDLE pthread_t;
|
||||
typedef struct thread_attr {
|
||||
DWORD dwStackSize ;
|
||||
DWORD dwCreatingFlag ;
|
||||
int priority ;
|
||||
} pthread_attr_t ;
|
||||
typedef struct { int dummy; } pthread_condattr_t;
|
||||
typedef struct {
|
||||
unsigned int msg;
|
||||
pthread_t thread;
|
||||
DWORD thread_id;
|
||||
} pthread_cond_t;
|
||||
typedef CRITICAL_SECTION pthread_mutex_t;
|
||||
|
||||
#define pthread_mutex_init(A,B) InitializeCriticalSection(A)
|
||||
#define pthread_mutex_lock(A) (EnterCriticalSection(A),0)
|
||||
#define pthread_mutex_unlock(A) LeaveCriticalSection(A)
|
||||
#define pthread_mutex_destroy(A) DeleteCriticalSection(A)
|
||||
#define pthread_handler_decl(A,B) unsigned __cdecl A(void *B)
|
||||
typedef unsigned (__cdecl *pthread_handler)(void *);
|
||||
#define pthread_self() GetCurrentThread()
|
||||
|
||||
static unsigned int thread_count;
|
||||
static pthread_cond_t COND_thread_count;
|
||||
static pthread_mutex_t LOCK_thread_count;
|
||||
|
||||
pthread_mutex_t THR_LOCK_malloc,THR_LOCK_open,THR_LOCK_keycache,
|
||||
THR_LOCK_lock,THR_LOCK_isam;
|
||||
/*
|
||||
** We have tried to use '_beginthreadex' instead of '_beginthread' here
|
||||
** but in this case the program leaks about 512 characters for each
|
||||
** created thread !
|
||||
*/
|
||||
|
||||
int pthread_create(pthread_t *thread_id, pthread_attr_t *attr,
|
||||
pthread_handler func, void *param)
|
||||
{
|
||||
HANDLE hThread;
|
||||
|
||||
hThread=(HANDLE)_beginthread(func,
|
||||
attr->dwStackSize ? attr->dwStackSize :
|
||||
65535,param);
|
||||
if ((long) hThread == -1L)
|
||||
{
|
||||
return(errno ? errno : -1);
|
||||
}
|
||||
*thread_id=hThread;
|
||||
return(0);
|
||||
}
|
||||
|
||||
void pthread_exit(unsigned A)
|
||||
{
|
||||
_endthread();
|
||||
}
|
||||
|
||||
/*
|
||||
** The following simple implementation of conds works as long as
|
||||
** only one thread uses pthread_cond_wait at a time.
|
||||
** This is coded very carefully to work with thr_lock.
|
||||
*/
|
||||
|
||||
static unsigned int WIN32_WAIT_SIGNAL= 30000; /* Start message to use */
|
||||
|
||||
int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr)
|
||||
{
|
||||
cond->msg=WIN32_WAIT_SIGNAL++;
|
||||
cond->thread=(pthread_t) pthread_self(); /* For global conds */
|
||||
//IRENA
|
||||
cond->thread_id=GetCurrentThreadId();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
|
||||
{
|
||||
MSG msg ;
|
||||
unsigned int msgCode=cond->msg;
|
||||
|
||||
cond->thread=(pthread_t) pthread_self();
|
||||
//IRENA
|
||||
//??? cond->thread_id=GetCurrentThreadId();
|
||||
//VOID(ReleaseMutex(*mutex));
|
||||
|
||||
LeaveCriticalSection(mutex);
|
||||
do
|
||||
{
|
||||
WaitMessage() ;
|
||||
if (!PeekMessage(&msg, NULL, 1, 65534,PM_REMOVE))
|
||||
{
|
||||
return errno=GetLastError() ;
|
||||
}
|
||||
} while (msg.message != msgCode) ;
|
||||
EnterCriticalSection(mutex);
|
||||
return 0 ;
|
||||
}
|
||||
|
||||
|
||||
int pthread_cond_signal(pthread_cond_t *cond)
|
||||
{
|
||||
|
||||
if (!PostThreadMessage(cond->thread_id, cond->msg, 0,0))
|
||||
{
|
||||
return errno=GetLastError() ;
|
||||
}
|
||||
return 0 ;
|
||||
}
|
||||
|
||||
int pthread_attr_init(pthread_attr_t *connect_att)
|
||||
{
|
||||
connect_att->dwStackSize = 0;
|
||||
connect_att->dwCreatingFlag = 0;
|
||||
connect_att->priority = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_attr_setstacksize(pthread_attr_t *connect_att,DWORD stack)
|
||||
{
|
||||
connect_att->dwStackSize=stack;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_attr_setprio(pthread_attr_t *connect_att,int priority)
|
||||
{
|
||||
connect_att->priority=priority;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_attr_destroy(pthread_attr_t *connect_att)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* from my_pthread.c */
|
||||
|
||||
#ifndef REMOVE_BUG
|
||||
|
||||
__declspec(thread) int THR_KEY_my_errno;
|
||||
|
||||
int _my_errno(void)
|
||||
{
|
||||
return THR_KEY_my_errno;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*****************************************************************************
|
||||
** The test program
|
||||
*****************************************************************************/
|
||||
|
||||
pthread_handler_decl(test_thread,arg)
|
||||
{
|
||||
pthread_mutex_lock(&LOCK_thread_count);
|
||||
thread_count--;
|
||||
pthread_cond_signal(&COND_thread_count); /* Tell main we are ready */
|
||||
pthread_mutex_unlock(&LOCK_thread_count);
|
||||
pthread_exit(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(int argc,char **argv)
|
||||
{
|
||||
pthread_t tid;
|
||||
pthread_attr_t thr_attr;
|
||||
int i,error;
|
||||
|
||||
if ((error=pthread_cond_init(&COND_thread_count,NULL)))
|
||||
{
|
||||
fprintf(stderr,"Got error: %d from pthread_cond_init (errno: %d)",
|
||||
error,errno);
|
||||
exit(1);
|
||||
}
|
||||
pthread_mutex_init(&LOCK_thread_count,NULL);
|
||||
if ((error=pthread_attr_init(&thr_attr)))
|
||||
{
|
||||
fprintf(stderr,"Got error: %d from pthread_attr_init (errno: %d)",
|
||||
error,errno);
|
||||
exit(1);
|
||||
}
|
||||
if ((error=pthread_attr_setstacksize(&thr_attr,65536L)))
|
||||
{
|
||||
fprintf(stderr,"Got error: %d from pthread_attr_setstacksize (errno: %d)",
|
||||
error,errno);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
printf("Init ok. Creating %d threads\n",TEST_COUNT);
|
||||
for (i=1 ; i <= TEST_COUNT ; i++)
|
||||
{
|
||||
int *param= &i;
|
||||
if ((i % 100) == 0)
|
||||
{
|
||||
printf("%8d",i);
|
||||
fflush(stdout);
|
||||
}
|
||||
if ((error=pthread_mutex_lock(&LOCK_thread_count)))
|
||||
{
|
||||
fprintf(stderr,"\nGot error: %d from pthread_mutex_lock (errno: %d)",
|
||||
error,errno);
|
||||
exit(1);
|
||||
}
|
||||
if ((error=pthread_create(&tid,&thr_attr,test_thread,(void*) param)))
|
||||
{
|
||||
fprintf(stderr,"\nGot error: %d from pthread_create (errno: %d)\n",
|
||||
error,errno);
|
||||
pthread_mutex_unlock(&LOCK_thread_count);
|
||||
exit(1);
|
||||
}
|
||||
thread_count++;
|
||||
pthread_mutex_unlock(&LOCK_thread_count);
|
||||
|
||||
if ((error=pthread_mutex_lock(&LOCK_thread_count)))
|
||||
fprintf(stderr,"\nGot error: %d from pthread_mutex_lock\n",error);
|
||||
while (thread_count)
|
||||
{
|
||||
if ((error=pthread_cond_wait(&COND_thread_count,&LOCK_thread_count)))
|
||||
fprintf(stderr,"\nGot error: %d from pthread_cond_wait\n",error);
|
||||
}
|
||||
pthread_mutex_unlock(&LOCK_thread_count);
|
||||
}
|
||||
pthread_attr_destroy(&thr_attr);
|
||||
printf("\nend\n");
|
||||
return 0;
|
||||
}
|
||||
|
@ -839,9 +839,10 @@ AC_MSG_CHECKING(for OpenSSL)
|
||||
echo "You can't use the --all-static link option when using openssl."
|
||||
exit 1
|
||||
fi
|
||||
NON_THREADED_CLIENT_LIBS="$NON_THREADED_CLIENT_LIBS $openssl_libs"
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
NON_THREADED_CLIENT_LIBS="$NON_THREADED_CLIENT_LIBS $openssl_libs"
|
||||
AC_SUBST(openssl_libs)
|
||||
AC_SUBST(openssl_includes)
|
||||
])
|
||||
|
@ -40,7 +40,7 @@
|
||||
#include <signal.h>
|
||||
#include <violite.h>
|
||||
|
||||
const char *VER= "12.21";
|
||||
const char *VER= "12.22";
|
||||
|
||||
/* Don't try to make a nice table if the data is too big */
|
||||
#define MAX_COLUMN_LENGTH 1024
|
||||
@ -801,7 +801,9 @@ static int read_lines(bool execute_commands)
|
||||
char *prompt= (char*) (glob_buffer.is_empty() ? construct_prompt() :
|
||||
!in_string ? " -> " :
|
||||
in_string == '\'' ?
|
||||
" '> " : " \"> ");
|
||||
" '> " : (in_string == '`' ?
|
||||
" `> " :
|
||||
" \"> "));
|
||||
if (opt_outfile && glob_buffer.is_empty())
|
||||
fflush(OUTFILE);
|
||||
|
||||
@ -2326,7 +2328,7 @@ com_status(String *buffer __attribute__((unused)),
|
||||
(result=mysql_use_result(&mysql)))
|
||||
{
|
||||
MYSQL_ROW cur=mysql_fetch_row(result);
|
||||
tee_fprintf(stdout, "Current database:\t%s\n",cur[0]);
|
||||
tee_fprintf(stdout, "Current database:\t%s\n", cur[0] ? cur[0] : "");
|
||||
tee_fprintf(stdout, "Current user:\t\t%s\n",cur[1]);
|
||||
(void) mysql_fetch_row(result); // Read eof
|
||||
}
|
||||
|
@ -20,7 +20,6 @@
|
||||
#include <time.h>
|
||||
#include <assert.h>
|
||||
#include "log_event.h"
|
||||
#include "include/my_sys.h"
|
||||
|
||||
#define BIN_LOG_HEADER_SIZE 4
|
||||
#define PROBE_HEADER_LEN (EVENT_LEN_OFFSET+4)
|
||||
@ -41,21 +40,20 @@ static FILE *result_file;
|
||||
#ifndef DBUG_OFF
|
||||
static const char* default_dbug_option = "d:t:o,/tmp/mysqlbinlog.trace";
|
||||
#endif
|
||||
static const char *load_default_groups[]= { "mysqlbinlog","client",0 };
|
||||
|
||||
void sql_print_error(const char *format, ...);
|
||||
|
||||
static bool one_database = 0;
|
||||
static bool force_opt= 0;
|
||||
static const char* database;
|
||||
static bool short_form = 0;
|
||||
static const char* database= 0;
|
||||
static my_bool force_opt= 0, short_form= 0, remote_opt= 0;
|
||||
static ulonglong offset = 0;
|
||||
static const char* host = 0;
|
||||
static int port = MYSQL_PORT;
|
||||
static const char* sock= MYSQL_UNIX_ADDR;
|
||||
static const char* sock= 0;
|
||||
static const char* user = 0;
|
||||
static const char* pass = "";
|
||||
static ulonglong position = 0;
|
||||
static bool use_remote = 0;
|
||||
static short binlog_flags = 0;
|
||||
static MYSQL* mysql = NULL;
|
||||
|
||||
@ -74,34 +72,7 @@ class Load_log_processor
|
||||
int target_dir_name_len;
|
||||
DYNAMIC_ARRAY file_names;
|
||||
|
||||
const char* create_file(Create_file_log_event *ce)
|
||||
{
|
||||
const char *bname= ce->fname + ce->fname_len -1;
|
||||
while (bname>ce->fname && bname[-1]!=FN_LIBCHAR)
|
||||
bname--;
|
||||
|
||||
uint blen= ce->fname_len - (bname-ce->fname);
|
||||
uint full_len= target_dir_name_len + blen;
|
||||
char *tmp;
|
||||
if (!(tmp= my_malloc(full_len + 9 + 1,MYF(MY_WME))) ||
|
||||
set_dynamic(&file_names,(gptr)&ce,ce->file_id))
|
||||
{
|
||||
die("Could not construct local filename %s%s",target_dir_name,bname);
|
||||
return 0;
|
||||
}
|
||||
|
||||
char *ptr= tmp;
|
||||
memcpy(ptr,target_dir_name,target_dir_name_len);
|
||||
ptr+= target_dir_name_len;
|
||||
memcpy(ptr,bname,blen);
|
||||
ptr+= blen;
|
||||
sprintf(ptr,"-%08x",ce->file_id);
|
||||
|
||||
ce->set_fname_outside_temp_buf(tmp,full_len);
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
const char *create_file(Create_file_log_event *ce);
|
||||
void append_to_file(const char* fname, int flags,
|
||||
gptr data, uint size)
|
||||
{
|
||||
@ -113,7 +84,6 @@ class Load_log_processor
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
Load_log_processor()
|
||||
{
|
||||
init_dynamic_array(&file_names,sizeof(Create_file_log_event*),
|
||||
@ -126,26 +96,10 @@ public:
|
||||
delete_dynamic(&file_names);
|
||||
}
|
||||
|
||||
void init_by_dir_name(const char *atarget_dir_name)
|
||||
void init_by_dir_name(const char *dir)
|
||||
{
|
||||
char *end= strmov(target_dir_name,atarget_dir_name);
|
||||
if (end[-1]!=FN_LIBCHAR)
|
||||
*end++= FN_LIBCHAR;
|
||||
target_dir_name_len= end-target_dir_name;
|
||||
}
|
||||
void init_by_file_name(const char *file_name)
|
||||
{
|
||||
int len= strlen(file_name);
|
||||
const char *end= file_name + len - 1;
|
||||
while (end>file_name && *end!=FN_LIBCHAR)
|
||||
end--;
|
||||
if (*end!=FN_LIBCHAR)
|
||||
target_dir_name_len= 0;
|
||||
else
|
||||
{
|
||||
target_dir_name_len= end - file_name + 1;
|
||||
memmove(target_dir_name,file_name,target_dir_name_len);
|
||||
}
|
||||
target_dir_name_len= (convert_dirname(target_dir_name, dir, NullS) -
|
||||
target_dir_name);
|
||||
}
|
||||
void init_by_cur_dir()
|
||||
{
|
||||
@ -169,6 +123,8 @@ public:
|
||||
}
|
||||
Create_file_log_event *grab_event(uint file_id)
|
||||
{
|
||||
if (file_id >= file_names.elements)
|
||||
return 0;
|
||||
Create_file_log_event **ptr=
|
||||
(Create_file_log_event**)file_names.buffer + file_id;
|
||||
Create_file_log_event *res= *ptr;
|
||||
@ -178,11 +134,18 @@ public:
|
||||
void process(Create_file_log_event *ce)
|
||||
{
|
||||
const char *fname= create_file(ce);
|
||||
append_to_file(fname,O_CREAT|O_EXCL|O_BINARY|O_WRONLY,ce->block,ce->block_len);
|
||||
append_to_file(fname,O_CREAT|O_EXCL|O_BINARY|O_WRONLY,ce->block,
|
||||
ce->block_len);
|
||||
}
|
||||
void process(Append_block_log_event *ae)
|
||||
{
|
||||
if (ae->file_id >= file_names.elements)
|
||||
Create_file_log_event* ce= (ae->file_id < file_names.elements) ?
|
||||
*((Create_file_log_event**)file_names.buffer + ae->file_id) : 0;
|
||||
|
||||
if (ce)
|
||||
append_to_file(ce->fname,O_APPEND|O_BINARY|O_WRONLY, ae->block,
|
||||
ae->block_len);
|
||||
else
|
||||
{
|
||||
/*
|
||||
There is no Create_file event (a bad binlog or a big
|
||||
@ -191,14 +154,58 @@ public:
|
||||
*/
|
||||
fprintf(stderr,"Warning: ignoring Append_block as there is no \
|
||||
Create_file event for file_id: %u\n",ae->file_id);
|
||||
return;
|
||||
}
|
||||
Create_file_log_event* ce=
|
||||
*((Create_file_log_event**)file_names.buffer + ae->file_id);
|
||||
append_to_file(ce->fname,O_APPEND|O_BINARY|O_WRONLY,ae->block,ae->block_len);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
const char *Load_log_processor::create_file(Create_file_log_event *ce)
|
||||
{
|
||||
const char *bname= ce->fname+dirname_length(ce->fname);
|
||||
uint blen= ce->fname_len - (bname-ce->fname);
|
||||
uint full_len= target_dir_name_len + blen + 9 + 9 + 1;
|
||||
uint version= 0;
|
||||
char *tmp, *ptr;
|
||||
|
||||
if (!(tmp= my_malloc(full_len,MYF(MY_WME))) ||
|
||||
set_dynamic(&file_names,(gptr)&ce,ce->file_id))
|
||||
{
|
||||
die("Could not construct local filename %s%s",target_dir_name,bname);
|
||||
return 0;
|
||||
}
|
||||
|
||||
memcpy(tmp, target_dir_name, target_dir_name_len);
|
||||
ptr= tmp+ target_dir_name_len;
|
||||
memcpy(ptr,bname,blen);
|
||||
ptr+= blen;
|
||||
ptr+= my_sprintf(ptr,(ptr,"-%x",ce->file_id));
|
||||
|
||||
/*
|
||||
Note that this code has a possible race condition if there was was
|
||||
many simultaneous clients running which tried to create files at the same
|
||||
time. Fortunately this should never be the case.
|
||||
|
||||
A better way to do this would be to use 'create_tmp_file() and avoid this
|
||||
race condition altogether on the expense of getting more cryptic file
|
||||
names.
|
||||
*/
|
||||
for (;;)
|
||||
{
|
||||
sprintf(ptr,"-%x",version);
|
||||
if (access(tmp,F_OK))
|
||||
break;
|
||||
/* If we have to try more than 1000 times, something is seriously wrong */
|
||||
if (version++ > 1000)
|
||||
{
|
||||
die("Could not construct local filename %s%s",target_dir_name,bname);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
ce->set_fname_outside_temp_buf(tmp,strlen(tmp));
|
||||
return tmp;
|
||||
}
|
||||
|
||||
|
||||
Load_log_processor load_processor;
|
||||
|
||||
static struct my_option my_long_options[] =
|
||||
@ -229,6 +236,9 @@ static struct my_option my_long_options[] =
|
||||
0, 0},
|
||||
{"result-file", 'r', "Direct output to a given file.", 0, 0, 0, GET_STR,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"read-from-remote-server", 'R', "Read binary logs from a MySQL server",
|
||||
(gptr*) &remote_opt, (gptr*) &remote_opt, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
||||
0, 0},
|
||||
{"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},
|
||||
@ -270,7 +280,7 @@ static void die(const char* fmt, ...)
|
||||
|
||||
static void print_version()
|
||||
{
|
||||
printf("%s Ver 2.3 for %s at %s\n", my_progname, SYSTEM_TYPE, MACHINE_TYPE);
|
||||
printf("%s Ver 2.4 for %s at %s\n", my_progname, SYSTEM_TYPE, MACHINE_TYPE);
|
||||
}
|
||||
|
||||
|
||||
@ -333,22 +343,15 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
||||
case 'd':
|
||||
one_database = 1;
|
||||
break;
|
||||
case 'h':
|
||||
use_remote = 1;
|
||||
break;
|
||||
case 'P':
|
||||
use_remote = 1;
|
||||
break;
|
||||
case 'p':
|
||||
use_remote = 1;
|
||||
pass = my_strdup(argument, MYF(0));
|
||||
break;
|
||||
case 'r':
|
||||
if (!(result_file = my_fopen(argument, O_WRONLY | O_BINARY, MYF(MY_WME))))
|
||||
exit(1);
|
||||
break;
|
||||
case 'u':
|
||||
use_remote = 1;
|
||||
case 'R':
|
||||
remote_opt= 1;
|
||||
break;
|
||||
case 'V':
|
||||
print_version();
|
||||
@ -366,6 +369,7 @@ static int parse_args(int *argc, char*** argv)
|
||||
int ho_error;
|
||||
|
||||
result_file = stdout;
|
||||
load_defaults("my",load_default_groups,argc,argv);
|
||||
if ((ho_error=handle_options(argc, argv, my_long_options, get_one_option)))
|
||||
exit(ho_error);
|
||||
|
||||
@ -386,7 +390,7 @@ static MYSQL* safe_connect()
|
||||
|
||||
static void dump_log_entries(const char* logname)
|
||||
{
|
||||
if (use_remote)
|
||||
if (remote_opt)
|
||||
dump_remote_log_entries(logname);
|
||||
else
|
||||
dump_local_log_entries(logname);
|
||||
@ -614,10 +618,11 @@ Could not read entry at offset %s : Error in log format or read error",
|
||||
}
|
||||
}
|
||||
/*
|
||||
We print the event, but with a leading '#': this is just to inform the
|
||||
user of the original command; the command we want to execute will be a
|
||||
derivation of this original command (we will change the filename and
|
||||
use LOCAL), prepared in the 'case EXEC_LOAD_EVENT' below.
|
||||
We print the event, but with a leading '#': this is just to inform
|
||||
the user of the original command; the command we want to execute
|
||||
will be a derivation of this original command (we will change the
|
||||
filename and use LOCAL), prepared in the 'case EXEC_LOAD_EVENT'
|
||||
below.
|
||||
*/
|
||||
ce->print(result_file, short_form, last_db, true);
|
||||
load_processor.process(ce);
|
||||
@ -734,16 +739,20 @@ void free_tmpdir(MY_TMPDIR *tmpdir)
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
static char **defaults_argv;
|
||||
MY_INIT(argv[0]);
|
||||
|
||||
parse_args(&argc, (char***)&argv);
|
||||
defaults_argv=argv;
|
||||
|
||||
if (!argc)
|
||||
{
|
||||
usage();
|
||||
free_defaults(defaults_argv);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (use_remote)
|
||||
if (remote_opt)
|
||||
mysql = safe_connect();
|
||||
|
||||
MY_TMPDIR tmpdir;
|
||||
@ -767,8 +776,10 @@ int main(int argc, char** argv)
|
||||
free_tmpdir(&tmpdir);
|
||||
if (result_file != stdout)
|
||||
my_fclose(result_file, MYF(0));
|
||||
if (use_remote)
|
||||
if (remote_opt)
|
||||
mysql_close(mysql);
|
||||
free_defaults(defaults_argv);
|
||||
my_end(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,7 @@
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
#define MTEST_VERSION "1.28"
|
||||
#define MTEST_VERSION "1.29"
|
||||
|
||||
#include <my_global.h>
|
||||
#include <mysql_embed.h>
|
||||
@ -77,6 +77,7 @@
|
||||
#ifndef MYSQL_MANAGER_PORT
|
||||
#define MYSQL_MANAGER_PORT 23546
|
||||
#endif
|
||||
#define MAX_SERVER_ARGS 20
|
||||
|
||||
/*
|
||||
Sometimes in a test the client starts before
|
||||
@ -121,10 +122,19 @@ static int *block_ok_stack_end;
|
||||
static int *cur_block, *block_stack_end;
|
||||
static int block_stack[BLOCK_STACK_DEPTH];
|
||||
|
||||
|
||||
static int block_ok_stack[BLOCK_STACK_DEPTH];
|
||||
static uint global_expected_errno[MAX_EXPECTED_ERRORS], global_expected_errors;
|
||||
|
||||
static int embedded_server_arg_count=0;
|
||||
static char *embedded_server_args[MAX_SERVER_ARGS];
|
||||
|
||||
static const char *embedded_server_groups[] = {
|
||||
"server",
|
||||
"embedded",
|
||||
"mysqltest_SERVER",
|
||||
NullS
|
||||
};
|
||||
|
||||
#include "sslopt-vars.h"
|
||||
|
||||
DYNAMIC_ARRAY q_lines;
|
||||
@ -199,6 +209,7 @@ Q_ENABLE_RESULT_LOG, Q_DISABLE_RESULT_LOG,
|
||||
Q_SERVER_START, Q_SERVER_STOP,Q_REQUIRE_MANAGER,
|
||||
Q_WAIT_FOR_SLAVE_TO_STOP,
|
||||
Q_REQUIRE_VERSION,
|
||||
Q_EXEC,
|
||||
Q_UNKNOWN, /* Unknown command. */
|
||||
Q_COMMENT, /* Comments, ignored. */
|
||||
Q_COMMENT_WITH_COMMAND
|
||||
@ -264,6 +275,7 @@ const char *command_names[]=
|
||||
"require_manager",
|
||||
"wait_for_slave_to_stop",
|
||||
"require_version",
|
||||
"exec",
|
||||
0
|
||||
};
|
||||
|
||||
@ -324,18 +336,8 @@ void mysql_disable_rpl_parse(MYSQL* mysql __attribute__((unused))) {}
|
||||
int mysql_rpl_parse_enabled(MYSQL* mysql __attribute__((unused))) { return 1; }
|
||||
int mysql_rpl_probe(MYSQL *mysql __attribute__((unused))) { return 1; }
|
||||
#endif
|
||||
|
||||
#define MAX_SERVER_ARGS 20
|
||||
|
||||
static int embedded_server_arg_count=0;
|
||||
static char *embedded_server_args[MAX_SERVER_ARGS];
|
||||
|
||||
static const char *embedded_server_groups[] = {
|
||||
"server",
|
||||
"embedded",
|
||||
"mysqltest_SERVER",
|
||||
NullS
|
||||
};
|
||||
static void replace_dynstr_append_mem(DYNAMIC_STRING *ds, const char *val,
|
||||
int len);
|
||||
|
||||
|
||||
static void do_eval(DYNAMIC_STRING* query_eval, const char* query)
|
||||
@ -821,6 +823,70 @@ int do_source(struct st_query* q)
|
||||
return open_file(name);
|
||||
}
|
||||
|
||||
/*
|
||||
Execute given command.
|
||||
|
||||
SYNOPSIS
|
||||
do_exec()
|
||||
q called command
|
||||
|
||||
DESCRIPTION
|
||||
If one uses --exec command [args] command in .test file
|
||||
we will execute the command and record its output.
|
||||
|
||||
RETURN VALUES
|
||||
0 ok
|
||||
1 error
|
||||
*/
|
||||
|
||||
int do_exec(struct st_query* q)
|
||||
{
|
||||
int error= 0;
|
||||
DYNAMIC_STRING *ds;
|
||||
DYNAMIC_STRING ds_tmp;
|
||||
char buf[1024];
|
||||
FILE *res_file;
|
||||
char *cmd= q->first_argument;
|
||||
|
||||
while (*cmd && isspace(*cmd))
|
||||
cmd++;
|
||||
if (!*cmd)
|
||||
die("Missing argument in exec\n");
|
||||
|
||||
if (q->record_file[0])
|
||||
{
|
||||
init_dynamic_string(&ds_tmp, "", 16384, 65536);
|
||||
ds= &ds_tmp;
|
||||
}
|
||||
else
|
||||
ds= &ds_res;
|
||||
|
||||
if (!(res_file= popen(cmd, "r")) && q->abort_on_error)
|
||||
die("popen() failed\n");
|
||||
while (fgets(buf, sizeof(buf), res_file))
|
||||
replace_dynstr_append_mem(ds, buf, strlen(buf));
|
||||
pclose(res_file);
|
||||
|
||||
if (glob_replace)
|
||||
free_replace();
|
||||
|
||||
if (record)
|
||||
{
|
||||
if (!q->record_file[0] && !result_file)
|
||||
die("At line %u: Missing result file", start_lineno);
|
||||
if (!result_file)
|
||||
str_to_file(q->record_file, ds->str, ds->length);
|
||||
}
|
||||
else if (q->record_file[0])
|
||||
{
|
||||
error= check_result(ds, q->record_file, q->require_file);
|
||||
}
|
||||
if (ds == &ds_tmp)
|
||||
dynstr_free(&ds_tmp);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
int var_query_set(VAR* v, const char* p, const char** p_end)
|
||||
{
|
||||
char* end = (char*)((p_end && *p_end) ? *p_end : p + strlen(p));
|
||||
@ -2469,6 +2535,9 @@ int main(int argc, char** argv)
|
||||
case Q_PING:
|
||||
(void) mysql_ping(&cur_con->mysql);
|
||||
break;
|
||||
case Q_EXEC:
|
||||
(void) do_exec(q);
|
||||
break;
|
||||
default: processed = 0; break;
|
||||
}
|
||||
}
|
||||
|
@ -2256,7 +2256,7 @@ do
|
||||
done
|
||||
if test $charset_okay = 0;
|
||||
then
|
||||
AC_MSG_ERROR([Charset $cs not available. (Available $CHARSETS_AVAILABLE).
|
||||
AC_MSG_ERROR([Charset '$cs' not available. (Available $CHARSETS_AVAILABLE).
|
||||
See the Installation chapter in the Reference Manual.]);
|
||||
fi
|
||||
done
|
||||
|
@ -60,7 +60,7 @@ int main(int argc,char *argv[])
|
||||
return(1);
|
||||
}
|
||||
|
||||
VOID(count_rows(from,'"','}')); /* Calculate start-info */
|
||||
VOID(count_rows(from,'"','{')); /* Calculate start-info */
|
||||
if (remember_rows(from,'}') < 0) /* Remember rows */
|
||||
{
|
||||
fprintf(stderr,"Can't find textrows in '%s'\n",*argv);
|
||||
@ -109,7 +109,7 @@ int main(int argc,char *argv[])
|
||||
if (to)
|
||||
fclose(to);
|
||||
if (error)
|
||||
fprintf(stderr,"Can't uppdate messagefile %s, errno: %d\n",*argv,errno);
|
||||
fprintf(stderr,"Can't update messagefile %s, errno: %d\n",*argv,errno);
|
||||
|
||||
exit(error);
|
||||
return(0);
|
||||
|
@ -37,10 +37,9 @@ extern int h_errno;
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_IN_ADDR_T
|
||||
#define in_addr_t u_long
|
||||
#define in_addr_t ulong
|
||||
#endif
|
||||
|
||||
|
||||
static my_bool silent;
|
||||
|
||||
static struct my_option my_long_options[] =
|
||||
|
@ -237,12 +237,12 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
if (my_errno != HA_ERR_FOUND_DUPP_KEY || key3[n3] == 0)
|
||||
{
|
||||
printf("error: %d; can't uppdate:\nFrom: \"%s\"\nTo: \"%s\"\n",
|
||||
printf("error: %d; can't update:\nFrom: \"%s\"\nTo: \"%s\"\n",
|
||||
my_errno,record,record2);
|
||||
goto err;
|
||||
}
|
||||
if (verbose)
|
||||
printf("Double key when tryed to uppdate:\nFrom: \"%s\"\nTo: \"%s\"\n",record,record2);
|
||||
printf("Double key when tried to update:\nFrom: \"%s\"\nTo: \"%s\"\n",record,record2);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1105,4 +1105,14 @@ typedef union {
|
||||
#define statistic_add(V,C,L) (V)+=(C)
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
#include <openssl/opensslv.h>
|
||||
#if OPENSSL_VERSION_NUMBER < 0x0090700f
|
||||
#define DES_cblock des_cblock
|
||||
#define DES_key_schedule des_key_schedule
|
||||
#define DES_set_key_unchecked(k,ks) des_set_key_unchecked((k),*(ks))
|
||||
#define DES_ede3_cbc_encrypt(i,o,l,k1,k2,k3,iv,e) des_ede3_cbc_encrypt((i),(o),(l),*(k1),*(k2),*(k3),(iv),(e))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* my_global_h */
|
||||
|
@ -349,10 +349,11 @@ int STDCALL mysql_refresh(MYSQL *mysql,
|
||||
unsigned int refresh_options);
|
||||
int STDCALL mysql_kill(MYSQL *mysql,unsigned long pid);
|
||||
int STDCALL mysql_ping(MYSQL *mysql);
|
||||
const char * STDCALL mysql_stat(MYSQL *mysql);
|
||||
const char * STDCALL mysql_get_server_info(MYSQL *mysql);
|
||||
const char * STDCALL mysql_get_client_info(void);
|
||||
const char * STDCALL mysql_get_host_info(MYSQL *mysql);
|
||||
const char * STDCALL mysql_stat(MYSQL *mysql);
|
||||
const char * STDCALL mysql_get_server_info(MYSQL *mysql);
|
||||
const char * STDCALL mysql_get_client_info(void);
|
||||
unsigned long STDCALL mysql_get_client_version(void);
|
||||
const char * STDCALL mysql_get_host_info(MYSQL *mysql);
|
||||
unsigned int STDCALL mysql_get_proto_info(MYSQL *mysql);
|
||||
MYSQL_RES * STDCALL mysql_list_dbs(MYSQL *mysql,const char *wild);
|
||||
MYSQL_RES * STDCALL mysql_list_tables(MYSQL *mysql,const char *wild);
|
||||
|
@ -2190,6 +2190,9 @@ row_rename_table_for_mysql(
|
||||
mem_heap_t* heap = NULL;
|
||||
char** constraints_to_drop = NULL;
|
||||
ulint n_constraints_to_drop = 0;
|
||||
ibool recovering_temp_table = FALSE;
|
||||
ulint namelen;
|
||||
ulint keywordlen;
|
||||
ulint len;
|
||||
ulint i;
|
||||
char buf[10000];
|
||||
@ -2226,10 +2229,23 @@ row_rename_table_for_mysql(
|
||||
trx->op_info = (char *) "renaming table";
|
||||
trx_start_if_not_started(trx);
|
||||
|
||||
namelen = ut_strlen(new_name);
|
||||
|
||||
keywordlen = ut_strlen("_recover_innodb_tmp_table");
|
||||
|
||||
if (namelen >= keywordlen
|
||||
&& 0 == ut_memcmp(new_name + namelen - keywordlen,
|
||||
(char*)"_recover_innodb_tmp_table", keywordlen)) {
|
||||
|
||||
recovering_temp_table = TRUE;
|
||||
}
|
||||
|
||||
/* Serialize data dictionary operations with dictionary mutex:
|
||||
no deadlocks can occur then in these operations */
|
||||
|
||||
row_mysql_lock_data_dictionary(trx);
|
||||
if (!recovering_temp_table) {
|
||||
row_mysql_lock_data_dictionary(trx);
|
||||
}
|
||||
|
||||
table = dict_table_get_low(old_name);
|
||||
|
||||
@ -2396,8 +2412,10 @@ row_rename_table_for_mysql(
|
||||
}
|
||||
}
|
||||
}
|
||||
funct_exit:
|
||||
row_mysql_unlock_data_dictionary(trx);
|
||||
funct_exit:
|
||||
if (!recovering_temp_table) {
|
||||
row_mysql_unlock_data_dictionary(trx);
|
||||
}
|
||||
|
||||
if (graph) {
|
||||
que_graph_free(graph);
|
||||
|
@ -265,12 +265,12 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
if (my_errno != HA_ERR_FOUND_DUPP_KEY || key3[n3] == 0)
|
||||
{
|
||||
printf("error: %d; can't uppdate:\nFrom: \"%s\"\nTo: \"%s\"\n",
|
||||
printf("error: %d; can't update:\nFrom: \"%s\"\nTo: \"%s\"\n",
|
||||
my_errno,read_record,record2);
|
||||
goto err;
|
||||
}
|
||||
if (verbose)
|
||||
printf("Double key when tryed to uppdate:\nFrom: \"%s\"\nTo: \"%s\"\n",record,record2);
|
||||
printf("Double key when tried to update:\nFrom: \"%s\"\nTo: \"%s\"\n",record,record2);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1452,10 +1452,6 @@ mysql_init(MYSQL *mysql)
|
||||
after we return if this is not the case.
|
||||
*/
|
||||
mysql->rpl_pivot = 1;
|
||||
#if defined(SIGPIPE) && defined(THREAD) && !defined(__WIN__)
|
||||
if (!((mysql)->client_flag & CLIENT_IGNORE_SIGPIPE))
|
||||
(void) signal(SIGPIPE,pipe_sig_handler);
|
||||
#endif
|
||||
|
||||
/*
|
||||
Only enable LOAD DATA INFILE by default if configured with
|
||||
@ -1515,8 +1511,8 @@ void mysql_once_init(void)
|
||||
mysql_unix_port = env;
|
||||
}
|
||||
mysql_debug(NullS);
|
||||
#if defined(SIGPIPE) && !defined(THREAD) && !defined(__WIN__)
|
||||
(void) signal(SIGPIPE,SIG_IGN);
|
||||
#if defined(SIGPIPE) && !defined(__WIN__)
|
||||
(void) signal(SIGPIPE, SIG_IGN);
|
||||
#endif
|
||||
}
|
||||
#ifdef THREAD
|
||||
@ -2911,6 +2907,11 @@ mysql_get_client_info(void)
|
||||
return (char*) MYSQL_SERVER_VERSION;
|
||||
}
|
||||
|
||||
ulong STDCALL mysql_get_client_version(void)
|
||||
{
|
||||
return MYSQL_VERSION_ID;
|
||||
}
|
||||
|
||||
|
||||
int STDCALL
|
||||
mysql_options(MYSQL *mysql,enum mysql_option option, const char *arg)
|
||||
|
@ -24,6 +24,7 @@ EXPORTS
|
||||
mysql_get_host_info
|
||||
mysql_get_proto_info
|
||||
mysql_get_server_info
|
||||
mysql_get_client_version
|
||||
mysql_info
|
||||
mysql_init
|
||||
mysql_insert_id
|
||||
|
@ -88,7 +88,7 @@ net_safe_read(MYSQL *mysql)
|
||||
{
|
||||
NET *net= &mysql->net;
|
||||
uint len=0;
|
||||
//init_sigpipe_variables
|
||||
/* init_sigpipe_variables */
|
||||
/* Don't give sigpipe errors if the client doesn't want them */
|
||||
set_sigpipe(mysql);
|
||||
if (net->vio != 0)
|
||||
|
@ -90,10 +90,10 @@ copy grant\-rules from temporary tables to grant\-tables
|
||||
.BR \-\-rollback
|
||||
undo the last changes to the grant\-tables.
|
||||
.SH NOTE
|
||||
+ At least the user and the db must be given (even with wildcards)
|
||||
+ If no host is given, `localhost' is assumed
|
||||
+ Wilcards (*,?,%,_) are allowed for host, user and db, but be sure
|
||||
to escape them from your shell!! (ie type \* or '*')
|
||||
At least the user and the db must be given (even with wildcards)
|
||||
If no host is given, `localhost' is assumed
|
||||
Wildcards (*,?,%,_) are allowed for host, user and db, but be sure
|
||||
to escape them from your shell!! (i.e., type \\* or '*')
|
||||
.SH "SEE ALSO"
|
||||
isamchk (1),
|
||||
isamlog (1),
|
||||
|
@ -64,7 +64,7 @@ supports by executing
|
||||
.TP
|
||||
.BR \-A | \-\-all\-databases
|
||||
Dump all the databases. This will be same as
|
||||
.BR\-\-databases
|
||||
.BR \-\-databases
|
||||
with all databases selected.
|
||||
.TP
|
||||
.BR \-a | \-\-all
|
||||
|
@ -200,21 +200,33 @@ int chk_del(MI_CHECK *param, register MI_INFO *info, uint test_flag)
|
||||
empty+=info->s->base.pack_reclength;
|
||||
}
|
||||
}
|
||||
if (test_flag & T_VERBOSE)
|
||||
puts("\n");
|
||||
if (empty != info->state->empty)
|
||||
{
|
||||
if (test_flag & T_VERBOSE) puts("");
|
||||
mi_check_print_warning(param,
|
||||
"Not used space is supposed to be: %s but is: %s",
|
||||
llstr(info->state->empty,buff),
|
||||
llstr(empty,buff2));
|
||||
info->state->empty=empty;
|
||||
"Found %s deleted space in delete link chain. Should be %s",
|
||||
llstr(empty,buff2),
|
||||
llstr(info->state->empty,buff));
|
||||
}
|
||||
if (i != 0 || next_link != HA_OFFSET_ERROR)
|
||||
if (next_link != HA_OFFSET_ERROR)
|
||||
{
|
||||
mi_check_print_error(param,
|
||||
"Found more than the expected %s deleted rows in delete link chain",
|
||||
llstr(info->state->del, buff));
|
||||
goto wrong;
|
||||
|
||||
if (test_flag & T_VERBOSE) puts("\n");
|
||||
}
|
||||
if (i != 0)
|
||||
{
|
||||
mi_check_print_error(param,
|
||||
"Found %s deleted rows in delete link chain. Should be %s",
|
||||
llstr(info->state->del - i, buff2),
|
||||
llstr(info->state->del, buff));
|
||||
goto wrong;
|
||||
}
|
||||
}
|
||||
DBUG_RETURN(0);
|
||||
|
||||
wrong:
|
||||
param->testflag|=T_RETRY_WITHOUT_QUICK;
|
||||
if (test_flag & T_VERBOSE) puts("");
|
||||
@ -1040,6 +1052,13 @@ int chk_data_link(MI_CHECK *param, MI_INFO *info,int extend)
|
||||
}
|
||||
}
|
||||
|
||||
if (del_length != info->state->empty)
|
||||
{
|
||||
mi_check_print_warning(param,
|
||||
"Found %s deleted space. Should be %s",
|
||||
llstr(del_length,llbuff2),
|
||||
llstr(info->state->empty,llbuff));
|
||||
}
|
||||
if (used+empty+del_length != info->state->data_file_length)
|
||||
{
|
||||
mi_check_print_warning(param,
|
||||
|
@ -167,7 +167,6 @@ static int _mi_find_writepos(MI_INFO *info,
|
||||
if (info->s->state.dellink != HA_OFFSET_ERROR)
|
||||
{
|
||||
/* Deleted blocks exists; Get last used block */
|
||||
|
||||
*filepos=info->s->state.dellink;
|
||||
block_info.second_read=0;
|
||||
info->rec_cache.seek_not_done=1;
|
||||
@ -211,7 +210,11 @@ static int _mi_find_writepos(MI_INFO *info,
|
||||
|
||||
|
||||
|
||||
/* Remove a deleted block from the deleted list */
|
||||
/*
|
||||
Unlink a deleted block from the deleted list.
|
||||
This block will be combined with the preceding or next block to form
|
||||
a big block.
|
||||
*/
|
||||
|
||||
static bool unlink_deleted_block(MI_INFO *info, MI_BLOCK_INFO *block_info)
|
||||
{
|
||||
@ -225,6 +228,7 @@ static bool unlink_deleted_block(MI_INFO *info, MI_BLOCK_INFO *block_info)
|
||||
{
|
||||
MI_BLOCK_INFO tmp;
|
||||
tmp.second_read=0;
|
||||
/* Unlink block from the previous block */
|
||||
if (!(_mi_get_block_info(&tmp,info->dfile,block_info->prev_filepos)
|
||||
& BLOCK_DELETED))
|
||||
DBUG_RETURN(1); /* Something is wrong */
|
||||
@ -232,6 +236,7 @@ static bool unlink_deleted_block(MI_INFO *info, MI_BLOCK_INFO *block_info)
|
||||
if (my_pwrite(info->dfile,(char*) tmp.header+4,8,
|
||||
block_info->prev_filepos+4, MYF(MY_NABP)))
|
||||
DBUG_RETURN(1);
|
||||
/* Unlink block from next block */
|
||||
if (block_info->next_filepos != HA_OFFSET_ERROR)
|
||||
{
|
||||
if (!(_mi_get_block_info(&tmp,info->dfile,block_info->next_filepos)
|
||||
@ -244,11 +249,16 @@ static bool unlink_deleted_block(MI_INFO *info, MI_BLOCK_INFO *block_info)
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
}
|
||||
/* We now have one less deleted block */
|
||||
info->state->del--;
|
||||
info->state->empty-= block_info->block_len;
|
||||
info->s->state.split--;
|
||||
|
||||
/* Removing block that we are using through mi_rrnd */
|
||||
/*
|
||||
If this was a block that we where accessing through table scan
|
||||
(mi_rrnd() or mi_scan(), then ensure that we skip over this block
|
||||
when doing next mi_rrnd() or mi_scan().
|
||||
*/
|
||||
if (info->nextpos == block_info->filepos)
|
||||
info->nextpos+=block_info->block_len;
|
||||
DBUG_RETURN(0);
|
||||
@ -325,7 +335,7 @@ static int delete_dynamic_record(MI_INFO *info, my_off_t filepos,
|
||||
info->state->empty+=length;
|
||||
filepos=block_info.next_filepos;
|
||||
|
||||
/* Now it's safe to unlink the block */
|
||||
/* Now it's safe to unlink the deleted block directly after this one */
|
||||
if (remove_next_block && unlink_deleted_block(info,&del_block))
|
||||
error=1;
|
||||
} while (!(b_type & BLOCK_LAST));
|
||||
|
@ -743,7 +743,7 @@ static void uf_blob(MI_COLUMNDEF *rec, MI_BIT_BUFF *bit_buff,
|
||||
{
|
||||
ulong length=get_bits(bit_buff,rec->space_length_bits);
|
||||
uint pack_length=(uint) (end-to)-mi_portable_sizeof_char_ptr;
|
||||
if (bit_buff->blob_pos+length > bit_buff->end)
|
||||
if (bit_buff->blob_pos+length > bit_buff->blob_end)
|
||||
{
|
||||
bit_buff->error=1;
|
||||
bzero((byte*) to,(end-to));
|
||||
@ -1067,6 +1067,7 @@ uint _mi_pack_get_block_info(MI_INFO *myisam, MI_BLOCK_INFO *info, File file,
|
||||
&myisam->rec_buff)))
|
||||
return BLOCK_FATAL_ERROR; /* not enough memory */
|
||||
myisam->bit_buff.blob_pos=(uchar*) myisam->rec_buff+info->rec_len;
|
||||
myisam->bit_buff.blob_end= myisam->bit_buff.blob_pos+info->blob_len;
|
||||
myisam->blob_length=info->blob_len;
|
||||
}
|
||||
info->filepos=filepos+head_length;
|
||||
@ -1243,6 +1244,7 @@ static uchar *_mi_mempack_get_block_info(MI_INFO *myisam,MI_BLOCK_INFO *info,
|
||||
&myisam->rec_buff)))
|
||||
return 0; /* not enough memory */
|
||||
myisam->bit_buff.blob_pos=(uchar*) myisam->rec_buff;
|
||||
myisam->bit_buff.blob_end= (uchar*) myisam->rec_buff + info->blob_len;
|
||||
}
|
||||
return header;
|
||||
}
|
||||
|
@ -329,12 +329,12 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
if (my_errno != HA_ERR_FOUND_DUPP_KEY || key3[n3] == 0)
|
||||
{
|
||||
printf("error: %d; can't uppdate:\nFrom: \"%s\"\nTo: \"%s\"\n",
|
||||
printf("error: %d; can't update:\nFrom: \"%s\"\nTo: \"%s\"\n",
|
||||
my_errno,read_record,record2);
|
||||
goto err;
|
||||
}
|
||||
if (verbose)
|
||||
printf("Double key when tryed to uppdate:\nFrom: \"%s\"\nTo: \"%s\"\n",record,record2);
|
||||
printf("Double key when tried to update:\nFrom: \"%s\"\nTo: \"%s\"\n",record,record2);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -213,7 +213,7 @@ typedef uint mi_bit_type;
|
||||
typedef struct st_mi_bit_buff { /* Used for packing of record */
|
||||
mi_bit_type current_byte;
|
||||
uint bits;
|
||||
uchar *pos,*end,*blob_pos;
|
||||
uchar *pos,*end,*blob_pos,*blob_end;
|
||||
uint error;
|
||||
} MI_BIT_BUFF;
|
||||
|
||||
|
@ -337,8 +337,8 @@ while test $# -gt 0; do
|
||||
;;
|
||||
--valgrind)
|
||||
VALGRIND="valgrind --alignment=8 --leak-check=yes --num-callers=16"
|
||||
EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT --skip-safemalloc"
|
||||
EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT --skip-safemalloc"
|
||||
EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT --skip-safemalloc --skip-bdb"
|
||||
EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT --skip-safemalloc --skip-bdb"
|
||||
SLEEP_TIME_AFTER_RESTART=10
|
||||
SLEEP_TIME_FOR_DELETE=120
|
||||
USE_RUNNING_SERVER=""
|
||||
@ -428,6 +428,16 @@ if [ x$SOURCE_DIST = x1 ] ; then
|
||||
else
|
||||
MYSQL_TEST="$BASEDIR/client/mysqltest"
|
||||
fi
|
||||
if [ -f "$BASEDIR/client/.libs/mysqldump" ] ; then
|
||||
MYSQL_DUMP="$BASEDIR/client/.libs/mysqldump"
|
||||
else
|
||||
MYSQL_DUMP="$BASEDIR/client/mysqldump"
|
||||
fi
|
||||
if [ -f "$BASEDIR/client/.libs/mysqlbinlog" ] ; then
|
||||
MYSQL_BINLOG="$BASEDIR/client/.libs/mysqlbinlog"
|
||||
else
|
||||
MYSQL_BINLOG="$BASEDIR/client/mysqlbinlog"
|
||||
fi
|
||||
if [ -n "$STRACE_CLIENT" ]; then
|
||||
MYSQL_TEST="strace -o $MYSQL_TEST_DIR/var/log/mysqltest.strace $MYSQL_TEST"
|
||||
fi
|
||||
@ -449,6 +459,8 @@ else
|
||||
MYSQLD="$VALGRIND $BASEDIR/bin/mysqld"
|
||||
fi
|
||||
MYSQL_TEST="$BASEDIR/bin/mysqltest"
|
||||
MYSQL_DUMP="$BASEDIR/bin/mysqldump"
|
||||
MYSQL_BINLOG="$BASEDIR/bin/mysqlbinlog"
|
||||
MYSQLADMIN="$BASEDIR/bin/mysqladmin"
|
||||
WAIT_PID="$BASEDIR/bin/mysql_waitpid"
|
||||
MYSQL_MANAGER="$BASEDIR/bin/mysqlmanager"
|
||||
@ -466,6 +478,11 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
MYSQL_DUMP="$MYSQL_DUMP --no-defaults -uroot --socket=$MASTER_MYSOCK"
|
||||
MYSQL_BINLOG="$MYSQL_BINLOG --no-defaults --local-load=$MYSQL_TMP_DIR"
|
||||
export MYSQL_DUMP
|
||||
export MYSQL_BINLOG
|
||||
|
||||
if [ -z "$MASTER_MYSQLD" ]
|
||||
then
|
||||
MASTER_MYSQLD=$MYSQLD
|
||||
@ -1026,8 +1043,8 @@ EOF
|
||||
|
||||
mysql_start ()
|
||||
{
|
||||
# We should not start the deamon here as we don't know the argumens
|
||||
# for the test. Better to let the test start the deamon
|
||||
# We should not start the daemon here as we don't know the arguments
|
||||
# for the test. Better to let the test start the daemon
|
||||
|
||||
# $ECHO "Starting MySQL daemon"
|
||||
# start_master
|
||||
@ -1349,7 +1366,7 @@ then
|
||||
mysql_install_db
|
||||
start_manager
|
||||
|
||||
# Do not automagically start deamons if we are in gdb or running only one test
|
||||
# Do not automagically start daemons if we are in gdb or running only one test
|
||||
# case
|
||||
if [ -z "$DO_GDB" ] && [ -z "$DO_DDD" ]
|
||||
then
|
||||
|
@ -78,7 +78,7 @@ Field Type Null Key Default Extra
|
||||
x varchar(50) YES NULL
|
||||
describe t2;
|
||||
Field Type Null Key Default Extra
|
||||
x char(50) YES NULL
|
||||
x varchar(50) YES NULL
|
||||
drop table t2;
|
||||
create table t2 select now() as a , curtime() as b, curdate() as c , 1+1 as d , 1.0 + 1 as e , 33333333333333333 + 3 as f;
|
||||
describe t2;
|
||||
|
@ -303,9 +303,9 @@ t1 index id id 4 NULL 2 Using index; Using temporary
|
||||
t2 index id id 8 NULL 1 Using index; Distinct
|
||||
t3 index id id 8 NULL 1 Using index; Distinct
|
||||
j_lj_t2 index id id 4 NULL 2 Using where; Using index; Distinct
|
||||
t2_lj index id id 8 NULL 1 Using where; Using index; Distinct
|
||||
t2_lj ref id id 4 j_lj_t2.id 1 Using where; Using index; Distinct
|
||||
j_lj_t3 index id id 4 NULL 2 Using where; Using index; Distinct
|
||||
t3_lj index id id 8 NULL 1 Using where; Using index; Distinct
|
||||
t3_lj ref id id 4 j_lj_t3.id 1 Using where; Using index; Distinct
|
||||
SELECT DISTINCT
|
||||
t1.id
|
||||
from
|
||||
|
18
mysql-test/r/drop_temp_table.result
Normal file
18
mysql-test/r/drop_temp_table.result
Normal file
@ -0,0 +1,18 @@
|
||||
reset master;
|
||||
create database `drop-temp+table-test`;
|
||||
use `drop-temp+table-test`;
|
||||
create temporary table `table:name` (a int);
|
||||
select get_lock("a",10);
|
||||
get_lock("a",10)
|
||||
1
|
||||
select get_lock("a",10);
|
||||
get_lock("a",10)
|
||||
1
|
||||
show binlog events;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 4 Start 1 4 Server ver: VERSION, Binlog ver: 3
|
||||
master-bin.001 79 Query 1 79 use `test`; create database `drop-temp+table-test`
|
||||
master-bin.001 152 Query 1 152 use `drop-temp+table-test`; create temporary table `table:name` (a int)
|
||||
master-bin.001 246 Query 1 246 use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE `drop-temp+table-test`.`table:name`
|
||||
master-bin.001 365 Query 1 365 use `drop-temp+table-test`; DO RELEASE_LOCK("a")
|
||||
drop database `drop-temp+table-test`;
|
@ -1,4 +1,3 @@
|
||||
use test;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (
|
||||
a int(11) NOT NULL auto_increment,
|
||||
|
@ -1,4 +1,3 @@
|
||||
use test;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (
|
||||
a INT AUTO_INCREMENT PRIMARY KEY,
|
||||
|
@ -1,13 +0,0 @@
|
||||
use test;
|
||||
drop table if exists t1,t2;
|
||||
create table t1 (email varchar(50));
|
||||
insert into t1 values ('sasha@mysql.com'),('monty@mysql.com'),
|
||||
('foo@hotmail.com'),('foo@aol.com'),('bar@aol.com');
|
||||
create table t2(id int not null auto_increment primary key,
|
||||
t2 varchar(50), unique(t2));
|
||||
insert into t2 (t2) select distinct substring(email, locate('@', email)+1) from t1;
|
||||
select * from t2;
|
||||
id t2
|
||||
1 mysql.com
|
||||
2 hotmail.com
|
||||
3 aol.com
|
@ -1,4 +1,4 @@
|
||||
drop table if exists t1;
|
||||
drop table if exists t1,t2;
|
||||
create table t1 (a int not null);
|
||||
insert into t1 values (1);
|
||||
insert into t1 values (a+2);
|
||||
@ -68,9 +68,19 @@ id
|
||||
0
|
||||
2
|
||||
drop table t1;
|
||||
drop database if exists foo;
|
||||
create database foo;
|
||||
use foo;
|
||||
create table t1 (email varchar(50));
|
||||
insert into t1 values ('sasha@mysql.com'),('monty@mysql.com'),('foo@hotmail.com'),('foo@aol.com'),('bar@aol.com');
|
||||
create table t2(id int not null auto_increment primary key, t2 varchar(50), unique(t2));
|
||||
insert into t2 (t2) select distinct substring(email, locate('@', email)+1) from t1;
|
||||
select * from t2;
|
||||
id t2
|
||||
1 mysql.com
|
||||
2 hotmail.com
|
||||
3 aol.com
|
||||
drop table t1,t2;
|
||||
drop database if exists mysqltest;
|
||||
create database mysqltest;
|
||||
use mysqltest;
|
||||
create table t1 (c int);
|
||||
insert into foo.t1 set foo.t1.c = '1';
|
||||
drop database foo;
|
||||
insert into mysqltest.t1 set mysqltest.t1.c = '1';
|
||||
drop database mysqltest;
|
||||
|
@ -75,7 +75,7 @@ Duplicate entry '2' for key 1
|
||||
show binlog events;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 4 Start 1 4 Server ver: VERSION, Binlog ver: 3
|
||||
master-bin.001 79 Query 1 79 use test; insert into t1 select * from t2
|
||||
master-bin.001 79 Query 1 79 use `test`; insert into t1 select * from t2
|
||||
drop table t1, t2;
|
||||
drop table if exists t1, t2;
|
||||
create table t1 (a int not null);
|
||||
|
@ -615,7 +615,7 @@ INSERT INTO t2 VALUES (1,1);
|
||||
explain SELECT * from t1 left join t2 on t1.id=t2.id where t2.id IS NULL;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL NULL NULL NULL NULL 2
|
||||
t2 index id id 8 NULL 1 Using where; Using index; Not exists
|
||||
t2 ref id id 4 t1.id 1 Using where; Using index; Not exists
|
||||
SELECT * from t1 left join t2 on t1.id=t2.id where t2.id IS NULL;
|
||||
id name id idx
|
||||
2 no NULL NULL
|
||||
|
@ -8,10 +8,10 @@ insert into t2 select * from t1;
|
||||
commit;
|
||||
show binlog events from 79;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 79 Query 1 79 use test; BEGIN
|
||||
master-bin.001 119 Query 1 79 use test; insert into t1 values(1)
|
||||
master-bin.001 178 Query 1 79 use test; insert into t2 select * from t1
|
||||
master-bin.001 244 Query 1 244 use test; COMMIT
|
||||
master-bin.001 79 Query 1 79 use `test`; BEGIN
|
||||
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(1)
|
||||
master-bin.001 178 Query 1 79 use `test`; insert into t2 select * from t1
|
||||
master-bin.001 244 Query 1 244 use `test`; COMMIT
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -22,10 +22,10 @@ rollback;
|
||||
Warning: Some non-transactional changed tables couldn't be rolled back
|
||||
show binlog events from 79;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 79 Query 1 79 use test; BEGIN
|
||||
master-bin.001 119 Query 1 79 use test; insert into t1 values(2)
|
||||
master-bin.001 178 Query 1 79 use test; insert into t2 select * from t1
|
||||
master-bin.001 244 Query 1 244 use test; ROLLBACK
|
||||
master-bin.001 79 Query 1 79 use `test`; BEGIN
|
||||
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(2)
|
||||
master-bin.001 178 Query 1 79 use `test`; insert into t2 select * from t1
|
||||
master-bin.001 244 Query 1 244 use `test`; ROLLBACK
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -39,13 +39,13 @@ Warning: Some non-transactional changed tables couldn't be rolled back
|
||||
commit;
|
||||
show binlog events from 79;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 79 Query 1 79 use test; BEGIN
|
||||
master-bin.001 119 Query 1 79 use test; insert into t1 values(3)
|
||||
master-bin.001 178 Query 1 79 use test; savepoint my_savepoint
|
||||
master-bin.001 235 Query 1 79 use test; insert into t1 values(4)
|
||||
master-bin.001 294 Query 1 79 use test; insert into t2 select * from t1
|
||||
master-bin.001 360 Query 1 79 use test; rollback to savepoint my_savepoint
|
||||
master-bin.001 429 Query 1 429 use test; COMMIT
|
||||
master-bin.001 79 Query 1 79 use `test`; BEGIN
|
||||
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(3)
|
||||
master-bin.001 178 Query 1 79 use `test`; savepoint my_savepoint
|
||||
master-bin.001 235 Query 1 79 use `test`; insert into t1 values(4)
|
||||
master-bin.001 294 Query 1 79 use `test`; insert into t2 select * from t1
|
||||
master-bin.001 360 Query 1 79 use `test`; rollback to savepoint my_savepoint
|
||||
master-bin.001 429 Query 1 429 use `test`; COMMIT
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -64,14 +64,14 @@ a
|
||||
7
|
||||
show binlog events from 79;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 79 Query 1 79 use test; BEGIN
|
||||
master-bin.001 119 Query 1 79 use test; insert into t1 values(5)
|
||||
master-bin.001 178 Query 1 79 use test; savepoint my_savepoint
|
||||
master-bin.001 235 Query 1 79 use test; insert into t1 values(6)
|
||||
master-bin.001 294 Query 1 79 use test; insert into t2 select * from t1
|
||||
master-bin.001 360 Query 1 79 use test; rollback to savepoint my_savepoint
|
||||
master-bin.001 429 Query 1 79 use test; insert into t1 values(7)
|
||||
master-bin.001 488 Query 1 488 use test; COMMIT
|
||||
master-bin.001 79 Query 1 79 use `test`; BEGIN
|
||||
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(5)
|
||||
master-bin.001 178 Query 1 79 use `test`; savepoint my_savepoint
|
||||
master-bin.001 235 Query 1 79 use `test`; insert into t1 values(6)
|
||||
master-bin.001 294 Query 1 79 use `test`; insert into t2 select * from t1
|
||||
master-bin.001 360 Query 1 79 use `test`; rollback to savepoint my_savepoint
|
||||
master-bin.001 429 Query 1 79 use `test`; insert into t1 values(7)
|
||||
master-bin.001 488 Query 1 488 use `test`; COMMIT
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -86,10 +86,10 @@ get_lock("a",10)
|
||||
1
|
||||
show binlog events from 79;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 79 Query 1 79 use test; BEGIN
|
||||
master-bin.001 119 Query 1 79 use test; insert into t1 values(8)
|
||||
master-bin.001 178 Query 1 79 use test; insert into t2 select * from t1
|
||||
master-bin.001 244 Query 1 244 use test; ROLLBACK
|
||||
master-bin.001 79 Query 1 79 use `test`; BEGIN
|
||||
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(8)
|
||||
master-bin.001 178 Query 1 79 use `test`; insert into t2 select * from t1
|
||||
master-bin.001 244 Query 1 244 use `test`; ROLLBACK
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -97,8 +97,8 @@ insert into t1 values(9);
|
||||
insert into t2 select * from t1;
|
||||
show binlog events from 79;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 79 Query 1 79 use test; insert into t1 values(9)
|
||||
master-bin.001 138 Query 1 138 use test; insert into t2 select * from t1
|
||||
master-bin.001 79 Query 1 79 use `test`; insert into t1 values(9)
|
||||
master-bin.001 138 Query 1 138 use `test`; insert into t2 select * from t1
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -107,17 +107,17 @@ begin;
|
||||
insert into t2 select * from t1;
|
||||
show binlog events from 79;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 79 Query 1 79 use test; insert into t1 values(10)
|
||||
master-bin.001 139 Query 1 139 use test; insert into t2 select * from t1
|
||||
master-bin.001 79 Query 1 79 use `test`; insert into t1 values(10)
|
||||
master-bin.001 139 Query 1 139 use `test`; insert into t2 select * from t1
|
||||
insert into t1 values(11);
|
||||
commit;
|
||||
show binlog events from 79;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 79 Query 1 79 use test; insert into t1 values(10)
|
||||
master-bin.001 139 Query 1 139 use test; insert into t2 select * from t1
|
||||
master-bin.001 205 Query 1 205 use test; BEGIN
|
||||
master-bin.001 245 Query 1 205 use test; insert into t1 values(11)
|
||||
master-bin.001 305 Query 1 305 use test; COMMIT
|
||||
master-bin.001 79 Query 1 79 use `test`; insert into t1 values(10)
|
||||
master-bin.001 139 Query 1 139 use `test`; insert into t2 select * from t1
|
||||
master-bin.001 205 Query 1 205 use `test`; BEGIN
|
||||
master-bin.001 245 Query 1 205 use `test`; insert into t1 values(11)
|
||||
master-bin.001 305 Query 1 305 use `test`; COMMIT
|
||||
alter table t2 type=INNODB;
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
@ -128,10 +128,10 @@ insert into t2 select * from t1;
|
||||
commit;
|
||||
show binlog events from 79;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 79 Query 1 79 use test; BEGIN
|
||||
master-bin.001 119 Query 1 79 use test; insert into t1 values(12)
|
||||
master-bin.001 179 Query 1 79 use test; insert into t2 select * from t1
|
||||
master-bin.001 245 Query 1 245 use test; COMMIT
|
||||
master-bin.001 79 Query 1 79 use `test`; BEGIN
|
||||
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(12)
|
||||
master-bin.001 179 Query 1 79 use `test`; insert into t2 select * from t1
|
||||
master-bin.001 245 Query 1 245 use `test`; COMMIT
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -153,9 +153,9 @@ rollback to savepoint my_savepoint;
|
||||
commit;
|
||||
show binlog events from 79;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 79 Query 1 79 use test; BEGIN
|
||||
master-bin.001 119 Query 1 79 use test; insert into t1 values(14)
|
||||
master-bin.001 179 Query 1 179 use test; COMMIT
|
||||
master-bin.001 79 Query 1 79 use `test`; BEGIN
|
||||
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(14)
|
||||
master-bin.001 179 Query 1 179 use `test`; COMMIT
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
reset master;
|
||||
@ -173,8 +173,8 @@ a
|
||||
18
|
||||
show binlog events from 79;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.001 79 Query 1 79 use test; BEGIN
|
||||
master-bin.001 119 Query 1 79 use test; insert into t1 values(16)
|
||||
master-bin.001 179 Query 1 79 use test; insert into t1 values(18)
|
||||
master-bin.001 239 Query 1 239 use test; COMMIT
|
||||
master-bin.001 79 Query 1 79 use `test`; BEGIN
|
||||
master-bin.001 119 Query 1 79 use `test`; insert into t1 values(16)
|
||||
master-bin.001 179 Query 1 79 use `test`; insert into t1 values(18)
|
||||
master-bin.001 239 Query 1 239 use `test`; COMMIT
|
||||
drop table t1,t2;
|
||||
|
83
mysql-test/r/mysqlbinlog.result
Normal file
83
mysql-test/r/mysqlbinlog.result
Normal file
@ -0,0 +1,83 @@
|
||||
drop table if exists t1,t2;
|
||||
set timestamp=1000000000;
|
||||
create table t1 (word varchar(20));
|
||||
create table t2 (id int auto_increment not null primary key);
|
||||
insert into t1 values ("abirvalg");
|
||||
insert into t2 values ();
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
insert into t1 values ("Alas");
|
||||
flush logs;
|
||||
|
||||
--- Local --
|
||||
use test;
|
||||
SET TIMESTAMP=1000000000;
|
||||
create table t1 (word varchar(20));
|
||||
SET TIMESTAMP=1000000000;
|
||||
create table t2 (id int auto_increment not null primary key);
|
||||
SET TIMESTAMP=1000000000;
|
||||
insert into t1 values ("abirvalg");
|
||||
SET INSERT_ID=1;
|
||||
SET TIMESTAMP=1000000000;
|
||||
insert into t2 values ();
|
||||
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-1-0' INTO TABLE t1 FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
||||
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-2-0' INTO TABLE t1 FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
||||
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-3-0' INTO TABLE t1 FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
||||
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-4-0' INTO TABLE t1 FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
||||
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/var/tmp/words.dat-5-0' INTO TABLE t1 FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY '' (word);
|
||||
|
||||
--- Broken LOAD DATA --
|
||||
use test;
|
||||
SET TIMESTAMP=1000000000;
|
||||
insert into t1 values ("Alas");
|
||||
|
||||
--- --database --
|
||||
SET INSERT_ID=1;
|
||||
|
||||
--- --position --
|
||||
use test;
|
||||
SET TIMESTAMP=1000000000;
|
||||
insert into t1 values ("Alas");
|
||||
|
||||
--- Remote --
|
||||
use test;
|
||||
SET TIMESTAMP=1000000000;
|
||||
create table t1 (word varchar(20));
|
||||
SET TIMESTAMP=1000000000;
|
||||
create table t2 (id int auto_increment not null primary key);
|
||||
SET TIMESTAMP=1000000000;
|
||||
insert into t1 values ("abirvalg");
|
||||
SET INSERT_ID=1;
|
||||
SET TIMESTAMP=1000000000;
|
||||
insert into t2 values ();
|
||||
SET TIMESTAMP=1000000000;
|
||||
insert into t1 values ("Alas");
|
||||
|
||||
--- Broken LOAD DATA --
|
||||
use test;
|
||||
SET TIMESTAMP=1000000000;
|
||||
insert into t1 values ("Alas");
|
||||
|
||||
--- --database --
|
||||
use test;
|
||||
SET TIMESTAMP=1000000000;
|
||||
create table t1 (word varchar(20));
|
||||
SET TIMESTAMP=1000000000;
|
||||
create table t2 (id int auto_increment not null primary key);
|
||||
SET TIMESTAMP=1000000000;
|
||||
insert into t1 values ("abirvalg");
|
||||
SET INSERT_ID=1;
|
||||
SET TIMESTAMP=1000000000;
|
||||
insert into t2 values ();
|
||||
SET TIMESTAMP=1000000000;
|
||||
insert into t1 values ("Alas");
|
||||
|
||||
--- --position --
|
||||
use test;
|
||||
SET TIMESTAMP=1000000000;
|
||||
insert into t1 values ("Alas");
|
||||
drop table t1;
|
17
mysql-test/r/mysqldump.result
Normal file
17
mysql-test/r/mysqldump.result
Normal file
@ -0,0 +1,17 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(a int);
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
<?xml version="1.0"?>
|
||||
<mysqldump>
|
||||
<database name="test">
|
||||
<table name="t1">
|
||||
<row>
|
||||
<field name="a">1</field>
|
||||
</row>
|
||||
<row>
|
||||
<field name="a">2</field>
|
||||
</row>
|
||||
</table>
|
||||
</database>
|
||||
</mysqldump>
|
||||
DROP TABLE t1;
|
@ -307,17 +307,17 @@ table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 9 NULL 8 Using where; Using index
|
||||
explain select * from t1 where a = 2 and b >0 order by a desc,b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 9 NULL 4 Using where; Using index
|
||||
t1 range a a 9 NULL 5 Using where; Using index
|
||||
explain select * from t1 where a = 2 and b is null order by a desc,b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a a 9 const,const 1 Using where; Using index; Using filesort
|
||||
explain select * from t1 where a = 2 and (b is null or b > 0) order by a
|
||||
desc,b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 9 NULL 5 Using where; Using index
|
||||
t1 range a a 9 NULL 6 Using where; Using index
|
||||
explain select * from t1 where a = 2 and b > 0 order by a desc,b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 9 NULL 4 Using where; Using index
|
||||
t1 range a a 9 NULL 5 Using where; Using index
|
||||
explain select * from t1 where a = 2 and b < 2 order by a desc,b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 9 NULL 2 Using where; Using index
|
||||
@ -466,8 +466,8 @@ t2 eq_ref PRIMARY,uid PRIMARY 4 t1.gid 1
|
||||
t3 eq_ref PRIMARY PRIMARY 2 t2.uid 1 Using where; Using index
|
||||
EXPLAIN SELECT t1.gid, t3.uid from t1, t3 where t1.gid = t3.uid order by t1.gid,t3.skr;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 index PRIMARY PRIMARY 4 NULL 6 Using index
|
||||
t3 eq_ref PRIMARY PRIMARY 2 t1.gid 1 Using where
|
||||
t3 ALL PRIMARY NULL NULL NULL 6 Using temporary; Using filesort
|
||||
t1 eq_ref PRIMARY PRIMARY 4 t3.uid 1 Using where; Using index
|
||||
EXPLAIN SELECT t1.gid, t2.sid, t3.uid from t2, t1, t3 where t2.gid = t1.gid and t2.uid = t3.uid order by t3.uid, t1.gid;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 index PRIMARY PRIMARY 4 NULL 6 Using index; Using temporary; Using filesort
|
||||
@ -475,8 +475,8 @@ t2 eq_ref PRIMARY,uid PRIMARY 4 t1.gid 1
|
||||
t3 eq_ref PRIMARY PRIMARY 2 t2.uid 1 Using where; Using index
|
||||
EXPLAIN SELECT t1.gid, t3.uid from t1, t3 where t1.gid = t3.uid order by t3.skr,t1.gid;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 index PRIMARY PRIMARY 4 NULL 6 Using index; Using temporary; Using filesort
|
||||
t3 eq_ref PRIMARY PRIMARY 2 t1.gid 1 Using where
|
||||
t3 ALL PRIMARY NULL NULL NULL 6 Using temporary; Using filesort
|
||||
t1 eq_ref PRIMARY PRIMARY 4 t3.uid 1 Using where; Using index
|
||||
EXPLAIN SELECT t1.gid, t3.uid from t1, t3 where t1.skr = t3.uid order by t1.gid,t3.skr;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL NULL NULL NULL NULL 6 Using temporary; Using filesort
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user