diff --git a/.bzrignore b/.bzrignore index 302ea948459..d2aa16da0a3 100644 --- a/.bzrignore +++ b/.bzrignore @@ -103,6 +103,7 @@ Makefile.in' PENDING/* TAGS ac_available_languages_fragment +acinclude.m4 aclocal.m4 analyse.test autom4te-2.53.cache/* @@ -1105,4 +1106,3 @@ vio/test-ssl vio/test-sslclient vio/test-sslserver vio/viotest-ssl -acinclude.m4 diff --git a/BitKeeper/etc/gone b/BitKeeper/etc/gone index 126bd4e38d3..776d469ee41 100644 --- a/BitKeeper/etc/gone +++ b/BitKeeper/etc/gone @@ -457,6 +457,14 @@ ccarkner@nslinuxw10.bedford.progress.com|mysql-test/r/isolation.result|200103271 ccarkner@nslinuxw10.bedford.progress.com|mysql-test/t/isolation.test|20010327145543|39049|6a39e4138dd4a456 jani@hynda.mysql.fi|client/mysqlcheck|20010419221207|26716|363e3278166d84ec jcole@tetra.bedford.progress.com|BitKeeper/etc/logging_ok|20001004201211|30554 +jimw@mysql.com|mysql-test/t/ndb_alter_table.disabled|20050311230559|27526|411e026940e7a0aa +jimw@mysql.com|mysql-test/t/ndb_alter_table.disabled|20050311230559|27526|411e026940e7a0aajimw@mysql.com|mysql-test/t/ndb_autodiscover2.disabled|20050311230559|22363|afa8e5b6e46a3ea1jimw@mysql.com|mysql-test/t/ndb_autodiscover.disabled|20050311230559|58101|dda20d04dddbb06jimw@mysql.com|mysql-test/t/ndb_cache_multi2.disabled|20050311230600|47901|84fed1a78c0d3e6djimw@mysql.com|mysql-test/t/ndb_cache_multi.disabled|20050311230600|18039|9657b6eff7deb27ajimw@mysql.com|mysql-test/t/ndb_multi.disabled|20050311230600|12240|2599367ad06100f6jimw@mysql.com|mysql-test/t/ndb_restore.disabled|20050311230600|30718|3c2453d6164b1a30jimw@mysql.com|mysql-test/t/ndb_alter_table.disabled|20050311230559|27526|411e026940e7a0aajimw@mysql.com|mysql-test/t/ndb_autodiscover2.disabled|20050311230559|22363|afa8e5b6e46a3ea1jimw@mysql.com|mysql-test/t/ndb_autodiscover.disabled|20050311230559|58101|dda20d04dddbb06jimw@mysql.com|mysql-test/t/ndb_cache_multi2.disabled|20050311230600|47901|84fed1a78c0d3e6djimw@mysql.com|mysql-test/t/ndb_cache_multi.disabled|20050311230600|18039|9657b6eff7deb27ajimw@mysql.com|mysql-test/t/ndb_multi.disabled|20050311230600|12240|2599367ad06100f6jimw@mysql.com|mysql-test/t/ndb_restore.disabled|20050311230600|30718|3c2453d6164b1a30magnus@neptunus.(none)|ndb/src/client/Makefile|20040414084436|02010|6c2778d2bf4954a2 +jimw@mysql.com|mysql-test/t/ndb_autodiscover.disabled|20050311230559|58101|dda20d04dddbb06 +jimw@mysql.com|mysql-test/t/ndb_autodiscover2.disabled|20050311230559|22363|afa8e5b6e46a3ea1 +jimw@mysql.com|mysql-test/t/ndb_cache_multi.disabled|20050311230600|18039|9657b6eff7deb27a +jimw@mysql.com|mysql-test/t/ndb_cache_multi2.disabled|20050311230600|47901|84fed1a78c0d3e6d +jimw@mysql.com|mysql-test/t/ndb_multi.disabled|20050311230600|12240|2599367ad06100f6 +jimw@mysql.com|mysql-test/t/ndb_restore.disabled|20050311230600|30718|3c2453d6164b1a30 magnus@neptunus.(none)|ndb/src/client/Makefile|20040414084436|02010|6c2778d2bf4954a2 magnus@neptunus.(none)|ndb/src/client/odbc/Extra.mk|20040414082358|47442|eabbb28986ca817d magnus@neptunus.(none)|ndb/src/client/odbc/Makefile|20040414084435|33394|9bc928a18aa88d66 @@ -1174,6 +1182,7 @@ mwagner@evoq.home.mwagner.org|mysql-test/xml/xsl/README|20001013051514|26509|cd4 mwagner@evoq.home.mwagner.org|mysql-test/xml/xsl/mysqltest.xsl|20001013051514|27425|1b8f6ec4f1b5f634 mwagner@work.mysql.com|mysql-test/r/3.23/sel000001.result|20001010091454|28284|383913ae4505ec86 mwagner@work.mysql.com|mysql-test/r/3.23/sel000002.result|20001010091454|29230|d1787e6fd5dbc1cc +ndb/src/client/Makefile nick@nick.leippe.com|mysql-test/r/rpl_empty_master_crash.result|20020531235552|47718|615f521be2132141 nick@nick.leippe.com|mysql-test/t/rpl_empty_master_crash.test|20020531235552|52328|99464e737639ccc6 sasha@mysql.sashanet.com|BitKeeper/etc/logging_ok|20000801000905|12967|5b7d847a2158554 diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index 4150e9ce2b2..eff53f4a789 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -7,6 +7,7 @@ Greg@greg-laptop. Miguel@light.local Sinisa@sinisa.nasamreza.org WAX@sergbook.mysql.com +acurtis@ltantony.rdg.cyberkinetica.homeunix.net acurtis@pcgem.rdg.cyberkinetica.com administrador@light.hegel.local ahlentz@co3064164-a.rochd1.qld.optusnet.com.au @@ -50,6 +51,7 @@ ejonore@mc03.ndb.mysql.com gbichot@quadita2.mysql.com georg@beethoven.local georg@beethoven.site +georg@lmy002.wdf.sap.corp gerberb@ou800.zenez.com gluh@gluh.(none) gluh@gluh.mysql.r18.ru @@ -180,6 +182,7 @@ ndbdev@shark. nick@mysql.com nick@nick.leippe.com papa@gbichot.local +patg@krsna. patg@krsna.patg.net patg@patrick-galbraiths-computer.local patg@pc248.lfp.kcls.org diff --git a/Build-tools/Do-compile b/Build-tools/Do-compile index c7cba7f967f..0cd782c023e 100755 --- a/Build-tools/Do-compile +++ b/Build-tools/Do-compile @@ -394,13 +394,13 @@ if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest) info("Running test suite"); system("mkdir $bench_tmpdir") if (! -d $bench_tmpdir); safe_cd("${test_dir}/mysql-test"); - check_system("./mysql-test-run $flags --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port --manager-port=$manager_port --no-manager --sleep=10", "tests were successful"); + check_system("./mysql-test-run $flags --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port --manager-port=$manager_port --no-manager --sleep=10", "were successful"); unless ($opt_skip_ps_test) { log_timestamp(); info("Running test suite using prepared statements"); - check_system("./mysql-test-run $flags --ps-protocol --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port --manager-port=$manager_port --no-manager --sleep=10", "tests were successful"); + check_system("./mysql-test-run $flags --ps-protocol --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --ndbcluster_port=$ndbcluster_port --manager-port=$manager_port --no-manager --sleep=10", "were successful"); } unless ($opt_skip_embedded_test) @@ -409,7 +409,7 @@ if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest) info("Running embedded server test suite"); # Embedded server and NDB don't jive $flags=~ s/ --with-ndbcluster//; - check_system("./mysql-test-run $flags --embedded-server --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --manager-port=$manager_port --no-manager --sleep=10", "tests were successful"); + check_system("./mysql-test-run $flags --embedded-server --tmpdir=$bench_tmpdir --master_port=$mysql_tcp_port --slave_port=$slave_port --manager-port=$manager_port --no-manager --sleep=10", "were successful"); } # 'mysql-test-run' writes its own final message for log evaluation. } diff --git a/Build-tools/Do-solaris-pkg b/Build-tools/Do-solaris-pkg index 685a1f0923b..22d68793808 100644 --- a/Build-tools/Do-solaris-pkg +++ b/Build-tools/Do-solaris-pkg @@ -14,19 +14,17 @@ $pkginfo = "pkginfo"; ($gid ,$pkg ,$uid ,$userInfo ,$email ,$quota ,$group ,$passwd ,$category ,$userHome ,$vendor ,$loginShell ,$pstamp ,$basedir)=(); -$fullname = shift @ARGV; -$fullname or die "No package name was specified"; --d $fullname or die "That directory is not present!"; +$tarball= $fullname= shift @ARGV; +$fullname=~ s/.*(mysql.*)\.tar\.gz/$1/; +$workdir= $$; +chomp ($parent_workdir= `pwd`); -$fullname =~ s,/+$,,; # Remove ending slash if any +$hostname= ($fullname=~ m/^.+-64bit$/) ? $hostname . "-64bit" : $hostname; +$pkgdir= "$ENV{'HOME'}/$hostname"; -$pkgdir= `cd ../$hostname; pwd`; -$pwd = `pwd`; -if ($pwd =~ '\/usr\/local') { - $pwd = $`; -} -die "Wrong location, please cd to /usr/local/ and run again.\n" - if ($pwd eq ""); +mkdir $workdir or die "Can't make workdir: $!\n"; +chdir $workdir or die "Can't change to workdir: $!\n"; +system ("tar xzvf $tarball") == 0 or die "Can't untar: $!\n"; system ("$find . -print | $pkgproto > $temp"); open (PREPROTO,"<$temp") or die "Unable to read prototype information ($!)\n"; @@ -57,8 +55,9 @@ unlink $temp or warn "Unable to remove tempfile ($!)\n"; # Now we can start building the package # # First get some info +$fullname =~ s,/+$,,; # Remove ending slash if any -$fullname =~ /^((mysql)-.+)-([\d\.]+)-.+$/ +$fullname =~ /^((mysql)(?:-\w+){1,3})-([\d\.]+\w?)-.+$/ or die "This name is not what I expected - \"$fullname\""; $default{"name"}= $2; @@ -137,10 +136,11 @@ system ("gzip /tmp/$packagename"); # Clean-up the spool area system ("(cd /var/spool/pkg; rm -rf $pkg)"); # Clean-up the ~/packaging/ area -system ("(rm -rf mysql*)"); unlink $pkginfo; unlink $prototype; -system ("mv /tmp/${packagename}.gz $pkgdir"); +chdir $parent_workdir or die "Can't change to parent workdir '$parent_workdir': $!\n"; +system ("rm -rf $workdir") == 0 or die "Can't remove the working dir: $!\n"; +system ("mv /tmp/${packagename}.gz $pkgdir") == 0 or die "Can't move the finished package out of /tmp: $!\n"; print "Done. (~/$hostname/$packagename.gz)\n"; # The subroutines sub chkvar { diff --git a/Docs/changelog-4.0.xml b/Docs/changelog-4.0.xml new file mode 100755 index 00000000000..f0f9aa881f1 --- /dev/null +++ b/Docs/changelog-4.0.xml @@ -0,0 +1,18 @@ + + + + + + + Changes in release 4.0.x + + + + This is a dummy changelog file. Don't use it yet. + + + diff --git a/Docs/changelog-4.1.xml b/Docs/changelog-4.1.xml new file mode 100755 index 00000000000..644f2940d0f --- /dev/null +++ b/Docs/changelog-4.1.xml @@ -0,0 +1,18 @@ + + + + + + + Changes in release 4.1.x + + + + This is a dummy changelog file. Don't use it yet. + + + diff --git a/VC++Files/client/mysql_ia64.dsp b/VC++Files/client/mysql_ia64.dsp new file mode 100644 index 00000000000..43bc9fa5b09 --- /dev/null +++ b/VC++Files/client/mysql_ia64.dsp @@ -0,0 +1,136 @@ +# Microsoft Developer Studio Project File - Name="mysql" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysql - WinIA64 classic +!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 "mysql.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 "mysql.mak" CFG="mysql - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysql - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysql - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysql - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysql - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr /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=link.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:IX86 /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.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 /debug /out:"../client_release/mysql.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysql - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "mysql___" +# PROP BASE Intermediate_Dir "mysql___" +# 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /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=link.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:IA64 +# ADD LINK32 mysqlclient.lib wsock32.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 /out:"../client_debug/mysql.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysql - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysql___WinIA64_classic" +# PROP BASE Intermediate_Dir "mysql___WinIA64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /WX /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /WX /Zi /O2 /I "../include" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /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=link.exe +# ADD BASE LINK32 mysqlclient.lib wsock32.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 /debug /out:"../client_release/mysql.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 mysqlclient.lib wsock32.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 /debug /out:"../client_classic/mysql.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "mysql - WinIA64 Release" +# Name "mysql - WinIA64 Debug" +# Name "mysql - WinIA64 classic" +# Begin Source File + +SOURCE=.\completion_hash.cpp +# End Source File +# Begin Source File + +SOURCE=.\mysql.cpp +# End Source File +# Begin Source File + +SOURCE=.\readline.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_string.cpp +# End Source File +# End Target +# End Project diff --git a/VC++Files/client/mysqladmin_ia64.dsp b/VC++Files/client/mysqladmin_ia64.dsp new file mode 100644 index 00000000000..5a5e4a99071 --- /dev/null +++ b/VC++Files/client/mysqladmin_ia64.dsp @@ -0,0 +1,124 @@ +# Microsoft Developer Studio Project File - Name="mysqladmin" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqladmin - WinIA64 classic +!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 "mysqladmin_ia64.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 "mysqladmin_ia64.mak" CFG="mysqladmin - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqladmin - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqladmin - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqladmin - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqladmin - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /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=link.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:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqladmin.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqladmin - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "mysqladm" +# PROP BASE Intermediate_Dir "mysqladm" +# 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /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=link.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:IA64 +# ADD LINK32 ..\lib_debug\zlib.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysqladmin.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqladmin - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqladmin___Win64_classic" +# PROP BASE Intermediate_Dir "mysqladmin___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /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=link.exe +# ADD BASE LINK32 mysqlclient.lib wsock32.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 /out:"../client_release/mysqladmin.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqladmin.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "mysqladmin - WinIA64 Release" +# Name "mysqladmin - WinIA64 Debug" +# Name "mysqladmin - WinIA64 classic" +# Begin Source File + +SOURCE=.\mysqladmin.cpp +# End Source File +# End Target +# End Project diff --git a/VC++Files/client/mysqlcheck_ia64.dsp b/VC++Files/client/mysqlcheck_ia64.dsp new file mode 100644 index 00000000000..4b2c2bb4c46 --- /dev/null +++ b/VC++Files/client/mysqlcheck_ia64.dsp @@ -0,0 +1,77 @@ +# Microsoft Developer Studio Project File - Name="mysqlcheck" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqlcheck - Win32 Release +!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 "mysqlcheck.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 "mysqlcheck.mak" CFG="mysqlcheck - Win32 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlcheck - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysql - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqlcheck___WinIA64_Release" +# PROP BASE Intermediate_Dir "mysqlcheck___WinIA64_Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "mysqlcheck___WinIA64_Release" +# PROP Intermediate_Dir "mysqlcheck___WinIA64_Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /I "../include" /D"NDEBUG" /D"DBUG_OFF" /D"_CONSOLE" /D"_MBCS" /D"_WINDOWS" /Fp"Release/mysqlcheck.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c /O2 /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 mysqlclient.lib wsock32.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 /pdb:"release/mysqlcheck.pdb" /machine:IA64 /out:"../client_release/mysqlcheck.exe" /libpath:"..\lib_release\\" /incremental:no +# SUBTRACT LINK32 + +!ENDIF + +# Begin Target + +# Name "mysqlcheck - WinIA64 Release" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\mysqlcheck.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/client/mysqlclient_ia64.dsp b/VC++Files/client/mysqlclient_ia64.dsp new file mode 100644 index 00000000000..e91245c12b2 --- /dev/null +++ b/VC++Files/client/mysqlclient_ia64.dsp @@ -0,0 +1,570 @@ +# Microsoft Developer Studio Project File - Name="mysqlclient" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=mysqlclient - WinIA64 authent +!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 "mysqlclient.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 "mysqlclient.mak" CFG="mysqlclient - WinIA64 authent" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlclient - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "mysqlclient - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "mysqlclient - WinIA64 authent" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqlclient - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\mysqlclient.lib" + +!ELSEIF "$(CFG)" == "mysqlclient - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\mysqlclient.lib" + +!ELSEIF "$(CFG)" == "mysqlclient - WinIA64 authent" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqlclient___WinIA64_authent" +# PROP BASE Intermediate_Dir "mysqlclient___WinIA64_authent" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "authent" +# PROP Intermediate_Dir "authent" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /D "NDEBUG" /D "CHECK_LICENSE" /D LICENSE=Commercial /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\mysqlclient.lib" +# ADD LIB32 /nologo /out:"..\lib_authent\mysqlclient.lib" + +!ENDIF + +# Begin Target + +# Name "mysqlclient - WinIA64 Release" +# Name "mysqlclient - WinIA64 Debug" +# Name "mysqlclient - WinIA64 authent" +# Begin Source File + +SOURCE=..\mysys\array.c +# End Source File +# Begin Source File + +SOURCE=..\strings\bchange.c +# End Source File +# Begin Source File + +SOURCE=..\strings\bmove.c +# End Source File +# Begin Source File + +SOURCE=..\strings\bmove_upp.c +# End Source File +# Begin Source File + +SOURCE="..\mysys\charset-def.c" +# End Source File +# Begin Source File + +SOURCE=..\mysys\charset.c +# End Source File +# Begin Source File + +SOURCE=..\libmysql\client.c +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-big5.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-bin.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-czech.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-euc_kr.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-extra.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-gb2312.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-gbk.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-latin1.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-mb.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-simple.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-sjis.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-tis620.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-uca.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-ucs2.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-ujis.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-utf8.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-win1250ch.c" +# End Source File +# Begin Source File + +SOURCE=..\strings\ctype.c +# End Source File +# Begin Source File + +SOURCE=..\dbug\dbug.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\default.c +# End Source File +# Begin Source File + +SOURCE=..\libmysql\errmsg.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\errors.c +# End Source File +# Begin Source File + +SOURCE=..\libmysql\get_password.c +# End Source File +# Begin Source File + +SOURCE=..\strings\int2str.c +# End Source File +# Begin Source File + +SOURCE=..\strings\is_prefix.c +# End Source File +# Begin Source File + +SOURCE=..\libmysql\libmysql.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\list.c +# End Source File +# Begin Source File + +SOURCE=..\strings\llstr.c +# End Source File +# Begin Source File + +SOURCE=..\strings\longlong2str.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_cache.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_dirname.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_fn_ext.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_format.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_iocache.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_iocache2.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_loadpath.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_pack.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_path.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_tempfile.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_unixpath.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_wcomp.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mulalloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_alloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_compress.c +# ADD CPP /I "../zlib" +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_create.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_delete.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_div.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_error.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_file.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_fopen.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_fstream.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_gethostbyname.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_getopt.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_getwd.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_init.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_lib.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_malloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_messnc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_net.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_once.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_open.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_pread.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_pthread.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_read.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_realloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_rename.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_seek.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_static.c +# End Source File +# Begin Source File + +SOURCE=..\strings\my_strtoll10.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_symlink.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_symlink2.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_tempnam.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_thr_init.c +# End Source File +# Begin Source File + +SOURCE=..\libmysql\my_time.c +# End Source File +# Begin Source File + +SOURCE=..\strings\my_vsnprintf.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_wincond.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_winthread.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_write.c +# End Source File +# Begin Source File + +SOURCE=.\mysys_priv.h +# End Source File +# Begin Source File + +SOURCE=..\sql\net_serv.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysql\pack.c +# End Source File +# Begin Source File + +SOURCE=..\libmysql\password.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\safemalloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\sha1.c +# End Source File +# Begin Source File + +SOURCE=..\strings\str2int.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strcend.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strcont.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strend.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strfill.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\string.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strinstr.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strmake.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strmov.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strnlen.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strnmov.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strtod.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strtoll.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strtoull.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strxmov.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strxnmov.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\thr_mutex.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\typelib.c +# End Source File +# Begin Source File + +SOURCE=..\vio\vio.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viosocket.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viossl.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viosslfactories.c +# End Source File +# Begin Source File + +SOURCE=..\strings\xml.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/client/mysqldump_ia64.dsp b/VC++Files/client/mysqldump_ia64.dsp new file mode 100644 index 00000000000..698cd0b9c2c --- /dev/null +++ b/VC++Files/client/mysqldump_ia64.dsp @@ -0,0 +1,136 @@ +# Microsoft Developer Studio Project File - Name="mysqldump" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqldump - WinIA64 classic +!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 "mysqldump_ia64.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 "mysqldump_ia64.mak" CFG="mysqldump - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqldump - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqldump - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqldump - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqldump - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /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=link.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 mysys.lib /nologo /subsystem:console /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.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 mysys.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqldump.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqldump - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "mysqldum" +# PROP BASE Intermediate_Dir "mysqldum" +# 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /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=link.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 mysys.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\dbug.lib ..\lib_debug\zlib.lib mysqlclient.lib wsock32.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 mysys.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysqldump.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqldump - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqldump___WinIA64_classic" +# PROP BASE Intermediate_Dir "mysqldump___WinIA64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /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=link.exe +# ADD BASE LINK32 mysqlclient.lib wsock32.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 mysys.lib /nologo /subsystem:console /out:"../client_release/mysqldump.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.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 mysys.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqldump.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "mysqldump - WinIA64 Release" +# Name "mysqldump - WinIA64 Debug" +# Name "mysqldump - WinIA64 classic" +# Begin Source File + +SOURCE=.\mysqldump.c + +!IF "$(CFG)" == "mysqldump - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldump - WinIA64 Debug" + +# ADD CPP /W3 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX + +!ELSEIF "$(CFG)" == "mysqldump - WinIA64 classic" + +!ENDIF + +# End Source File +# End Target +# End Project diff --git a/VC++Files/client/mysqlimport_ia64.dsp b/VC++Files/client/mysqlimport_ia64.dsp new file mode 100644 index 00000000000..cd8f5523efd --- /dev/null +++ b/VC++Files/client/mysqlimport_ia64.dsp @@ -0,0 +1,124 @@ +# Microsoft Developer Studio Project File - Name="mysqlimport" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqlimport - WinIA64 classic +!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 "mysqlimport_ia64.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 "mysqlimport_ia64.mak" CFG="mysqlimport - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlimport - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlimport - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlimport - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqlimport - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /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=link.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:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlimport - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "mysqlimp" +# PROP BASE Intermediate_Dir "mysqlimp" +# 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /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=link.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:IA64 +# ADD LINK32 setargv.obj ..\lib_debug\zlib.lib ..\lib_debug\dbug.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysqlimport.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlimport - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqlimport___WinIA64_classic" +# PROP BASE Intermediate_Dir "mysqlimport___WinIA64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /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=link.exe +# ADD BASE LINK32 mysqlclient.lib wsock32.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 /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqlimport.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "mysqlimport - WinIA64 Release" +# Name "mysqlimport - WinIA64 Debug" +# Name "mysqlimport - WinIA64 classic" +# Begin Source File + +SOURCE=.\mysqlimport.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/client/mysqlshow_ia64.dsp b/VC++Files/client/mysqlshow_ia64.dsp new file mode 100644 index 00000000000..dd83a3f1ef5 --- /dev/null +++ b/VC++Files/client/mysqlshow_ia64.dsp @@ -0,0 +1,124 @@ +# Microsoft Developer Studio Project File - Name="mysqlshow" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqlshow - WinIA64 classic +!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 "mysqlshow_ia64.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 "mysqlshow_ia64.mak" CFG="mysqlshow - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlshow - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlshow - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlshow - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqlshow - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /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=link.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:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlshow - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "mysqlsho" +# PROP BASE Intermediate_Dir "mysqlsho" +# 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /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=link.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:IA64 +# ADD LINK32 ..\lib_debug\zlib.lib ..\lib_debug\dbug.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysqlshow.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlshow - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqlshow___WinIA64_classic" +# PROP BASE Intermediate_Dir "mysqlshow___WinIA64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /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=link.exe +# ADD BASE LINK32 mysqlclient.lib wsock32.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 /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqlshow.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "mysqlshow - WinIA64 Release" +# Name "mysqlshow - WinIA64 Debug" +# Name "mysqlshow - WinIA64 classic" +# Begin Source File + +SOURCE=.\mysqlshow.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/client/mysqltest_ia64.dsp b/VC++Files/client/mysqltest_ia64.dsp new file mode 100644 index 00000000000..160683725e6 --- /dev/null +++ b/VC++Files/client/mysqltest_ia64.dsp @@ -0,0 +1,197 @@ +# Microsoft Developer Studio Project File - Name="mysqltest" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=MYSQLTEST - WinIA64 RELEASE +!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 "mysqltest_ia64.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 "mysqltest_ia64.mak" CFG="MYSQLTEST - WinIA64 RELEASE" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqltest - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqltest - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqltest - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqltest - WinIA64 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 "" +MTL=midl.exe +# ADD BASE MTL /nologo /tlb".\debug\mysqltest.tlb" /win64 +# ADD MTL /nologo /tlb".\debug\mysqltest.tlb" /win64 +# ADD BASE CPP /nologo /G6 /MTd /W3 /GX /Z7 /Od /I "../include" /I "../regex" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_WINDOWS" /D "_MBCS" /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../regex" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_WINDOWS" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /debug /out:"..\client_debug\mysqltest.exe" /libpath:"..\lib_debug\\" +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 ..\lib_debug\zlib.lib ..\lib_debug\dbug.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 mysqlclient.lib wsock32.lib mysys.lib regex.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"..\client_debug\mysqltest.exe" /libpath:"..\lib_debug\\" /machine:IA64 +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "mysqltest - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir ".\classic" +# PROP BASE Intermediate_Dir ".\classic" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir ".\classic" +# PROP Intermediate_Dir ".\classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE MTL /nologo /tlb".\classic\mysqltest.tlb" /win64 +# ADD MTL /nologo /tlb".\classic\mysqltest.tlb" /win64 +# ADD BASE CPP /nologo /G6 /MT /W3 /GX /Ob1 /Gy /I "../include" /I "../regex" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "NDEBUG" /D "_MBCS" /GF /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "NDEBUG" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /GF /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /out:"..\client_classic\mysqltest.exe" /libpath:"..\lib_release\\" +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 ..\lib_release\zlib.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 mysqlclient.lib wsock32.lib mysys.lib regex.lib bufferoverflowU.lib /nologo /subsystem:console /out:"..\client_classic\mysqltest.exe" /libpath:"..\lib_release\\" /machine:IA64 +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "mysqltest - WinIA64 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 "" +MTL=midl.exe +# ADD BASE MTL /nologo /tlb".\release\mysqltest.tlb" /win64 +# ADD MTL /nologo /tlb".\release\mysqltest.tlb" /win64 +# ADD BASE CPP /nologo /G6 /MT /W3 /GX /Ob1 /Gy /I "../include" /I "../regex" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /GF /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /G2 /GF /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /subsystem:console /out:"..\client_release\mysqltest.exe" /libpath:"..\lib_release\\" +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 ..\lib_release\zlib.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 mysqlclient.lib wsock32.lib mysys.lib regex.lib bufferoverflowU.lib /nologo /subsystem:console /out:"..\client_release\mysqltest.exe" /libpath:"..\lib_release\\" /machine:IA64 +# SUBTRACT LINK32 /pdb:none + +!ENDIF + +# Begin Target + +# Name "mysqltest - WinIA64 Debug" +# Name "mysqltest - WinIA64 classic" +# Name "mysqltest - WinIA64 Release" +# Begin Source File + +SOURCE=..\libmysql\manager.c +DEP_CPP_MANAG=\ + "..\include\config-netware.h"\ + "..\include\config-os2.h"\ + "..\include\config-win.h"\ + "..\include\errmsg.h"\ + "..\include\m_ctype.h"\ + "..\include\m_string.h"\ + "..\include\my_alloc.h"\ + "..\include\my_config.h"\ + "..\include\my_dbug.h"\ + "..\include\my_dir.h"\ + "..\include\my_global.h"\ + "..\include\my_list.h"\ + "..\include\my_net.h"\ + "..\include\my_pthread.h"\ + "..\include\my_sys.h"\ + "..\include\mysql.h"\ + "..\include\mysql_com.h"\ + "..\include\mysql_time.h"\ + "..\include\mysql_version.h"\ + "..\include\mysqld_error.h"\ + "..\include\mysys_err.h"\ + "..\include\raid.h"\ + "..\include\t_ctype.h"\ + "..\include\typelib.h"\ + "..\include\violite.h"\ + +# End Source File +# Begin Source File + +SOURCE=.\mysqltest.c +DEP_CPP_MYSQL=\ + "..\include\config-netware.h"\ + "..\include\config-os2.h"\ + "..\include\config-win.h"\ + "..\include\errmsg.h"\ + "..\include\hash.h"\ + "..\include\help_end.h"\ + "..\include\help_start.h"\ + "..\include\m_ctype.h"\ + "..\include\m_string.h"\ + "..\include\my_alloc.h"\ + "..\include\my_config.h"\ + "..\include\my_dbug.h"\ + "..\include\my_dir.h"\ + "..\include\my_getopt.h"\ + "..\include\my_global.h"\ + "..\include\my_list.h"\ + "..\include\my_net.h"\ + "..\include\my_pthread.h"\ + "..\include\my_sys.h"\ + "..\include\mysql.h"\ + "..\include\mysql_com.h"\ + "..\include\mysql_embed.h"\ + "..\include\mysql_time.h"\ + "..\include\mysql_version.h"\ + "..\include\mysqld_error.h"\ + "..\include\raid.h"\ + "..\include\sslopt-case.h"\ + "..\include\sslopt-longopts.h"\ + "..\include\sslopt-vars.h"\ + "..\include\t_ctype.h"\ + "..\include\typelib.h"\ + "..\include\violite.h"\ + "..\regex\regex.h"\ + +# End Source File +# End Target +# End Project diff --git a/VC++Files/comp_err/comp_err_ia64.dsp b/VC++Files/comp_err/comp_err_ia64.dsp new file mode 100644 index 00000000000..9d4e8bd5353 --- /dev/null +++ b/VC++Files/comp_err/comp_err_ia64.dsp @@ -0,0 +1,92 @@ +# Microsoft Developer Studio Project File - Name="comp_err" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=COMP_ERR - WinIA64 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 "comp_err_ia64.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 "comp_err_ia64.mak" CFG="COMP_ERR - WinIA64 DEBUG" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "comp_err - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "comp_err - WinIA64 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" + +!IF "$(CFG)" == "comp_err - WinIA64 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 "" +MTL=midl.exe +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c +# ADD CPP /nologo /W3 /Zi /O2 /I "..\include" /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCSN" /D "DBUG_OFF" /D "_WINDOWS" /D "__WIN__" /D "_MT" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr +RSC=rc.exe +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD 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 ..\lib_release\mysys.lib wsock32.lib ..\lib_release\strings.lib bufferoverflowU.lib /nologo /subsystem:console /nodefaultlib:"LIBC.lib" /out:"../client_release/comp-err.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "comp_err - WinIA64 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 Ignore_Export_Lib 0 +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c +# ADD CPP /nologo /W3 /Zi /Od /I "..\include" /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCSN" /D "DBUG_OFF" /D "_WINDOWS" /D "__WIN__" /D "_MT" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr +MTL=midl.exe +RSC=rc.exe +# ADD BASE RSC /l 0x416 /d "_DEBUG" +# ADD RSC /l 0x416 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD 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 ..\lib_release\mysys.lib wsock32.lib ..\lib_release\strings.lib bufferoverflowU.lib /nologo /subsystem:console /nodefaultlib:"LIBC.lib" /out:"../client_release/comp-err.exe" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "comp_err - WinIA64 Release" +# Name "comp_err - WinIA64 Debug" +# Begin Source File + +SOURCE=..\extra\comp_err.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/dbug/dbug_ia64.dsp b/VC++Files/dbug/dbug_ia64.dsp new file mode 100644 index 00000000000..70a32279d20 --- /dev/null +++ b/VC++Files/dbug/dbug_ia64.dsp @@ -0,0 +1,125 @@ +# Microsoft Developer Studio Project File - Name="dbug" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=dbug - WinIA64 TLS_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 "dbug.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 "dbug.mak" CFG="dbug - WinIA64 TLS_DEBUG" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "dbug - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "dbug - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "dbug - WinIA64 TLS_DEBUG" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "dbug - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\dbug.lib" + +!ELSEIF "$(CFG)" == "dbug - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /GF /I "../include" /D "__WIN64__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\dbug.lib" + +!ELSEIF "$(CFG)" == "dbug - WinIA64 TLS_DEBUG" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "dbug___WinIA64_TLS_DEBUG" +# PROP BASE Intermediate_Dir "dbug___WinIA64_TLS_DEBUG" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "dbug___WinIA64_TLS_DEBUG" +# PROP Intermediate_Dir "dbug___WinIA64_TLS_DEBUG" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MTd /W3 /Z7 /Od /GF /I "../include" /D "__WIN64__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MTd /W3 /Zi /O2 /I "../include" /D "__WIN64__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_debug\dbug_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_debug\dbug_tls.lib" + +!ENDIF + +# Begin Target + +# Name "dbug - WinIA64 Release" +# Name "dbug - WinIA64 Debug" +# Name "dbug - WinIA64 TLS_DEBUG" +# Begin Source File + +SOURCE=.\dbug.c +# End Source File +# Begin Source File + +SOURCE=.\factorial.c +# End Source File +# Begin Source File + +SOURCE=.\sanity.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/heap/heap_ia64.dsp b/VC++Files/heap/heap_ia64.dsp new file mode 100644 index 00000000000..6b40b7c34b7 --- /dev/null +++ b/VC++Files/heap/heap_ia64.dsp @@ -0,0 +1,256 @@ +# Microsoft Developer Studio Project File - Name="heap" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=heap - WinIA64 TLS +!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 "heap.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 "heap.mak" CFG="heap - WinIA64 TLS" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "heap - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "heap - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "heap - WinIA64 TLS_DEBUG" (based on "Win32 (x86) Static Library") +!MESSAGE "heap - WinIA64 TLS" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "heap - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\heap.lib" + +!ELSEIF "$(CFG)" == "heap - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /GF /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\heap.lib" + +!ELSEIF "$(CFG)" == "heap - WinIA64 TLS_DEBUG" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "heap___WinIA64_TLS_DEBUG" +# PROP BASE Intermediate_Dir "heap___WinIA64_TLS_DEBUG" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "heap___WinIA64_TLS_DEBUG" +# PROP Intermediate_Dir "heap___WinIA64_TLS_DEBUG" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MTd /W3 /Z7 /Od /GF /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MTd /W3 /Zi /O2 /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_debug\heap_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_debug\heap_tls.lib" + +!ELSEIF "$(CFG)" == "heap - WinIA64 TLS" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "heap___WinIA64_TLS" +# PROP BASE Intermediate_Dir "heap___WinIA64_TLS" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "heap___WinIA64_TLS" +# PROP Intermediate_Dir "heap___WinIA64_TLS" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\heap_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_release\heap_tls.lib" + +!ENDIF + +# Begin Target + +# Name "heap - WinIA64 Release" +# Name "heap - WinIA64 Debug" +# Name "heap - WinIA64 TLS_DEBUG" +# Name "heap - WinIA64 TLS" +# Begin Source File + +SOURCE=.\_check.c +# End Source File +# Begin Source File + +SOURCE=.\_rectest.c +# End Source File +# Begin Source File + +SOURCE=.\heapdef.h +# End Source File +# Begin Source File + +SOURCE=.\hp_block.c +# End Source File +# Begin Source File + +SOURCE=.\hp_clear.c +# End Source File +# Begin Source File + +SOURCE=.\hp_close.c +# End Source File +# Begin Source File + +SOURCE=.\hp_create.c +# End Source File +# Begin Source File + +SOURCE=.\hp_delete.c +# End Source File +# Begin Source File + +SOURCE=.\hp_extra.c +# End Source File +# Begin Source File + +SOURCE=.\hp_hash.c + +!IF "$(CFG)" == "heap - WinIA64 Release" + +!ELSEIF "$(CFG)" == "heap - WinIA64 Debug" + +# SUBTRACT CPP /YX + +!ELSEIF "$(CFG)" == "heap - WinIA64 TLS_DEBUG" + +# SUBTRACT BASE CPP /YX +# SUBTRACT CPP /YX + +!ELSEIF "$(CFG)" == "heap - WinIA64 TLS" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\hp_info.c +# End Source File +# Begin Source File + +SOURCE=.\hp_open.c +# End Source File +# Begin Source File + +SOURCE=.\hp_panic.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rename.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rfirst.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rkey.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rlast.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rnext.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rprev.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rrnd.c +# End Source File +# Begin Source File + +SOURCE=.\hp_rsame.c +# End Source File +# Begin Source File + +SOURCE=.\hp_scan.c +# End Source File +# Begin Source File + +SOURCE=.\hp_static.c +# End Source File +# Begin Source File + +SOURCE=.\hp_update.c +# End Source File +# Begin Source File + +SOURCE=.\hp_write.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/innobase/innobase_ia64.dsp b/VC++Files/innobase/innobase_ia64.dsp new file mode 100644 index 00000000000..3b42601186a --- /dev/null +++ b/VC++Files/innobase/innobase_ia64.dsp @@ -0,0 +1,450 @@ +# Microsoft Developer Studio Project File - Name="innobase" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=innobase - WinIA64 Max nt +!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 "innobase.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 "innobase.mak" CFG="innobase - WinIA64 Max nt" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "innobase - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "innobase - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "innobase - WinIA64 nt" (based on "Win32 (x86) Static Library") +!MESSAGE "innobase - WinIA64 Max nt" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "innobase - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "innobase___WinIA64_Debug" +# PROP BASE Intermediate_Dir "innobase___WinIA64_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /D "NDEBUG" /D "_LIB" /D "_WIN64" /D "__NT__" /D "WIN64" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_WIN64" /D "WIN64" /D "_MBCS" /D "MYSQL_SERVER" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr /YX +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\innobase-nt.lib" +# ADD LIB32 /nologo /out:"..\lib_debug\innodb.lib" + +!ELSEIF "$(CFG)" == "innobase - WinIA64 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "innobase___WinIA64_Release0" +# PROP BASE Intermediate_Dir "innobase___WinIA64_Release0" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "release" +# PROP Intermediate_Dir "release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_WIN64" /D "WIN64" /D "_MBCS" /D "MYSQL_SERVER" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../innobase/include" /I "../include" /D "_LIB" /D "_WIN64" /D "WIN64" /D "_MBCS" /D "MYSQL_SERVER" /D "NDEBUG" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr /YX +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\innodb.lib" +# ADD LIB32 /nologo /out:"..\lib_release\innodb.lib" + +!ELSEIF "$(CFG)" == "innobase - WinIA64 nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "innobase___WinIA64_nt" +# PROP BASE Intermediate_Dir "innobase___WinIA64_nt" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "nt" +# PROP Intermediate_Dir "nt" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_WIN64" /D "WIN64" /D "_MBCS" /D "MYSQL_SERVER" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../innobase/include" /I "../include" /D "_LIB" /D "_WIN64" /D "WIN64" /D "NDEBUG" /D "MYSQL_SERVER" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-nt /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\innodb.lib" +# ADD LIB32 /nologo /out:"..\lib_release\innodb.lib" + +!ELSEIF "$(CFG)" == "innobase - WinIA64 Max nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "innobase___WinIA64_Max_nt" +# PROP BASE Intermediate_Dir "innobase___WinIA64_Max_nt" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "max_nt" +# PROP Intermediate_Dir "max_nt" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_Win64" /D "WIN64" /D "_MBCS" /D "MYSQL_SERVER" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../innobase/include" /I "../include" /D "_LIB" /D "_WIN64" /D "WIN64" /D "NDEBUG" /D "MYSQL_SERVER" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-nt-max /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\innodb.lib" +# ADD LIB32 /nologo /out:"..\lib_release\innodb.lib" + +!ENDIF + +# Begin Target + +# Name "innobase - WinIA64 Debug" +# Name "innobase - WinIA64 Release" +# Name "innobase - WinIA64 nt" +# Name "innobase - WinIA64 Max nt" +# Begin Source File + +SOURCE=.\btr\btr0btr.c +# End Source File +# Begin Source File + +SOURCE=.\btr\btr0cur.c +# End Source File +# Begin Source File + +SOURCE=.\btr\btr0pcur.c +# End Source File +# Begin Source File + +SOURCE=.\btr\btr0sea.c +# End Source File +# Begin Source File + +SOURCE=.\buf\buf0buf.c +# End Source File +# Begin Source File + +SOURCE=.\buf\buf0flu.c +# End Source File +# Begin Source File + +SOURCE=.\buf\buf0lru.c +# End Source File +# Begin Source File + +SOURCE=.\buf\buf0rea.c +# End Source File +# Begin Source File + +SOURCE=.\data\data0data.c +# End Source File +# Begin Source File + +SOURCE=.\data\data0type.c +# End Source File +# Begin Source File + +SOURCE=.\dict\dict0boot.c +# End Source File +# Begin Source File + +SOURCE=.\dict\dict0crea.c +# End Source File +# Begin Source File + +SOURCE=.\dict\dict0dict.c +# End Source File +# Begin Source File + +SOURCE=.\dict\dict0load.c +# End Source File +# Begin Source File + +SOURCE=.\dict\dict0mem.c +# End Source File +# Begin Source File + +SOURCE=.\dyn\dyn0dyn.c +# End Source File +# Begin Source File + +SOURCE=.\eval\eval0eval.c +# End Source File +# Begin Source File + +SOURCE=.\eval\eval0proc.c +# End Source File +# Begin Source File + +SOURCE=.\fil\fil0fil.c +# End Source File +# Begin Source File + +SOURCE=.\fsp\fsp0fsp.c +# End Source File +# Begin Source File + +SOURCE=.\fut\fut0fut.c +# End Source File +# Begin Source File + +SOURCE=.\fut\fut0lst.c +# End Source File +# Begin Source File + +SOURCE=.\ha\ha0ha.c +# End Source File +# Begin Source File + +SOURCE=.\ha\hash0hash.c +# End Source File +# Begin Source File + +SOURCE=.\ibuf\ibuf0ibuf.c +# End Source File +# Begin Source File + +SOURCE=.\pars\lexyy.c +# End Source File +# Begin Source File + +SOURCE=.\lock\lock0lock.c +# End Source File +# Begin Source File + +SOURCE=.\log\log0log.c +# End Source File +# Begin Source File + +SOURCE=.\log\log0recv.c +# End Source File +# Begin Source File + +SOURCE=.\mach\mach0data.c +# End Source File +# Begin Source File + +SOURCE=.\mem\mem0mem.c +# End Source File +# Begin Source File + +SOURCE=.\mem\mem0pool.c +# End Source File +# Begin Source File + +SOURCE=.\mtr\mtr0log.c +# End Source File +# Begin Source File + +SOURCE=.\mtr\mtr0mtr.c +# End Source File +# Begin Source File + +SOURCE=.\os\os0file.c +# End Source File +# Begin Source File + +SOURCE=.\os\os0proc.c +# End Source File +# Begin Source File + +SOURCE=.\os\os0sync.c +# End Source File +# Begin Source File + +SOURCE=.\os\os0thread.c +# End Source File +# Begin Source File + +SOURCE=.\page\page0cur.c +# End Source File +# Begin Source File + +SOURCE=.\page\page0page.c +# End Source File +# Begin Source File + +SOURCE=.\pars\pars0grm.c +# End Source File +# Begin Source File + +SOURCE=.\pars\pars0opt.c +# End Source File +# Begin Source File + +SOURCE=.\pars\pars0pars.c +# End Source File +# Begin Source File + +SOURCE=.\pars\pars0sym.c +# End Source File +# Begin Source File + +SOURCE=.\que\que0que.c +# End Source File +# Begin Source File + +SOURCE=.\read\read0read.c +# End Source File +# Begin Source File + +SOURCE=.\rem\rem0cmp.c +# End Source File +# Begin Source File + +SOURCE=.\rem\rem0rec.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0ins.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0mysql.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0purge.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0row.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0sel.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0uins.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0umod.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0undo.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0upd.c +# End Source File +# Begin Source File + +SOURCE=.\row\row0vers.c +# End Source File +# Begin Source File + +SOURCE=.\srv\srv0que.c +# End Source File +# Begin Source File + +SOURCE=.\srv\srv0srv.c +# End Source File +# Begin Source File + +SOURCE=.\srv\srv0start.c +# End Source File +# Begin Source File + +SOURCE=.\sync\sync0arr.c +# End Source File +# Begin Source File + +SOURCE=.\sync\sync0rw.c +# End Source File +# Begin Source File + +SOURCE=.\sync\sync0sync.c +# End Source File +# Begin Source File + +SOURCE=.\thr\thr0loc.c +# End Source File +# Begin Source File + +SOURCE=.\trx\trx0purge.c +# End Source File +# Begin Source File + +SOURCE=.\trx\trx0rec.c +# End Source File +# Begin Source File + +SOURCE=.\trx\trx0roll.c +# End Source File +# Begin Source File + +SOURCE=.\trx\trx0rseg.c +# End Source File +# Begin Source File + +SOURCE=.\trx\trx0sys.c +# End Source File +# Begin Source File + +SOURCE=.\trx\trx0trx.c +# End Source File +# Begin Source File + +SOURCE=.\trx\trx0undo.c +# End Source File +# Begin Source File + +SOURCE=.\usr\usr0sess.c +# End Source File +# Begin Source File + +SOURCE=.\ut\ut0byte.c +# End Source File +# Begin Source File + +SOURCE=.\ut\ut0dbg.c +# End Source File +# Begin Source File + +SOURCE=.\ut\ut0mem.c +# End Source File +# Begin Source File + +SOURCE=.\ut\ut0rnd.c +# End Source File +# Begin Source File + +SOURCE=.\ut\ut0ut.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/isam/isam_ia64.dsp b/VC++Files/isam/isam_ia64.dsp new file mode 100644 index 00000000000..f9dce0bed4a --- /dev/null +++ b/VC++Files/isam/isam_ia64.dsp @@ -0,0 +1,260 @@ +# Microsoft Developer Studio Project File - Name="isam" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=isam - WinIA64 TLS +!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 "isam.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 "isam.mak" CFG="isam - WinIA64 TLS" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "isam - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "isam - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "isam - WinIA64 TLS_DEBUG" (based on "Win32 (x86) Static Library") +!MESSAGE "isam - WinIA64 TLS" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "isam - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\isam.lib" + +!ELSEIF "$(CFG)" == "isam - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /GF /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_Debug\isam.lib" + +!ELSEIF "$(CFG)" == "isam - WinIA64 TLS_DEBUG" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "isam___WinIA64_TLS_DEBUG" +# PROP BASE Intermediate_Dir "isam___WinIA64_TLS_DEBUG" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "isam___WinIA64_TLS_DEBUG" +# PROP Intermediate_Dir "isam___WinIA64_TLS_DEBUG" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MTd /W3 /Z7 /Od /GF /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MTd /W3 /Zi /O2 /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_Debug\isam_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_Debug\isam_tls.lib" + +!ELSEIF "$(CFG)" == "isam - WinIA64 TLS" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "isam___WinIA64_TLS" +# PROP BASE Intermediate_Dir "isam___WinIA64_TLS" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "isam___WinIA64_TLS" +# PROP Intermediate_Dir "isam___WinIA64_TLS" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\isam_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_release\isam_tls.lib" + +!ENDIF + +# Begin Target + +# Name "isam - WinIA64 Release" +# Name "isam - WinIA64 Debug" +# Name "isam - WinIA64 TLS_DEBUG" +# Name "isam - WinIA64 TLS" +# Begin Source File + +SOURCE=.\_cache.c +# End Source File +# Begin Source File + +SOURCE=.\_dbug.c +# End Source File +# Begin Source File + +SOURCE=.\_dynrec.c +# End Source File +# Begin Source File + +SOURCE=.\_key.c +# End Source File +# Begin Source File + +SOURCE=.\_locking.c +# End Source File +# Begin Source File + +SOURCE=.\_packrec.c +# End Source File +# Begin Source File + +SOURCE=.\_page.c +# End Source File +# Begin Source File + +SOURCE=.\_search.c +# End Source File +# Begin Source File + +SOURCE=.\_statrec.c +# End Source File +# Begin Source File + +SOURCE=.\changed.c +# End Source File +# Begin Source File + +SOURCE=.\close.c +# End Source File +# Begin Source File + +SOURCE=.\create.c +# End Source File +# Begin Source File + +SOURCE=.\delete.c +# End Source File +# Begin Source File + +SOURCE=.\extra.c +# End Source File +# Begin Source File + +SOURCE=.\info.c +# End Source File +# Begin Source File + +SOURCE=.\log.c +# End Source File +# Begin Source File + +SOURCE=.\open.c +# End Source File +# Begin Source File + +SOURCE=.\panic.c +# End Source File +# Begin Source File + +SOURCE=.\range.c +# End Source File +# Begin Source File + +SOURCE=.\rfirst.c +# End Source File +# Begin Source File + +SOURCE=.\rkey.c +# End Source File +# Begin Source File + +SOURCE=.\rlast.c +# End Source File +# Begin Source File + +SOURCE=.\rnext.c +# End Source File +# Begin Source File + +SOURCE=.\rprev.c +# End Source File +# Begin Source File + +SOURCE=.\rrnd.c +# End Source File +# Begin Source File + +SOURCE=.\rsame.c +# End Source File +# Begin Source File + +SOURCE=.\rsamepos.c +# End Source File +# Begin Source File + +SOURCE=.\static.c +# End Source File +# Begin Source File + +SOURCE=.\update.c +# End Source File +# Begin Source File + +SOURCE=.\write.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/isamchk/isamchk_ia64.dsp b/VC++Files/isamchk/isamchk_ia64.dsp new file mode 100644 index 00000000000..61eab230e1f --- /dev/null +++ b/VC++Files/isamchk/isamchk_ia64.dsp @@ -0,0 +1,100 @@ +# Microsoft Developer Studio Project File - Name="isamchk" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=isamchk - WinIA64 classic +!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 "isamchk_ia64.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 "isamchk_ia64.mak" CFG="isamchk - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "isamchk - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "isamchk - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "isamchk - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../isam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x41d /d "NDEBUG" +# ADD RSC /l 0x41d /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:IA64 +# ADD LINK32 wsock32.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 setargv.obj bufferoverflowU.lib ..\lib_release\isam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib /nologo /subsystem:console /out:"../client_release/isamchk.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "isamchk - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "isamchk___WinIA64_classic" +# PROP BASE Intermediate_Dir "isamchk___WinIA64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../isam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../isam" /D "_CONSOLE" /D "_WINDOWS" /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D LICENSE=Commercial /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x41d /d "NDEBUG" +# ADD RSC /l 0x41d /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 wsock32.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 setargv.obj /nologo /subsystem:console /out:"../client_release/isamchk.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\isam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib wsock32.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 setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/isamchk.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "isamchk - WinIA64 Release" +# Name "isamchk - WinIA64 classic" +# Begin Source File + +SOURCE=..\isam\isamchk.c +# End Source File +# Begin Source File + +SOURCE=..\isam\sort.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/libmysql/libmysql_ia64.dsp b/VC++Files/libmysql/libmysql_ia64.dsp new file mode 100644 index 00000000000..4c4776dfc2f --- /dev/null +++ b/VC++Files/libmysql/libmysql_ia64.dsp @@ -0,0 +1,544 @@ +# Microsoft Developer Studio Project File - Name="libmysql" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=libmysql - WinIA64 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 "libmysql_ia64.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 "libmysql_ia64.mak" CFG="libmysql - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "libmysql - WinIA64 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "libmysql - WinIA64 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "libmysql - WinIA64 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 /MT /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "." /I "..\include" /I "../zlib" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "NDEBUG" /D "MYSQL_CLIENT" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win64 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:windows /dll /machine:IA64 +# ADD LINK32 zlib.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:windows /dll /def:"libmysql.def" /out:"..\lib_release\libmysql.dll" /libpath:"." /libpath:"..\lib_release" /machine:IA64 +# Begin Special Build Tool +SOURCE="$(InputPath)" +PostBuild_Desc=Move DLL export lib +PostBuild_Cmds=xcopy release\libmysql.lib ..\lib_release /y +# End Special Build Tool + +!ELSEIF "$(CFG)" == "libmysql - WinIA64 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 /MTd /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "." /I "..\include" /I "../zlib" /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win64 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win64 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:windows /dll /debug /machine:IA64 +# ADD LINK32 zlib.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /def:"libmysql.def" /out:"..\lib_debug\libmysql.dll" /libpath:"." /libpath:"..\lib_debug" /machine:IA64 +# SUBTRACT LINK32 /pdb:none +# Begin Special Build Tool +SOURCE="$(InputPath)" +PostBuild_Desc=Move DLL export lib +PostBuild_Cmds=xcopy ..\lib_debug\libmysql.dll %windir%\system32\ /y xcopy debug\libmysql.lib ..\lib_debug\ /y +# End Special Build Tool + +!ENDIF + +# Begin Target + +# Name "libmysql - WinIA64 Release" +# Name "libmysql - WinIA64 Debug" +# Begin Source File + +SOURCE=..\mysys\array.c +# End Source File +# Begin Source File + +SOURCE=..\strings\bchange.c +# End Source File +# Begin Source File + +SOURCE=..\strings\bmove.c +# End Source File +# Begin Source File + +SOURCE=..\strings\bmove_upp.c +# End Source File +# Begin Source File + +SOURCE="..\mysys\charset-def.c" +# End Source File +# Begin Source File + +SOURCE=..\mysys\charset.c +# End Source File +# Begin Source File + +SOURCE=.\client.c +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-big5.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-bin.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-czech.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-euc_kr.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-extra.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-gb2312.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-gbk.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-latin1.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-mb.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-simple.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-sjis.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-tis620.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-uca.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-ucs2.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-ujis.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-utf8.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-win1250ch.c" +# End Source File +# Begin Source File + +SOURCE=..\strings\ctype.c +# End Source File +# Begin Source File + +SOURCE=..\dbug\dbug.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\default.c +# End Source File +# Begin Source File + +SOURCE=.\dll.c +# End Source File +# Begin Source File + +SOURCE=.\errmsg.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\errors.c +# End Source File +# Begin Source File + +SOURCE=.\get_password.c +# End Source File +# Begin Source File + +SOURCE=..\strings\int2str.c +# End Source File +# Begin Source File + +SOURCE=..\strings\is_prefix.c +# End Source File +# Begin Source File + +SOURCE=.\libmysql.c +# End Source File +# Begin Source File + +SOURCE=.\Libmysql.def +# End Source File +# Begin Source File + +SOURCE=..\mysys\list.c +# End Source File +# Begin Source File + +SOURCE=..\strings\llstr.c +# End Source File +# Begin Source File + +SOURCE=..\strings\longlong2str.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_dirname.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_fn_ext.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_format.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_loadpath.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_pack.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_path.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_unixpath.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mf_wcomp.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\mulalloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_alloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_compress.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_create.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_delete.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_div.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_error.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_fopen.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_fstream.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_gethostbyname.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_getopt.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_getwd.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_init.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_lib.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_malloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_messnc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_net.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_once.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_open.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_pthread.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_read.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_realloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_rename.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_static.c +# End Source File +# Begin Source File + +SOURCE=..\strings\my_strtoll10.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_symlink.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_symlink2.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_tempnam.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_thr_init.c +# End Source File +# Begin Source File + +SOURCE=.\my_time.c +# End Source File +# Begin Source File + +SOURCE=..\strings\my_vsnprintf.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_wincond.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_winthread.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_write.c +# End Source File +# Begin Source File + +SOURCE=..\client\mysys_priv.h +# End Source File +# Begin Source File + +SOURCE=..\sql\net_serv.cpp +# End Source File +# Begin Source File + +SOURCE=.\pack.c +# End Source File +# Begin Source File + +SOURCE=.\password.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\safemalloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\sha1.c +# End Source File +# Begin Source File + +SOURCE=..\client\sql_string.cpp +# End Source File +# Begin Source File + +SOURCE=..\client\sql_string.h +# End Source File +# Begin Source File + +SOURCE=..\strings\str2int.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strcend.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strcont.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strend.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strfill.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\string.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strinstr.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strmake.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strmov.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strnlen.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strnmov.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strtod.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strtoll.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strxmov.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strxnmov.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\thr_mutex.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\typelib.c +# End Source File +# Begin Source File + +SOURCE=..\vio\vio.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viosocket.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viossl.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viosslfactories.c +# End Source File +# Begin Source File + +SOURCE=..\strings\xml.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/libmysqld/examples/test_libmysqld_ia64.dsp b/VC++Files/libmysqld/examples/test_libmysqld_ia64.dsp new file mode 100644 index 00000000000..049b214e5ff --- /dev/null +++ b/VC++Files/libmysqld/examples/test_libmysqld_ia64.dsp @@ -0,0 +1,79 @@ +# Microsoft Developer Studio Project File - Name="test_libmysqld" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=test_libmysqld - WinIA64 Release +!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 "test_libmysqld_ia64.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 "test_libmysqld_ia64.mak" CFG="test_libmysqld - WinIA64 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "test_libmysqld - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe +# 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "..\..\include" /I "../include" /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "DBUG_OFF" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD 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 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /nodefaultlib:"LIBCMTD" /out:"Release/mysql-server.exe" /machine:IA64 +# Begin Target + +# Name "test_libmysqld - WinIA64 Release" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\client\completion_hash.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\client\mysql.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\client\readline.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\client\sql_string.cpp +# End Source File +# End Group +# Begin Source File + +SOURCE=..\..\lib_release\libmysqld.lib +# End Source File +# End Target +# End Project diff --git a/VC++Files/libmysqld/libmysqld_ia64.dsp b/VC++Files/libmysqld/libmysqld_ia64.dsp new file mode 100644 index 00000000000..fe99ea480c7 --- /dev/null +++ b/VC++Files/libmysqld/libmysqld_ia64.dsp @@ -0,0 +1,580 @@ +# Microsoft Developer Studio Project File - Name="libmysqld" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=libmysqld - WinIA64 pro +!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 "libmysqld_ia64.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 "libmysqld_ia64.mak" CFG="libmysqld - WinIA64 pro" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "libmysqld - WinIA64 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "libmysqld - WinIA64 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "libmysqld - WinIA64 classic" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "libmysqld - WinIA64 pro" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "libmysqld - WinIA64 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 /MT /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBMYSQLD_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../libmysqld" /I "../sql" /I "../regex" /I "../zlib" /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 /dll /machine:IA64 +# ADD LINK32 ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\innodb.lib ..\lib_release\zlib.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 Wsock32.lib bufferoverflowU.lib /nologo /dll /out:"../lib_release/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 + +!ELSEIF "$(CFG)" == "libmysqld - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "libmysqld___Win64_Debug" +# PROP BASE Intermediate_Dir "libmysqld___Win64_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 /MTd /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBMYSQLD_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MT /W3 /Zi /Od /I "../include" /I "../libmysqld" /I "../sql" /I "../regex" /I "../zlib" /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "SAFEMALLOC" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /D "__WIN__" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x416 /d "_DEBUG" +# ADD RSC /l 0x416 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 /dll /debug /machine:IA64 +# ADD LINK32 ..\lib_debug\dbug_tls.lib ..\lib_debug\myisam_tls.lib ..\lib_debug\myisammrg_tls.lib ..\lib_debug\mysys_tls.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap_tls.lib ..\lib_debug\innodb.lib ../lib_debug\zlib.lib bufferoverflowU.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 Wsock32.lib /nologo /dll /incremental:no /debug /nodefaultlib:"LIBCMTD" /out:"../lib_debug/libmysqld.dll" /implib:"../lib_debug/libmysqld.lib" /machine:IA64 + +!ELSEIF "$(CFG)" == "libmysqld - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "libmysqld___Win64_classic" +# PROP BASE Intermediate_Dir "libmysqld___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../sql" /D "WIN64" /D "_WINDOWS" /D "_MBCS" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /D "NDEBUG" /FR /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WIN64" /D "_WINDOWS" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "USE_TLS" /D "__WIN__" /D LICENSE=Commerical /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 Wsock32.lib ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\zlib.lib /nologo /dll /out:"../lib_release/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 +# ADD LINK32 ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\zlib.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 Wsock32.lib bufferoverflowU.lib /nologo /dll /out:"../lib_classic/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 + +!ELSEIF "$(CFG)" == "libmysqld - WinIA64 pro" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "libmysqld___Win64_pro" +# PROP BASE Intermediate_Dir "libmysqld___Win64_pro" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "pro" +# PROP Intermediate_Dir "pro" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../sql" /D "WIN64" /D "_WINDOWS" /D "_MBCS" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /D "NDEBUG" /FR /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WIN64" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "EMBEDDED_LIBRARY" /D "USE_TLS" /D "__WIN__" /D "MYSQL_SERVER" /D LICENSE=Commercial /D "_MBCS" /D "HAVE_DLOPEN" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "NDEBUG" /D "_WINDOWS" /D "_CONSOLE" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-pro /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /X /Fr +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 Wsock32.lib ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /dll /out:"../lib_classic/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 +# ADD LINK32 ..\lib_release\myisam_tls.lib ..\lib_release\myisammrg_tls.lib ..\lib_release\mysys_tls.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap_tls.lib ..\lib_release\innodb.lib ..\lib_release\zlib.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 Wsock32.lib bufferoverflowU.lib /nologo /dll /out:"../lib_pro/libmysqld.dll" /implib:"../lib_release/libmysqld.lib" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "libmysqld - WinIA64 Release" +# Name "libmysqld - WinIA64 Debug" +# Name "libmysqld - WinIA64 classic" +# Name "libmysqld - WinIA64 pro" +# Begin Source File + +SOURCE="..\sql-common\client.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-latin1.c" +# End Source File +# Begin Source File + +SOURCE=..\mysys\default.c +# End Source File +# Begin Source File + +SOURCE=..\sql\derror.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\discover.cpp +# End Source File +# Begin Source File + +SOURCE=.\emb_qcache.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysql\errmsg.c +# End Source File +# Begin Source File + +SOURCE=..\sql\field.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\field_conv.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\filesort.cpp +# End Source File +# Begin Source File + +SOURCE=..\client\get_password.c +# End Source File +# Begin Source File + +SOURCE=..\sql\gstream.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_berkeley.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_heap.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_innodb.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_isammrg.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_myisam.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_myisammrg.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\handler.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\hash_filo.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\hostname.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\init.cpp +# End Source File +# Begin Source File + +SOURCE=..\strings\int2str.c +# End Source File +# Begin Source File + +SOURCE=..\sql\item.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_buff.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_cmpfunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_create.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_func.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_geofunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_row.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_strfunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_subselect.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_sum.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_timefunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_uniq.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\key.cpp +# End Source File +# Begin Source File + +SOURCE=.\lib_sql.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysql\libmysql.c +# End Source File +# Begin Source File + +SOURCE=.\libmysqld.c +# End Source File +# Begin Source File + +SOURCE=.\libmysqld.def +# End Source File +# Begin Source File + +SOURCE=..\sql\lock.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\log.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\log_event.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\mf_iocache.cpp +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_alloc.c +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_getopt.c +# End Source File +# Begin Source File + +SOURCE="..\sql-common\my_time.c" +# End Source File +# Begin Source File + +SOURCE=..\sql\net_serv.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\opt_range.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\opt_sum.cpp +# End Source File +# Begin Source File + +SOURCE="..\sql-common\pack.c" +# End Source File +# Begin Source File + +SOURCE=..\libmysql\password.c +# End Source File +# Begin Source File + +SOURCE=..\sql\procedure.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\protocol.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\records.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\repl_failsafe.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\set_var.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\spatial.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_acl.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_analyse.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_base.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_cache.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_class.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_crypt.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_db.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_delete.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_derived.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_do.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_error.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_handler.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_help.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_insert.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_lex.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_list.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_load.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_manager.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_map.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_parse.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_prepare.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_rename.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_repl.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_select.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_show.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_state.c +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_string.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_table.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_test.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_udf.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_union.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_update.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_yacc.cpp +# End Source File +# Begin Source File + +SOURCE=..\strings\str2int.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strcend.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strcont.c +# End Source File +# Begin Source File + +SOURCE=..\sql\strfunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\strings\strinstr.c +# End Source File +# Begin Source File + +SOURCE=..\strings\strxnmov.c +# End Source File +# Begin Source File + +SOURCE=..\sql\table.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\thr_malloc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\time.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\tztime.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\uniques.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\unireg.cpp +# End Source File +# Begin Source File + +SOURCE=..\vio\vio.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viosocket.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viossl.c +# End Source File +# Begin Source File + +SOURCE=..\vio\viosslfactories.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/libmysqltest/myTest-package_ia64.dsp b/VC++Files/libmysqltest/myTest-package_ia64.dsp new file mode 100644 index 00000000000..ef80a773815 --- /dev/null +++ b/VC++Files/libmysqltest/myTest-package_ia64.dsp @@ -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 - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "myTest - WinIA64 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 - WinIA64 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 "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /I "..\include" /D"NDEBUG" /D"DBUG_UFF" /D"_CONSOLE" /D"_MBCS" /FD /c /O2 /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# 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:IA64 +# ADD LINK32 ..\lib_release\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:IA64 /libpath:"..\lib_release" /incremental:no + +!ELSEIF "$(CFG)" == "myTest - WinIA64 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 "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Z7 /I "..\include" /D"_DEBUG" /D"_CONSOLE" /D"_MBCS" /FD /c /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# 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:IA64 +# 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 /debug /machine:IA64 /libpath:"..\lib_debug" /incremental:no + +!ENDIF + +# Begin Target + +# Name "myTest - WinIA64 Release" +# Name "myTest - WinIA64 Debug" +# Begin Source File + +SOURCE=.\Mytest.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/libmysqltest/myTest_ia64.dsp b/VC++Files/libmysqltest/myTest_ia64.dsp new file mode 100644 index 00000000000..4affa81ef54 --- /dev/null +++ b/VC++Files/libmysqltest/myTest_ia64.dsp @@ -0,0 +1,94 @@ +# 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 - WinIA64 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_ia64.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_ia64.mak" CFG="myTest - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myTest - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "myTest - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myTest - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /Zi /O2 /I "..\include" /D "DBUG_UFF" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /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=link.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:IA64 +# ADD LINK32 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 bufferoverflowU.lib /nologo /subsystem:console /libpath:"..\lib_release" /machine:IA64 + +!ELSEIF "$(CFG)" == "myTest - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "..\include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /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=link.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:IA64 +# ADD LINK32 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 bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /libpath:"..\lib_debug" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "myTest - WinIA64 Release" +# Name "myTest - WinIA64 Debug" +# Begin Source File + +SOURCE=.\Mytest.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/merge/merge_ia64.dsp b/VC++Files/merge/merge_ia64.dsp new file mode 100644 index 00000000000..7b93f596997 --- /dev/null +++ b/VC++Files/merge/merge_ia64.dsp @@ -0,0 +1,134 @@ +# Microsoft Developer Studio Project File - Name="merge" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=merge - WinIA64 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 "merge.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 "merge.mak" CFG="merge - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "merge - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "merge - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "merge - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WinIA64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\merge.lib" + +!ELSEIF "$(CFG)" == "merge - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WinIA64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /Gf /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\merge.lib" + +!ENDIF + +# Begin Target + +# Name "merge - WinIA64 Release" +# Name "merge - WinIA64 Debug" +# Begin Source File + +SOURCE=.\mrg_close.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_create.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_delete.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_extra.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_info.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_locking.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_open.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_panic.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_rrnd.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_rsame.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_static.c +# End Source File +# Begin Source File + +SOURCE=.\mrg_update.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/my_print_defaults/my_print_defaults_ia64.dsp b/VC++Files/my_print_defaults/my_print_defaults_ia64.dsp new file mode 100644 index 00000000000..9fefa5c927e --- /dev/null +++ b/VC++Files/my_print_defaults/my_print_defaults_ia64.dsp @@ -0,0 +1,133 @@ +# Microsoft Developer Studio Project File - Name="my_print_defaults" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=my_print_defaults - WinIA64 classic +!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 "my_print_defaults_ia64.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 "my_print_defaults_ia64.mak" CFG="my_print_defaults - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "my_print_defaults - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "my_print_defaults - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "my_print_defaults - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "my_print_defaults - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "WIN64" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.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 wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/my_print_defaults.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "my_print_defaults - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /RTC1 /c +# ADD CPP /nologo /MT /W3 /Zi /Od /I "../include" /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x416 /d "_DEBUG" +# ADD RSC /l 0x416 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\dbug.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 wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /nodefaultlib:"LIBCMTD.lib" /out:"../client_debug/my_print_defaults.exe" /machine:IA64 +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "my_print_defaults - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "my_print_defaults___Win64_classic" +# PROP BASE Intermediate_Dir "my_print_defaults___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../include" /D "WIN64" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "WIN64" /D "_CONSOLE" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /out:"../client_release/my_print_defaults.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.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 wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/my_print_defaults.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "my_print_defaults - WinIA64 Release" +# Name "my_print_defaults - WinIA64 Debug" +# Name "my_print_defaults - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\extra\my_print_defaults.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/myisam/myisam_ia64.dsp b/VC++Files/myisam/myisam_ia64.dsp new file mode 100644 index 00000000000..3602eb87c20 --- /dev/null +++ b/VC++Files/myisam/myisam_ia64.dsp @@ -0,0 +1,366 @@ +# Microsoft Developer Studio Project File - Name="myisam" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=myisam - WinIA64 TLS +!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 "myisam.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 "myisam.mak" CFG="myisam - WinIA64 TLS" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myisam - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "myisam - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "myisam - WinIA64 TLS_DEBUG" (based on "Win32 (x86) Static Library") +!MESSAGE "myisam - WinIA64 TLS" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myisam - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\myisam.lib" + +!ELSEIF "$(CFG)" == "myisam - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /GF /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /Fo".\Debug/" /Fd".\Debug/" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_Debug\myisam.lib" + +!ELSEIF "$(CFG)" == "myisam - WinIA64 TLS_DEBUG" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "myisam___Win64_TLS_DEBUG" +# PROP BASE Intermediate_Dir "myisam___Win64_TLS_DEBUG" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "myisam___Win64_TLS_DEBUG" +# PROP Intermediate_Dir "myisam___Win64_TLS_DEBUG" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MTd /W3 /Z7 /Od /GF /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /Fo".\Debug/" /Fd".\Debug/" /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /O2 /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /Fo".\Debug/" /Fd".\Debug/" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_Debug\myisam_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_Debug\myisam_tls.lib" + +!ELSEIF "$(CFG)" == "myisam - WinIA64 TLS" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "myisam___Win64_TLS" +# PROP BASE Intermediate_Dir "myisam___Win64_TLS" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "myisam___Win64_TLS" +# PROP Intermediate_Dir "myisam___Win64_TLS" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\myisam_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_release\myisam_tls.lib" + +!ENDIF + +# Begin Target + +# Name "myisam - WinIA64 Release" +# Name "myisam - WinIA64 Debug" +# Name "myisam - WinIA64 TLS_DEBUG" +# Name "myisam - WinIA64 TLS" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\ft_boolean_search.c +# End Source File +# Begin Source File + +SOURCE=.\ft_nlq_search.c +# End Source File +# Begin Source File + +SOURCE=.\ft_parser.c +# End Source File +# Begin Source File + +SOURCE=.\ft_static.c +# End Source File +# Begin Source File + +SOURCE=.\ft_stem.c +# End Source File +# Begin Source File + +SOURCE=.\ft_stopwords.c +# End Source File +# Begin Source File + +SOURCE=.\ft_update.c +# End Source File +# Begin Source File + +SOURCE=.\mi_cache.c +# End Source File +# Begin Source File + +SOURCE=.\mi_changed.c +# End Source File +# Begin Source File + +SOURCE=.\mi_check.c +# End Source File +# Begin Source File + +SOURCE=.\mi_checksum.c +# End Source File +# Begin Source File + +SOURCE=.\mi_close.c +# End Source File +# Begin Source File + +SOURCE=.\mi_create.c +# End Source File +# Begin Source File + +SOURCE=.\mi_dbug.c +# End Source File +# Begin Source File + +SOURCE=.\mi_delete.c +# End Source File +# Begin Source File + +SOURCE=.\mi_delete_all.c +# End Source File +# Begin Source File + +SOURCE=.\mi_delete_table.c +# End Source File +# Begin Source File + +SOURCE=.\mi_dynrec.c +# End Source File +# Begin Source File + +SOURCE=.\mi_extra.c +# End Source File +# Begin Source File + +SOURCE=.\mi_info.c +# End Source File +# Begin Source File + +SOURCE=.\mi_key.c +# End Source File +# Begin Source File + +SOURCE=.\mi_keycache.c +# End Source File +# Begin Source File + +SOURCE=.\mi_locking.c +# End Source File +# Begin Source File + +SOURCE=.\mi_log.c +# End Source File +# Begin Source File + +SOURCE=.\mi_open.c +# End Source File +# Begin Source File + +SOURCE=.\mi_packrec.c +# End Source File +# Begin Source File + +SOURCE=.\mi_page.c +# End Source File +# Begin Source File + +SOURCE=.\mi_panic.c +# End Source File +# Begin Source File + +SOURCE=.\mi_preload.c +# End Source File +# Begin Source File + +SOURCE=.\mi_range.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rename.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rfirst.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rkey.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rlast.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rnext.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rnext_same.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rprev.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rrnd.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rsame.c +# End Source File +# Begin Source File + +SOURCE=.\mi_rsamepos.c +# End Source File +# Begin Source File + +SOURCE=.\mi_scan.c +# End Source File +# Begin Source File + +SOURCE=.\mi_search.c +# End Source File +# Begin Source File + +SOURCE=.\mi_static.c +# End Source File +# Begin Source File + +SOURCE=.\mi_statrec.c +# End Source File +# Begin Source File + +SOURCE=.\mi_unique.c +# End Source File +# Begin Source File + +SOURCE=.\mi_update.c +# End Source File +# Begin Source File + +SOURCE=.\mi_write.c +# End Source File +# Begin Source File + +SOURCE=.\rt_index.c +# End Source File +# Begin Source File + +SOURCE=.\rt_key.c +# End Source File +# Begin Source File + +SOURCE=.\rt_mbr.c +# End Source File +# Begin Source File + +SOURCE=.\rt_split.c +# End Source File +# Begin Source File + +SOURCE=.\sort.c +# End Source File +# Begin Source File + +SOURCE=.\sp_key.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\ft_eval.h +# End Source File +# Begin Source File + +SOURCE=.\myisamdef.h +# End Source File +# Begin Source File + +SOURCE=.\rt_index.h +# End Source File +# End Group +# End Target +# End Project diff --git a/VC++Files/myisam_ftdump/myisam_ftdump_ia64.dsp b/VC++Files/myisam_ftdump/myisam_ftdump_ia64.dsp new file mode 100644 index 00000000000..175561c6c05 --- /dev/null +++ b/VC++Files/myisam_ftdump/myisam_ftdump_ia64.dsp @@ -0,0 +1,105 @@ +# Microsoft Developer Studio Project File - Name="myisam_ftdump" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=myisam_ftdump - WinIA64 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 "myisam_ftdump_ia64.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 "myisam_ftdump_ia64.mak" CFG="myisam_ftdump - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myisam_ftdump - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "myisam_ftdump - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myisam_ftdump - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../myisam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FR /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/myisam_ftdump.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "myisam_ftdump - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../myisam" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ole32.lib oleaut32.lib odbc32.lib odbccp32.lib ..\lib_debug\myisam.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\dbug.lib ..\lib_debug\zlib.lib kernel32.lib user32.lib wsock32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/myisam_ftdump.exe" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "myisam_ftdump - WinIA64 Release" +# Name "myisam_ftdump - WinIA64 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\myisam\myisam_ftdump.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/myisamchk/myisamchk_ia64.dsp b/VC++Files/myisamchk/myisamchk_ia64.dsp new file mode 100644 index 00000000000..d6b1d5825ee --- /dev/null +++ b/VC++Files/myisamchk/myisamchk_ia64.dsp @@ -0,0 +1,136 @@ +# Microsoft Developer Studio Project File - Name="myisamchk" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=myisamchk - WinIA64 classic +!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 "myisamchk_ia64.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 "myisamchk_ia64.mak" CFG="myisamchk - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myisamchk - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "myisamchk - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "myisamchk - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myisamchk - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../myisam" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr /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=link.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 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:IA64 +# ADD LINK32 ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/myisamchk.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "myisamchk - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../myisam" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ..\lib_debug\dbug.lib ..\lib_debug\myisam.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\zlib.lib ole32.lib oleaut32.lib odbc32.lib odbccp32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/myisamchk.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "myisamchk - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "myisamchk___Win64_classic" +# PROP BASE Intermediate_Dir "myisamchk___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../myisam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FR /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../myisam" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FR /FD /G2 /EHsc /Wp64 /Zm600 /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=link.exe +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /out:"../client_release/myisamchk.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/myisamchk.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "myisamchk - WinIA64 Release" +# Name "myisamchk - WinIA64 Debug" +# Name "myisamchk - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\myisam\myisamchk.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/myisamlog/myisamlog_ia64.dsp b/VC++Files/myisamlog/myisamlog_ia64.dsp new file mode 100644 index 00000000000..dc830eaf314 --- /dev/null +++ b/VC++Files/myisamlog/myisamlog_ia64.dsp @@ -0,0 +1,138 @@ +# Microsoft Developer Studio Project File - Name="myisamlog" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=myisamlog - WinIA64 classic +!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 "myisamlog_ia64.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 "myisamlog_ia64.mak" CFG="myisamlog - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myisamlog - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "myisamlog - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "myisamlog - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myisamlog - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../myisam" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /pdb:"release/myisamchk.pdb" /out:"../client_release/myisamlog.exe" /machine:IA64 +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "myisamlog - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../myisam" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ..\lib_debug\myisam.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\zlib.lib ..\lib_debug\dbug.lib ole32.lib oleaut32.lib odbc32.lib odbccp32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /incremental:no /pdb:"debug/myisamchk.pdb" /debug /out:"../client_debug/myisamlog.exe" /machine:IA64 +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "myisamlog - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "myisamlog___Win64_classic" +# PROP BASE Intermediate_Dir "myisamlog___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../myisam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FR /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../myisam" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FR /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /pdb:"release/myisamchk.pdb" /out:"../client_release/myisamlog.exe" /machine:IA64 +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /pdb:"release/myisamchk.pdb" /out:"../client_classic/myisamlog.exe" /libpath:"..\lib_release\\" /machine:IA64 +# SUBTRACT LINK32 /pdb:none + +!ENDIF + +# Begin Target + +# Name "myisamlog - WinIA64 Release" +# Name "myisamlog - WinIA64 Debug" +# Name "myisamlog - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\myisam\myisamlog.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/myisammrg/myisammrg_ia64.dsp b/VC++Files/myisammrg/myisammrg_ia64.dsp new file mode 100644 index 00000000000..4ac6a1e8081 --- /dev/null +++ b/VC++Files/myisammrg/myisammrg_ia64.dsp @@ -0,0 +1,233 @@ +# Microsoft Developer Studio Project File - Name="myisammrg" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=myisammrg - WinIA64 TLS +!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 "myisammrg.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 "myisammrg.mak" CFG="myisammrg - WinIA64 TLS" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myisammrg - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "myisammrg - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "myisammrg - WinIA64 TLS_DEBUG" (based on "Win32 (x86) Static Library") +!MESSAGE "myisammrg - WinIA64 TLS" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myisammrg - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WinIA64" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\myisammrg.lib" + +!ELSEIF "$(CFG)" == "myisammrg - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WinIA64" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /Gf /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /Fo".\Debug/" /Fd".\Debug/" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_Debug\myisammrg.lib" + +!ELSEIF "$(CFG)" == "myisammrg - WinIA64 TLS_DEBUG" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "myisammrg___WinIA64 _TLS_DEBUG" +# PROP BASE Intermediate_Dir "myisammrg___WinIA64 _TLS_DEBUG" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "myisammrg___WinIA64 _TLS_DEBUG" +# PROP Intermediate_Dir "myisammrg___WinIA64 _TLS_DEBUG" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MTd /W3 /Z7 /Od /Gf /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /Fo".\Debug/" /Fd".\Debug/" /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MTd /W3 /Zi /O2 /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /Fo".\Debug/" /Fd".\Debug/" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_Debug\myisammrg_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_Debug\myisammrg_tls.lib" + +!ELSEIF "$(CFG)" == "myisammrg - WinIA64 TLS" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "myisammrg___WinIA64 _TLS" +# PROP BASE Intermediate_Dir "myisammrg___WinIA64 _TLS" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "myisammrg___WinIA64 _TLS" +# PROP Intermediate_Dir "myisammrg___WinIA64 _TLS" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "USE_TLS" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\myisammrg_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_release\myisammrg_tls.lib" + +!ENDIF + +# Begin Target + +# Name "myisammrg - WinIA64 Release" +# Name "myisammrg - WinIA64 Debug" +# Name "myisammrg - WinIA64 TLS_DEBUG" +# Name "myisammrg - WinIA64 TLS" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\myrg_close.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_create.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_delete.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_extra.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_info.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_locking.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_open.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_panic.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_queue.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_range.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rfirst.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rkey.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rlast.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rnext.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rnext_same.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rprev.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rrnd.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_rsame.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_static.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_update.c +# End Source File +# Begin Source File + +SOURCE=.\myrg_write.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\mymrgdef.h +# End Source File +# End Group +# End Target +# End Project diff --git a/VC++Files/myisampack/myisampack_ia64.dsp b/VC++Files/myisampack/myisampack_ia64.dsp new file mode 100644 index 00000000000..8a2045faa22 --- /dev/null +++ b/VC++Files/myisampack/myisampack_ia64.dsp @@ -0,0 +1,138 @@ +# Microsoft Developer Studio Project File - Name="myisampack" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=myisampack - WinIA64 classic +!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 "myisampack_ia64.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 "myisampack_ia64.mak" CFG="myisampack - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myisampack - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "myisampack - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "myisampack - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myisampack - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../myisam" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/myisampack.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "myisampack - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../myisam" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ..\lib_debug\myisam.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\zlib.lib ..\lib_debug\dbug.lib ole32.lib oleaut32.lib odbc32.lib odbccp32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/myisampack.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "myisampack - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "myisampack___Win64_classic" +# PROP BASE Intermediate_Dir "myisampack___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../myisam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FR /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../myisam" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FR /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj /nologo /subsystem:console /out:"../client_release/myisampack.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\myisam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\zlib.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/myisampack.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "myisampack - WinIA64 Release" +# Name "myisampack - WinIA64 Debug" +# Name "myisampack - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\myisam\myisampack.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\myisampack.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/mysql-test/mysql_test_run_new_ia64.dsp b/VC++Files/mysql-test/mysql_test_run_new_ia64.dsp new file mode 100644 index 00000000000..a6252d0cb7b --- /dev/null +++ b/VC++Files/mysql-test/mysql_test_run_new_ia64.dsp @@ -0,0 +1,142 @@ +# Microsoft Developer Studio Project File - Name="mysql_test_run_new" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysql_test_run_new - WinIA64 Release +!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 "mysql_test_run_new_ia64.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 "mysql_test_run_new_ia64.mak" CFG="mysql_test_run_new - WinIA64 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysql_test_run_new - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysql_test_run_new - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysql_test_run_new - WinIA64 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 "" +MTL=midl.exe +# ADD BASE MTL /nologo /tlb".\Debug\mysql_test_run_new.tlb" /WinIA64 +# ADD MTL /nologo /tlb".\Debug\mysql_test_run_new.tlb" /WinIA64 +# ADD BASE CPP /nologo /G6 /MTd /W3 /GX /Z7 /Od /I "../include" /I "../" /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN64" /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN64" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /GZ /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /map /debug /out:"..\mysql-test\mysql_test_run_new.exe" /machine:IA64 +# SUBTRACT BASE LINK32 /pdb:none +# ADD 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 Ws2_32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /map /debug /out:"..\mysql-test\mysql_test_run_new.exe" /machine:IA64 +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "mysql_test_run_new - WinIA64 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 "" +MTL=midl.exe +# ADD BASE MTL /nologo /tlb".\Release\mysql_test_run_new.tlb" /WinIA64 +# ADD MTL /nologo /tlb".\Release\mysql_test_run_new.tlb" /WinIA64 +# ADD BASE CPP /nologo /G6 /MTd /W3 /GX /Ob1 /Gy /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN64" /GF /c +# ADD CPP /nologo /MTd /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN64" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /GF /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /out:"..\mysql-test\mysql_test_run_new.exe" /machine:IA64 +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 t kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Ws2_32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"..\mysql-test\mysql_test_run_new.exe" /machine:IA64 +# SUBTRACT LINK32 /pdb:none + +!ENDIF + +# Begin Target + +# Name "mysql_test_run_new - WinIA64 Debug" +# Name "mysql_test_run_new - WinIA64 Release" +# Begin Source File + +SOURCE=.\my_create_tables.c +DEP_CPP_MY_CR=\ + "..\include\config-netware.h"\ + "..\include\config-os2.h"\ + "..\include\config-win.h"\ + "..\include\m_string.h"\ + "..\include\my_config.h"\ + "..\include\my_dbug.h"\ + "..\include\my_global.h"\ + ".\my_manage.h"\ + +# End Source File +# Begin Source File + +SOURCE=.\my_manage.c +DEP_CPP_MY_MA=\ + "..\include\config-netware.h"\ + "..\include\config-os2.h"\ + "..\include\config-win.h"\ + "..\include\m_string.h"\ + "..\include\my_config.h"\ + "..\include\my_dbug.h"\ + "..\include\my_global.h"\ + ".\my_manage.h"\ + +# End Source File +# Begin Source File + +SOURCE=.\my_manage.h +# End Source File +# Begin Source File + +SOURCE=.\mysql_test_run_new.c +DEP_CPP_MYSQL=\ + "..\include\config-netware.h"\ + "..\include\config-os2.h"\ + "..\include\config-win.h"\ + "..\include\m_string.h"\ + "..\include\my_config.h"\ + "..\include\my_dbug.h"\ + "..\include\my_global.h"\ + ".\my_manage.h"\ + +# End Source File +# End Target +# End Project diff --git a/VC++Files/mysql_ia64.dsw b/VC++Files/mysql_ia64.dsw new file mode 100644 index 00000000000..8af4a7e5c42 --- /dev/null +++ b/VC++Files/mysql_ia64.dsw @@ -0,0 +1,783 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "mysys"=".\mysys\mysys_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + + +############################################################################### + +Project: "strings"=".\strings\strings_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "vio"=".\vio\vio_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "regex"=".\regex\regex_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "zlib"=".\zlib\zlib_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "comp_err"=".\comp_err\comp_err_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency +}}} + +############################################################################### + +Project: "dbug"=".\dbug\dbug_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "mysqlclient"=".\client\mysqlclient_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "myisam"=".\myisam\myisam_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency +}}} + +############################################################################### + +Project: "myisammrg"=".\myisammrg\myisammrg_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "myisampack"=".\myisampack\myisampack_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "heap"=".\heap\heap_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "innobase"=".\innobase\innobase_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "isam"=".\isam\isam_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "isamchk"=".\isamchk\isamchk_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name isam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency +}}} + +############################################################################### + +Project: "libmysql"=".\libmysql\libmysql_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "libmysqld"=".\libmysqld\libmysqld_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name heap + End Project Dependency + Begin Project Dependency + Project_Dep_Name innobase + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name regex + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisammrg + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "merge"=".\merge\merge_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "myTest"=".\libmysqltest\myTest_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libmysql + End Project Dependency +}}} + +############################################################################### + +Project: "my_print_defaults"=".\my_print_defaults\my_print_defaults_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency +}}} + +############################################################################### + +Project: "myisam_ftdump"=".\myisam_ftdump\myisam_ftdump_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency +}}} + +############################################################################### + +Project: "myisamchk"=".\myisamchk\myisamchk_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "myisamlog"=".\myisamlog\myisamlog_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "mysql"=".\client\mysql_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient + End Project Dependency +}}} + +############################################################################### + +Project: "mysqladmin"=".\client\mysqladmin_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "mysqlbinlog"=".\mysqlbinlog\mysqlbinlog_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient + End Project Dependency +}}} + +############################################################################### + +Project: "mysqlcheck"=".\mysqlcheck\mysqlcheck_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient + End Project Dependency +}}} + +############################################################################### + +Project: "mysqld"=".\sql\mysqld_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name heap + End Project Dependency + Begin Project Dependency + Project_Dep_Name isam + End Project Dependency + Begin Project Dependency + Project_Dep_Name merge + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name regex + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name dbug_ia64 + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysql_ia64 + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysqladmin_ia64 + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysqldump + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysqlimport + End Project Dependency + Begin Project Dependency + Project_Dep_Name MySqlManager + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysqlshow + End Project Dependency + Begin Project Dependency + Project_Dep_Name myTest + End Project Dependency + Begin Project Dependency + Project_Dep_Name thr_test + End Project Dependency + Begin Project Dependency + Project_Dep_Name replace + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisammrg + End Project Dependency + Begin Project Dependency + Project_Dep_Name vio + End Project Dependency + Begin Project Dependency + Project_Dep_Name innobase + End Project Dependency +}}} + +############################################################################### + +Project: "mysqldemb"=".\mysqldemb\mysqldemb_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "mysqldump"=".\client\mysqldump_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient + End Project Dependency +}}} + +############################################################################### + +Project: "mysqlimport"=".\client\mysqlimport_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient + End Project Dependency +}}} + +############################################################################### + +Project: "mysqlserver"=".\mysqlserver\mysqlserver_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name heap + End Project Dependency + Begin Project Dependency + Project_Dep_Name innobase + End Project Dependency + Begin Project Dependency + Project_Dep_Name merge + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisam + End Project Dependency + Begin Project Dependency + Project_Dep_Name myisammrg + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysqldemb + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name regex + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency + Begin Project Dependency + Project_Dep_Name zlib + End Project Dependency +}}} + +############################################################################### + +Project: "mysqlshow"=".\client\mysqlshow_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name mysqlclient + End Project Dependency +}}} + +############################################################################### + +Project: "mysqlshutdown"=".\mysqlshutdown\mysqlshutdown_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "mysqlwatch"=".\mysqlwatch\mysqlwatch_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "pack_isam"=".\pack_isam\pack_isam_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name isam + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency +}}} + +############################################################################### + +Project: "perror"=".\perror\perror_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency +}}} + +############################################################################### + +Project: "replace"=".\replace\replace_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency +}}} + +############################################################################### + +Project: "test1"=".\test1\test1_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libmysql + End Project Dependency +}}} + +############################################################################### + +Project: "thr_test"=".\thr_test\thr_test_ia64.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name dbug + End Project Dependency + Begin Project Dependency + Project_Dep_Name mysys + End Project Dependency + Begin Project Dependency + Project_Dep_Name strings + End Project Dependency +}}} + + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### diff --git a/VC++Files/mysqlbinlog/mysqlbinlog_ia64.dsp b/VC++Files/mysqlbinlog/mysqlbinlog_ia64.dsp new file mode 100644 index 00000000000..334c5087365 --- /dev/null +++ b/VC++Files/mysqlbinlog/mysqlbinlog_ia64.dsp @@ -0,0 +1,139 @@ +# Microsoft Developer Studio Project File - Name="mysqlbinlog" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqlbinlog - WinIA64 classic +!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 "mysqlbinlog_ia64.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 "mysqlbinlog_ia64.mak" CFG="mysqlbinlog - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlbinlog - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlbinlog - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlbinlog - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqlbinlog - WinIA64 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 "eelease" +# PROP Intermediate_Dir "eelease" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /I "../sql" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqlbinlog.exe" /libpath:"..\lib_release\\" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqlbinlog - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /I "../sql" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ..\lib_debug\zlib.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysqlbinlog.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlbinlog - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqlbinlog___Win64_classic" +# PROP BASE Intermediate_Dir "mysqlbinlog___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /I "../sql" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /D "NDEBUG" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /I "../sql" /D "MYSQL_SERVER" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 mysqlclient.lib wsock32.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 /out:"../client_release/mysqlbinlog.exe" /libpath:"..\lib_release\\" /machine:IA64 +# SUBTRACT BASE LINK32 /debug +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqlbinlog.exe" /libpath:"..\lib_release\\" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ENDIF + +# Begin Target + +# Name "mysqlbinlog - WinIA64 Release" +# Name "mysqlbinlog - WinIA64 Debug" +# Name "mysqlbinlog - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\mysys\mf_tempdir.c +# End Source File +# Begin Source File + +SOURCE=..\client\mysqlbinlog.cpp +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/mysqlcheck/mysqlcheck_ia64.dsp b/VC++Files/mysqlcheck/mysqlcheck_ia64.dsp new file mode 100644 index 00000000000..1f1cf76276f --- /dev/null +++ b/VC++Files/mysqlcheck/mysqlcheck_ia64.dsp @@ -0,0 +1,132 @@ +# Microsoft Developer Studio Project File - Name="mysqlcheck" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqlcheck - WinIA64 classic +!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 "mysqlcheck_ia64.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 "mysqlcheck_ia64.mak" CFG="mysqlcheck - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlcheck - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlcheck - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqlcheck - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqlcheck - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqlcheck.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlcheck - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ..\lib_debug\zlib.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysqlcheck.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlcheck - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqlcheck___Win64_classic" +# PROP BASE Intermediate_Dir "mysqlcheck___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "MYSQL_SERVER" /D "NDEBUG" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../" /D "MYSQL_SERVER" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 mysqlclient.lib wsock32.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 /out:"../client_release/mysqlcheck.exe" /libpath:"..\lib_release\\" /machine:IA64 +# ADD LINK32 ..\lib_release\zlib.lib mysqlclient.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqlcheck.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "mysqlcheck - WinIA64 Release" +# Name "mysqlcheck - WinIA64 Debug" +# Name "mysqlcheck - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\client\mysqlcheck.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/mysqldemb/mysqldemb_ia64.dsp b/VC++Files/mysqldemb/mysqldemb_ia64.dsp new file mode 100644 index 00000000000..5b54a7756e1 --- /dev/null +++ b/VC++Files/mysqldemb/mysqldemb_ia64.dsp @@ -0,0 +1,447 @@ +# Microsoft Developer Studio Project File - Name="mysqldemb" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=mysqldemb - WinIA64 pro +!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 "mysqldemb.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 "mysqldemb.mak" CFG="mysqldemb - WinIA64 pro" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqldemb - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "mysqldemb - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "mysqldemb - WinIA64 classic" (based on "Win32 (x86) Static Library") +!MESSAGE "mysqldemb - WinIA64 pro" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqldemb - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WinIA64" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../bdb/build_WinIA64" /I "../zlib" /D "WinIA64" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo + +!ELSEIF "$(CFG)" == "mysqldemb - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WinIA64" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../zlib" /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../bdb/build_WinIA64" /D "WinIA64" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /D "__WIN__" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /GZ /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x416 /d "_DEBUG" +# ADD RSC /l 0x416 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"../lib_debug/mysqldemb.lib" + +!ELSEIF "$(CFG)" == "mysqldemb - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqldemb___WinIA64 _classic" +# PROP BASE Intermediate_Dir "mysqldemb___WinIA64 _classic" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WinIA64" /D "_MBCS" /D "_LIB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WinIA64" /D "_LIB" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "USE_TLS" /D "__WIN__" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_classic\mysqldemb.lib" + +!ELSEIF "$(CFG)" == "mysqldemb - WinIA64 pro" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqldemb___WinIA64 _pro" +# PROP BASE Intermediate_Dir "mysqldemb___WinIA64 _pro" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "pro" +# PROP Intermediate_Dir "pro" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WinIA64" /D "_MBCS" /D "_LIB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WinIA64" /D "_LIB" /D "SIGNAL_WITH_VIO_CLOSE" /D "EMBEDDED_LIBRARY" /D "USE_TLS" /D "__WIN__" /D "USE_SYMDIR" /D "MYSQL_SERVER" /D LICENSE=Commercial /D "_MBCS" /D "HAVE_DLOPEN" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "NDEBUG" /D "_WINDOWS" /D "_CONSOLE" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-pro /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_pro\mysqldemb.lib" + +!ENDIF + +# Begin Target + +# Name "mysqldemb - WinIA64 Release" +# Name "mysqldemb - WinIA64 Debug" +# Name "mysqldemb - WinIA64 classic" +# Name "mysqldemb - WinIA64 pro" +# Begin Source File + +SOURCE=..\sql\derror.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysql\errmsg.c +# End Source File +# Begin Source File + +SOURCE=..\sql\field.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\field_conv.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\filesort.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysql\get_password.c +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_heap.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_innodb.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_isammrg.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_myisam.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\ha_myisammrg.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\handler.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\hash_filo.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\hostname.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\init.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_buff.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_cmpfunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_create.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_func.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_row.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_strfunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_subselect.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_sum.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_timefunc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\item_uniq.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\key.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysqld\lib_sql.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysqld\libmysqld.c +# End Source File +# Begin Source File + +SOURCE=..\sql\lock.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\log.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\log_event.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\mf_iocache.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\net_serv.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\opt_range.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\opt_sum.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysql\password.c +# End Source File +# Begin Source File + +SOURCE=..\sql\procedure.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\protocol.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\records.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\repl_failsafe.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\slave.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_acl.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_analyse.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_base.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_cache.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_class.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_crypt.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_db.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_delete.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_derived.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_do.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_error.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_handler.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_insert.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_lex.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_list.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_manager.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_map.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_parse.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_prepare.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_rename.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_repl.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_select.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_show.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_string.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_table.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_test.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_udf.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_union.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_update.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\sql_yacc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\table.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\thr_malloc.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\time.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\uniques.cpp +# End Source File +# Begin Source File + +SOURCE=..\sql\unireg.cpp +# End Source File +# End Target +# End Project diff --git a/VC++Files/mysqlmanager/MySqlManager_ia64.dsp b/VC++Files/mysqlmanager/MySqlManager_ia64.dsp new file mode 100644 index 00000000000..b0ffc9e48c6 --- /dev/null +++ b/VC++Files/mysqlmanager/MySqlManager_ia64.dsp @@ -0,0 +1,276 @@ +# Microsoft Developer Studio Project File - Name="MySqlManager" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Application" 0x0101 + +CFG=MYSQLMANAGER - WinIA64 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 "MySqlManager.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 "MySqlManager.mak" CFG="MYSQLMANAGER - WinIA64 DEBUG" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "MySqlManager - WinIA64 Release" (based on "Win32 (x86) Application") +!MESSAGE "MySqlManager - WinIA64 Debug" (based on "Win32 (x86) Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "MySqlManager - WinIA64 Release" + +# PROP BASE Use_MFC 6 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 6 +# 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 /MD /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr /YX /Yc /Yu +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win64 +# ADD BASE RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL" +# ADD RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 /nologo /subsystem:windows /machine:IA64 +# ADD LINK32 /nologo /subsystem:windows /out:"../client_release/MySqlManager.exe" /machine:IA64 +# SUBTRACT LINK32 /nodefaultlib + +!ELSEIF "$(CFG)" == "MySqlManager - WinIA64 Debug" + +# PROP BASE Use_MFC 6 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 6 +# 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 /MDd /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c +# ADD CPP /nologo /MTd /W3 /GR /Zi /Od /I "../include" /D "_DEBUG" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr /YX /Yc /Yu +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win64 +# ADD MTL /nologo /D "_DEBUG" /o "NUL" /win64 +# SUBTRACT MTL /mktyplib203 +# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:IA64 +# ADD LINK32 wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:windows /incremental:no /debug /out:"../client_debug/MySqlManager.exe" /libpath:"..\lib_debug\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "MySqlManager - WinIA64 Release" +# Name "MySqlManager - WinIA64 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\ChildFrm.cpp +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-extra.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-latin1.c" +# End Source File +# Begin Source File + +SOURCE="..\strings\ctype-mb.c" +# End Source File +# Begin Source File + +SOURCE=..\strings\is_prefix.c +# End Source File +# Begin Source File + +SOURCE=.\MainFrm.cpp +# End Source File +# Begin Source File + +SOURCE=..\mysys\my_sleep.c +# End Source File +# Begin Source File + +SOURCE=..\strings\my_vsnprintf.c +# End Source File +# Begin Source File + +SOURCE=.\MySqlManager.cpp +# End Source File +# Begin Source File + +SOURCE=.\MySqlManager.rc +# End Source File +# Begin Source File + +SOURCE=.\MySqlManagerDoc.cpp +# End Source File +# Begin Source File + +SOURCE=.\MySqlManagerView.cpp +# End Source File +# Begin Source File + +SOURCE=.\RegisterServer.cpp +# End Source File +# Begin Source File + +SOURCE=.\StdAfx.cpp +# ADD CPP /Yc"stdafx.h" +# End Source File +# Begin Source File + +SOURCE=.\ToolSql.cpp +# End Source File +# Begin Source File + +SOURCE=.\ToolSqlQuery.cpp +# End Source File +# Begin Source File + +SOURCE=.\ToolSqlResults.cpp +# End Source File +# Begin Source File + +SOURCE=.\ToolSqlStatus.cpp +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\ChildFrm.h +# End Source File +# Begin Source File + +SOURCE=.\MainFrm.h +# End Source File +# Begin Source File + +SOURCE=.\MySqlManager.h +# End Source File +# Begin Source File + +SOURCE=.\MySqlManagerDoc.h +# End Source File +# Begin Source File + +SOURCE=.\MySqlManagerView.h +# End Source File +# Begin Source File + +SOURCE=.\RegisterServer.h +# End Source File +# Begin Source File + +SOURCE=.\Resource.h +# End Source File +# Begin Source File + +SOURCE=.\StdAfx.h +# End Source File +# Begin Source File + +SOURCE=.\ToolSqlQuery.h +# End Source File +# Begin Source File + +SOURCE=.\ToolSqlResults.h +# End Source File +# Begin Source File + +SOURCE=.\ToolSqlStatus.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe" +# Begin Source File + +SOURCE=.\res\bitmap1.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\bitmap3.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\bmp00001.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\bmp00002.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\database.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\fontd.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\fontu.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\MySqlManager.ico +# End Source File +# Begin Source File + +SOURCE=.\res\MySqlManager.rc2 +# End Source File +# Begin Source File + +SOURCE=.\res\MySqlManagerDoc.ico +# End Source File +# Begin Source File + +SOURCE=.\res\query_ex.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\Toolbar.bmp +# End Source File +# End Group +# Begin Source File + +SOURCE=.\ReadMe.txt +# End Source File +# End Target +# End Project diff --git a/VC++Files/mysqlserver/mysqlserver_ia64.dsp b/VC++Files/mysqlserver/mysqlserver_ia64.dsp new file mode 100644 index 00000000000..205a1d1407d --- /dev/null +++ b/VC++Files/mysqlserver/mysqlserver_ia64.dsp @@ -0,0 +1,84 @@ +# Microsoft Developer Studio Project File - Name="mysqlserver" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=mysqlserver - WinIA64 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 "mysqlserver.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 "mysqlserver.mak" CFG="mysqlserver - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlserver - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "mysqlserver - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqlserver - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win64" /I "../libmysqld" /D "WIN64" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_BERKELEY_DB" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /YX /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x416 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo + +!ELSEIF "$(CFG)" == "mysqlserver - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win64" /I "libmysqld" /D "WIN64" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /YX /FD /GZ /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x416 /d "_DEBUG" +# ADD RSC /l 0x416 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo + +!ENDIF + +# Begin Target + +# Name "mysqlserver - WinIA64 Release" +# Name "mysqlserver - WinIA64 Debug" +# End Target +# End Project diff --git a/VC++Files/mysqlshutdown/myshutdown_ia64.dsp b/VC++Files/mysqlshutdown/myshutdown_ia64.dsp new file mode 100644 index 00000000000..1cee7987d5e --- /dev/null +++ b/VC++Files/mysqlshutdown/myshutdown_ia64.dsp @@ -0,0 +1,101 @@ +# Microsoft Developer Studio Project File - Name="myshutdown" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Application" 0x0101 + +CFG=myshutdown - 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 "myshutdown.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 "myshutdown.mak" CFG="myshutdown - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "myshutdown - WinIA64 Release" (based on "Win32 (x86) Application") +!MESSAGE "myshutdown - WinIA64 Debug" (based on "Win32 (x86) Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "myshutdown - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /D"WIN64" /D"NDEBUG" /D"_WINDOWS" /D"_MBCS" /YX /FD /c /O2 /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:windows /machine:IA64 +# ADD 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:windows /machine:IA64 /incremental:no + +!ELSEIF "$(CFG)" == "myshutdown - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /D"WIN64" /D"_DEBUG" /D"_WINDOWS" /D"_MBCS" /YX /FD /GZ /c /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:windows /debug /machine:IA64 +# ADD 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:windows /debug /machine:IA64 /incremental:no + +!ENDIF + +# Begin Target + +# Name "myshutdown - WinIA64 Release" +# Name "myshutdown - WinIA64 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/mysqlshutdown/mysqlshutdown_ia64.dsp b/VC++Files/mysqlshutdown/mysqlshutdown_ia64.dsp new file mode 100644 index 00000000000..2549606bf60 --- /dev/null +++ b/VC++Files/mysqlshutdown/mysqlshutdown_ia64.dsp @@ -0,0 +1,119 @@ +# Microsoft Developer Studio Project File - Name="mysqlshutdown" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Application" 0x0101 + +CFG=mysqlshutdown - WinIA64 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 "mysqlshutdown_ia64.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 "mysqlshutdown_ia64.mak" CFG="mysqlshutdown - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlshutdown - WinIA64 Release" (based on "Win32 (x86) Application") +!MESSAGE "mysqlshutdown - WinIA64 Debug" (based on "Win32 (x86) Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqlshutdown - WinIA64 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 "WIN64" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /Zi /O2 /D "_WINDOWS" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:windows /machine:IA64 +# ADD 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 bufferoverflowU.lib /nologo /subsystem:windows /out:"../client_release/mysqlshutdown.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqlshutdown - WinIA64 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqlshutdown___Win64_Debug" +# PROP BASE Intermediate_Dir "mysqlshutdown___Win64_Debug" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /W3 /Zi /Od /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:windows /out:"../client_release/mysqlshutdown.exe" /machine:IA64 +# ADD 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 bufferoverflowU.lib /nologo /subsystem:windows /out:"../client_debug/mysqlshutdown.exe" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "mysqlshutdown - WinIA64 Release" +# Name "mysqlshutdown - WinIA64 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\mysqlshutdown.c +# End Source File +# Begin Source File + +SOURCE=.\mysqlshutdown.rc +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# Begin Source File + +SOURCE=.\mysql.ico +# End Source File +# End Group +# End Target +# End Project diff --git a/VC++Files/mysqlwatch/mysqlwatch_ia64.dsp b/VC++Files/mysqlwatch/mysqlwatch_ia64.dsp new file mode 100644 index 00000000000..eb17b6991f8 --- /dev/null +++ b/VC++Files/mysqlwatch/mysqlwatch_ia64.dsp @@ -0,0 +1,71 @@ +# Microsoft Developer Studio Project File - Name="mysqlwatch" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqlwatch - WinIA64 Release +!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 "mysqlwatch_ia64.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 "mysqlwatch_ia64.mak" CFG="mysqlwatch - WinIA64 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqlwatch - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe +# 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /Zi /O2 /D "_WINDOWS" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD 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 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqlwatch.exe" /machine:IA64 +# Begin Target + +# Name "mysqlwatch - WinIA64 Release" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\mysqlwatch.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/mysys/mysys_ia64.dsp b/VC++Files/mysys/mysys_ia64.dsp new file mode 100644 index 00000000000..ed2dac53579 --- /dev/null +++ b/VC++Files/mysys/mysys_ia64.dsp @@ -0,0 +1,619 @@ +# Microsoft Developer Studio Project File - Name="mysys" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=mysys - WinIA64 TLS +!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 "mysys.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 "mysys.mak" CFG="mysys - WinIA64 TLS" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysys - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "mysys - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "mysys - WinIA64 Max" (based on "Win32 (x86) Static Library") +!MESSAGE "mysys - WinIA64 TLS_DEBUG" (based on "Win32 (x86) Static Library") +!MESSAGE "mysys - WinIA64 TLS" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysys - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../zlib" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /WX /Fr /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\mysys.lib" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../zlib" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_SYMDIR" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\mysys.lib" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 Max" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysys___WinIA64_Max" +# PROP BASE Intermediate_Dir "mysys___WinIA64_Max" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "max" +# PROP Intermediate_Dir "max" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../zlib" /D "USE_SYMDIR" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-max /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\mysys.lib" +# ADD LIB32 /nologo /out:"..\lib_release\mysys-max.lib" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 TLS_DEBUG" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "mysys___WinIA64_TLS_DEBUG" +# PROP BASE Intermediate_Dir "mysys___WinIA64_TLS_DEBUG" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "mysys___WinIA64_TLS_DEBUG" +# PROP Intermediate_Dir "mysys___WinIA64_TLS_DEBUG" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MTd /W3 /Z7 /Od /I "../include" /I "../zlib" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_SYMDIR" /FD /c +# SUBTRACT BASE CPP /Fr +# ADD CPP /nologo /MTd /W3 /Zi /O2 /I "../include" /I "../zlib" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_SYMDIR" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_debug\mysys_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_debug\mysys_tls.lib" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 TLS" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysys___WinIA64_TLS" +# PROP BASE Intermediate_Dir "mysys___WinIA64_TLS" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "mysys___WinIA64_TLS" +# PROP Intermediate_Dir "mysys___WinIA64_TLS" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../zlib" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../zlib" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "USE_TLS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\mysys_tls.lib" +# ADD LIB32 /nologo /out:"..\lib_release\mysys_tls.lib" + +!ENDIF + +# Begin Target + +# Name "mysys - WinIA64 Release" +# Name "mysys - WinIA64 Debug" +# Name "mysys - WinIA64 Max" +# Name "mysys - WinIA64 TLS_DEBUG" +# Name "mysys - WinIA64 TLS" +# Begin Source File + +SOURCE=.\array.c + +!IF "$(CFG)" == "mysys - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 Debug" + +# SUBTRACT CPP /Fr + +!ELSEIF "$(CFG)" == "mysys - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 TLS_DEBUG" + +# ADD BASE CPP /FR +# ADD CPP /Zi /O2 /FR /G2 /EHsc /Wp64 /Zm600 + +!ELSEIF "$(CFG)" == "mysys - WinIA64 TLS" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=".\charset-def.c" +# End Source File +# Begin Source File + +SOURCE=.\charset.c +# End Source File +# Begin Source File + +SOURCE=.\checksum.c +# End Source File +# Begin Source File + +SOURCE=.\default.c +# End Source File +# Begin Source File + +SOURCE=.\errors.c +# End Source File +# Begin Source File + +SOURCE=.\hash.c +# End Source File +# Begin Source File + +SOURCE=.\list.c +# End Source File +# Begin Source File + +SOURCE=.\md5.c +# End Source File +# Begin Source File + +SOURCE=.\mf_brkhant.c +# End Source File +# Begin Source File + +SOURCE=.\mf_cache.c +# End Source File +# Begin Source File + +SOURCE=.\mf_dirname.c +# End Source File +# Begin Source File + +SOURCE=.\mf_fn_ext.c +# End Source File +# Begin Source File + +SOURCE=.\mf_format.c +# End Source File +# Begin Source File + +SOURCE=.\mf_getdate.c +# End Source File +# Begin Source File + +SOURCE=.\mf_iocache.c +# End Source File +# Begin Source File + +SOURCE=.\mf_iocache2.c +# End Source File +# Begin Source File + +SOURCE=.\mf_keycache.c +# End Source File +# Begin Source File + +SOURCE=.\mf_keycaches.c +# End Source File +# Begin Source File + +SOURCE=.\mf_loadpath.c +# End Source File +# Begin Source File + +SOURCE=.\mf_pack.c +# End Source File +# Begin Source File + +SOURCE=.\mf_path.c +# End Source File +# Begin Source File + +SOURCE=.\mf_qsort.c +# End Source File +# Begin Source File + +SOURCE=.\mf_qsort2.c +# End Source File +# Begin Source File + +SOURCE=.\mf_radix.c +# End Source File +# Begin Source File + +SOURCE=.\mf_same.c +# End Source File +# Begin Source File + +SOURCE=.\mf_sort.c +# End Source File +# Begin Source File + +SOURCE=.\mf_soundex.c +# End Source File +# Begin Source File + +SOURCE=.\mf_strip.c +# End Source File +# Begin Source File + +SOURCE=.\mf_tempdir.c +# End Source File +# Begin Source File + +SOURCE=.\mf_tempfile.c +# End Source File +# Begin Source File + +SOURCE=.\mf_wcomp.c +# End Source File +# Begin Source File + +SOURCE=.\mf_wfile.c +# End Source File +# Begin Source File + +SOURCE=.\mulalloc.c +# End Source File +# Begin Source File + +SOURCE=.\my_aes.c +# End Source File +# Begin Source File + +SOURCE=.\my_alarm.c +# End Source File +# Begin Source File + +SOURCE=.\my_alloc.c +# End Source File +# Begin Source File + +SOURCE=.\my_append.c +# End Source File +# Begin Source File + +SOURCE=.\my_bit.c +# End Source File +# Begin Source File + +SOURCE=.\my_bitmap.c +# End Source File +# Begin Source File + +SOURCE=.\my_chsize.c +# End Source File +# Begin Source File + +SOURCE=.\my_clock.c +# End Source File +# Begin Source File + +SOURCE=.\my_compress.c +# End Source File +# Begin Source File + +SOURCE=.\my_copy.c +# End Source File +# Begin Source File + +SOURCE=.\my_crc32.c +# End Source File +# Begin Source File + +SOURCE=.\my_create.c +# End Source File +# Begin Source File + +SOURCE=.\my_delete.c +# End Source File +# Begin Source File + +SOURCE=.\my_div.c +# End Source File +# Begin Source File + +SOURCE=.\my_error.c +# End Source File +# Begin Source File + +SOURCE=.\my_file.c +# End Source File +# Begin Source File + +SOURCE=.\my_fopen.c +# End Source File +# Begin Source File + +SOURCE=.\my_fstream.c +# End Source File +# Begin Source File + +SOURCE=.\my_gethostbyname.c +# End Source File +# Begin Source File + +SOURCE=.\my_gethwaddr.c +# End Source File +# Begin Source File + +SOURCE=.\my_getopt.c +# End Source File +# Begin Source File + +SOURCE=.\my_getsystime.c +# End Source File +# Begin Source File + +SOURCE=.\my_getwd.c +# End Source File +# Begin Source File + +SOURCE=.\my_handler.c +# End Source File +# Begin Source File + +SOURCE=.\my_init.c +# End Source File +# Begin Source File + +SOURCE=.\my_lib.c +# End Source File +# Begin Source File + +SOURCE=.\my_lock.c +# End Source File +# Begin Source File + +SOURCE=.\my_lockmem.c +# End Source File +# Begin Source File + +SOURCE=.\my_lread.c +# End Source File +# Begin Source File + +SOURCE=.\my_lwrite.c +# End Source File +# Begin Source File + +SOURCE=.\my_malloc.c +# End Source File +# Begin Source File + +SOURCE=.\my_messnc.c +# End Source File +# Begin Source File + +SOURCE=.\my_mkdir.c +# End Source File +# Begin Source File + +SOURCE=.\my_net.c +# End Source File +# Begin Source File + +SOURCE=.\my_once.c +# End Source File +# Begin Source File + +SOURCE=.\my_open.c +# End Source File +# Begin Source File + +SOURCE=.\my_pread.c +# End Source File +# Begin Source File + +SOURCE=.\my_pthread.c +# End Source File +# Begin Source File + +SOURCE=.\my_quick.c +# End Source File +# Begin Source File + +SOURCE=.\my_read.c +# End Source File +# Begin Source File + +SOURCE=.\my_realloc.c +# End Source File +# Begin Source File + +SOURCE=.\my_redel.c +# End Source File +# Begin Source File + +SOURCE=.\my_rename.c +# End Source File +# Begin Source File + +SOURCE=.\my_seek.c +# End Source File +# Begin Source File + +SOURCE=.\my_sleep.c +# End Source File +# Begin Source File + +SOURCE=.\my_static.c +# End Source File +# Begin Source File + +SOURCE=.\my_static.h +# End Source File +# Begin Source File + +SOURCE=.\my_symlink.c +# End Source File +# Begin Source File + +SOURCE=.\my_symlink2.c +# End Source File +# Begin Source File + +SOURCE=.\my_sync.c +# End Source File +# Begin Source File + +SOURCE=.\my_tempnam.c +# End Source File +# Begin Source File + +SOURCE=.\my_thr_init.c +# End Source File +# Begin Source File + +SOURCE=.\my_wincond.c +# End Source File +# Begin Source File + +SOURCE=.\my_winsem.c +# End Source File +# Begin Source File + +SOURCE=.\my_winthread.c +# End Source File +# Begin Source File + +SOURCE=.\my_write.c +# End Source File +# Begin Source File + +SOURCE=.\mysys_priv.h +# End Source File +# Begin Source File + +SOURCE=.\ptr_cmp.c +# End Source File +# Begin Source File + +SOURCE=.\queues.c +# End Source File +# Begin Source File + +SOURCE=.\raid.cpp +# End Source File +# Begin Source File + +SOURCE=.\rijndael.c +# End Source File +# Begin Source File + +SOURCE=.\safemalloc.c +# End Source File +# Begin Source File + +SOURCE=.\sha1.c +# End Source File +# Begin Source File + +SOURCE=.\string.c +# End Source File +# Begin Source File + +SOURCE=.\thr_alarm.c +# End Source File +# Begin Source File + +SOURCE=.\thr_lock.c + +!IF "$(CFG)" == "mysys - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 Debug" + +# ADD CPP /Zi /Od /D "EXTRA_DEBUG" /G2 /EHsc /Wp64 /Zm600 + +!ELSEIF "$(CFG)" == "mysys - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysys - WinIA64 TLS_DEBUG" + +# ADD BASE CPP /D "EXTRA_DEBUG" +# ADD CPP /Zi /O2 /D "EXTRA_DEBUG" /G2 /EHsc /Wp64 /Zm600 + +!ELSEIF "$(CFG)" == "mysys - WinIA64 TLS" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\thr_mutex.c +# End Source File +# Begin Source File + +SOURCE=.\thr_rwlock.c +# End Source File +# Begin Source File + +SOURCE=.\tree.c +# End Source File +# Begin Source File + +SOURCE=.\typelib.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/pack_isam/pack_isam_ia64.dsp b/VC++Files/pack_isam/pack_isam_ia64.dsp new file mode 100644 index 00000000000..58b88f02f08 --- /dev/null +++ b/VC++Files/pack_isam/pack_isam_ia64.dsp @@ -0,0 +1,133 @@ +# Microsoft Developer Studio Project File - Name="pack_isam" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=pack_isam - WinIA64 classic +!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 "pack_isam_ia64.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 "pack_isam_ia64.mak" CFG="pack_isam - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "pack_isam - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "pack_isam - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "pack_isam - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "pack_isam - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WinIA64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../isam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ..\lib_release\isam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib wsock32.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 setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/pack_isam.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "pack_isam - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WinIA64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "../isam" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD LINK32 ..\lib_debug\dbug.lib ..\lib_debug\isam.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib wsock32.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 setargv.obj bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/pack_isam.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "pack_isam - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "pack_isam___WinIA64 _classic" +# PROP BASE Intermediate_Dir "pack_isam___WinIA64 _classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../isam" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../isam" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 wsock32.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 setargv.obj /nologo /subsystem:console /out:"../client_release/pack_isam.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\isam.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib wsock32.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 setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/pack_isam.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "pack_isam - WinIA64 Release" +# Name "pack_isam - WinIA64 Debug" +# Name "pack_isam - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\isam\pack_isam.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/perror/perror_ia64.dsp b/VC++Files/perror/perror_ia64.dsp new file mode 100644 index 00000000000..69fe18340dd --- /dev/null +++ b/VC++Files/perror/perror_ia64.dsp @@ -0,0 +1,140 @@ +# Microsoft Developer Studio Project File - Name="perror" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Application" 0x0101 + +CFG=perror - WinIA64 classic +!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 "perror_ia64.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 "perror_ia64.mak" CFG="perror - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "perror - WinIA64 Release" (based on "Win32 (x86) Application") +!MESSAGE "perror - WinIA64 Debug" (based on "Win32 (x86) Application") +!MESSAGE "perror - WinIA64 classic" (based on "Win32 (x86) Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "perror - WinIA64 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 "WIN64" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "WIN64" /D "_WINDOWS" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:windows /machine:IA64 +# ADD LINK32 wsock32.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 bufferoverflowU.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib /nologo /subsystem:console /out:"../client_release/perror.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "perror - WinIA64 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 "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:windows /debug /machine:IA64 +# ADD LINK32 wsock32.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 bufferoverflowU.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\dbug.lib /nologo /incremental:no /debug /machine:IA64 +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "perror - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "perror___Win64_classic" +# PROP BASE Intermediate_Dir "perror___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "WIN64" /D "_WINDOWS" /D "_MBCS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "WIN64" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win64 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 wsock32.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 /out:"../client_release/perror.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.lib wsock32.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 bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/perror.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "perror - WinIA64 Release" +# Name "perror - WinIA64 Debug" +# Name "perror - WinIA64 classic" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\extra\perror.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/VC++Files/regex/regex_ia64.dsp b/VC++Files/regex/regex_ia64.dsp new file mode 100644 index 00000000000..96088e1ce09 --- /dev/null +++ b/VC++Files/regex/regex_ia64.dsp @@ -0,0 +1,114 @@ +# Microsoft Developer Studio Project File - Name="regex" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=regex - WinIA64 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 "regex.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 "regex.mak" CFG="regex - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "regex - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "regex - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "regex - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "./" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\regex.lib" + +!ELSEIF "$(CFG)" == "regex - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /I "./" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /GF /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\regex.lib" + +!ENDIF + +# Begin Target + +# Name "regex - WinIA64 Release" +# Name "regex - WinIA64 Debug" +# Begin Source File + +SOURCE=.\debug.c +# End Source File +# Begin Source File + +SOURCE=.\regcomp.c +# End Source File +# Begin Source File + +SOURCE=.\regerror.c +# End Source File +# Begin Source File + +SOURCE=.\regexec.c +# End Source File +# Begin Source File + +SOURCE=.\regfree.c +# End Source File +# Begin Source File + +SOURCE=.\reginit.c +# End Source File +# Begin Source File + +SOURCE=.\split.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/replace/replace_ia64.dsp b/VC++Files/replace/replace_ia64.dsp new file mode 100644 index 00000000000..925af8d8081 --- /dev/null +++ b/VC++Files/replace/replace_ia64.dsp @@ -0,0 +1,125 @@ +# Microsoft Developer Studio Project File - Name="replace" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=replace - WinIA64 classic +!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 "replace_ia64.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 "replace_ia64.mak" CFG="replace - WinIA64 classic" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "replace - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "replace - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "replace - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "replace - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "Win64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "Win64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x40b /d "NDEBUG" +# ADD RSC /l 0x40b /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:IA64 +# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.lib wsock32.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 setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/replace.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "replace - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "Win64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "Win64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x40b /d "_DEBUG" +# ADD RSC /l 0x40b /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:IA64 +# ADD LINK32 ../lib_debug/dbug.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib wsock32.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 setargv.obj bufferoverflowU.lib /nologo /subsystem:console /incremental:no /out:"../client_debug/replace.exe" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "replace - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "replace___Win64_classic" +# PROP BASE Intermediate_Dir "replace___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "Win64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x40b /d "NDEBUG" +# ADD RSC /l 0x40b /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 wsock32.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 setargv.obj /nologo /subsystem:console /out:"../client_release/replace.exe" /machine:IA64 +# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.lib wsock32.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 setargv.obj bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/replace.exe" /libpath:"..\lib_release\\" /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "replace - WinIA64 Release" +# Name "replace - WinIA64 Debug" +# Name "replace - WinIA64 classic" +# Begin Source File + +SOURCE=..\extra\replace.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/sql/mysqld_ia64.dsp b/VC++Files/sql/mysqld_ia64.dsp new file mode 100644 index 00000000000..310f48fcfb9 --- /dev/null +++ b/VC++Files/sql/mysqld_ia64.dsp @@ -0,0 +1,2013 @@ +# Microsoft Developer Studio Project File - Name="mysqld" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqld - WinIA64 pro nt +!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 "mysqld_ia64.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 "mysqld_ia64.mak" CFG="mysqld - WinIA64 pro nt" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqld - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 nt" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 Max nt" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 Max" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 classic" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 pro" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 classic nt" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqld - WinIA64 pro nt" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqld - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../zlib" /I "../include" /I "../regex" /D "NDEBUG" /D "DBUG_OFF" /D "HAVE_INNOBASE_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x410 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:IA64 +# ADD LINK32 ..\lib_release\myisammrg.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\myisam.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 Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqld.exe" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../bdb/build_win32" /I "../include" /I "../regex" /I "../zlib" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "HAVE_INNOBASE_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr /YX +# ADD BASE RSC /l 0x410 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:IA64 +# ADD LINK32 ..\lib_debug\zlib.lib ..\lib_debug\myisammrg.lib ..\lib_debug\dbug.lib ..\lib_debug\vio.lib ..\lib_debug\isam.lib ..\lib_debug\merge.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_debug\innodb.lib ..\lib_debug\myisam.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 Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /out:"../client_debug/mysqld-debug.exe" /machine:IA64 + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqld__" +# PROP BASE Intermediate_Dir "mysqld__" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "nt" +# PROP Intermediate_Dir "nt" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G5 /MT /W3 /O2 /I "../include" /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "__WIN64__" /D "DBUG_OFF" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../zlib" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-nt /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x410 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.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 Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /map /out:"../client_release/mysqld-nt.exe" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqld___Win64_Max_nt" +# PROP BASE Intermediate_Dir "mysqld___Win64_Max_nt" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "max_nt" +# PROP Intermediate_Dir "max_nt" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../bdb/build_win32" /I "../include" /I "../regex" /I "../zlib" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "HAVE_INNOBASE_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-nt-max /G2 /EHsc /Wp64 /Zm600 /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=link.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 Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib /nologo /subsystem:console /map /machine:IA64 +# SUBTRACT BASE LINK32 /debug +# ADD LINK32 ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys-max.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innodb.lib ..\lib_release\mysys.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 Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /map /out:"../client_release/mysqld-max-nt.exe" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqld___Win64_Max" +# PROP BASE Intermediate_Dir "mysqld___Win64_Max" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "max" +# PROP Intermediate_Dir "max" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /D "NDEBUG" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../bdb/build_win32" /I "../include" /I "../regex" /I "../zlib" /D "NDEBUG" /D "DBUG_OFF" /D "USE_SYMDIR" /D "HAVE_INNOBASE_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-max /G2 /EHsc /Wp64 /Zm600 /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=link.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 Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /debug /machine:IA64 +# ADD LINK32 ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys-max.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib ..\lib_release\mysys.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 Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_release/mysqld-max.exe" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqld___Win64_classic" +# PROP BASE Intermediate_Dir "mysqld___Win64_classic" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic" +# PROP Intermediate_Dir "classic" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../zlib" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../zlib" /D LICENSE=Commercial /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "HAVE_DLOPEN" /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-classic /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IA64 +# SUBTRACT BASE LINK32 /debug +# ADD LINK32 ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innodb.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 Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqld.exe" /libpath:"..\lib_release" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqld___Win64_pro" +# PROP BASE Intermediate_Dir "mysqld___Win64_pro" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "pro" +# PROP Intermediate_Dir "pro" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../zlib" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../zlib" /D "MYSQL_SERVER" /D LICENSE=Commercial /D "_MBCS" /D "HAVE_DLOPEN" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "NDEBUG" /D "_WINDOWS" /D "_CONSOLE" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-pro /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IA64 +# SUBTRACT BASE LINK32 /debug +# ADD LINK32 ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.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 Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_pro/mysqld.exe" /libpath:"..\lib_release" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqld___Win64_classic_nt" +# PROP BASE Intermediate_Dir "mysqld___Win64_classic_nt" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "classic_nt" +# PROP Intermediate_Dir "classic_nt" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../zlib" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../zlib" /D "__NT__" /D "DBUG_OFF" /D "NDEBUG" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D LICENSE=Commercial /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-classic-nt /G2 /EHsc /Wp64 /Zm600 /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=link.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 Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IA64 +# SUBTRACT BASE LINK32 /debug +# ADD LINK32 ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innodb.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 Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_classic/mysqld-nt.exe" /libpath:"..\lib_release" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "mysqld___Win64_pro_nt" +# PROP BASE Intermediate_Dir "mysqld___Win64_pro_nt" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "pro_nt" +# PROP Intermediate_Dir "pro_nt" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +MTL=midl.exe +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../zlib" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /I "../regex" /I "../zlib" /D "__NT__" /D "DBUG_OFF" /D "HAVE_INNOBASE_DB" /D LICENSE=Commercial /D "NDEBUG" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /DMYSQL_SERVER_SUFFIX=-pro-nt" /G2 /EHsc /Wp64 /Zm600 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /machine:IA64 +# SUBTRACT BASE LINK32 /debug +# ADD LINK32 ..\lib_release\zlib.lib ..\lib_release\mysys.lib ..\lib_release\innodb.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.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 Wsock32.lib bufferoverflowU.lib /nologo /subsystem:console /out:"../client_pro/mysqld-nt.exe" /libpath:"..\lib_release" /machine:IA64 +# SUBTRACT LINK32 /debug + +!ENDIF + +# Begin Target + +# Name "mysqld - WinIA64 Release" +# Name "mysqld - WinIA64 Debug" +# Name "mysqld - WinIA64 nt" +# Name "mysqld - WinIA64 Max nt" +# Name "mysqld - WinIA64 Max" +# Name "mysqld - WinIA64 classic" +# Name "mysqld - WinIA64 pro" +# Name "mysqld - WinIA64 classic nt" +# Name "mysqld - WinIA64 pro nt" +# Begin Source File + +SOURCE=.\client.c + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\derror.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\discover.cpp +# End Source File +# Begin Source File + +SOURCE=..\libmysql\errmsg.c +# End Source File +# Begin Source File + +SOURCE=.\field.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\field_conv.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\filesort.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\gstream.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_berkeley.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_heap.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_innodb.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_isam.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_isammrg.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_myisam.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_myisammrg.cpp +# End Source File +# Begin Source File + +SOURCE=.\handler.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\hash_filo.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\hash_filo.h +# End Source File +# Begin Source File + +SOURCE=.\hostname.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\init.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_buff.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_cmpfunc.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_create.cpp +# End Source File +# Begin Source File + +SOURCE=.\item_func.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_geofunc.cpp +# End Source File +# Begin Source File + +SOURCE=.\item_row.cpp +# End Source File +# Begin Source File + +SOURCE=.\item_strfunc.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_subselect.cpp +# End Source File +# Begin Source File + +SOURCE=.\item_sum.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_timefunc.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_uniq.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\key.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\lock.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\log.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\log_event.cpp +# End Source File +# Begin Source File + +SOURCE=.\message.mc + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +# Begin Custom Build +InputPath=.\message.mc + +BuildCmds= \ + mc message.mc + +"message.rc" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) + +"message.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + $(BuildCmds) +# End Custom Build + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\message.rc +# End Source File +# Begin Source File + +SOURCE=.\mf_iocache.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\my_time.c +# End Source File +# Begin Source File + +SOURCE=..\myisammrg\myrg_rnext_same.c +# End Source File +# Begin Source File + +SOURCE=.\mysqld.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\net_serv.cpp +# End Source File +# Begin Source File + +SOURCE=.\nt_servc.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\nt_servc.h +# End Source File +# Begin Source File + +SOURCE=.\opt_range.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\opt_range.h +# End Source File +# Begin Source File + +SOURCE=.\OPT_SUM.cpp +# End Source File +# Begin Source File + +SOURCE=.\pack.c +# End Source File +# Begin Source File + +SOURCE=.\password.c + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\procedure.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\protocol.cpp +# End Source File +# Begin Source File + +SOURCE=.\records.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\repl_failsafe.cpp +# End Source File +# Begin Source File + +SOURCE=.\set_var.cpp +# End Source File +# Begin Source File + +SOURCE=.\slave.cpp +# End Source File +# Begin Source File + +SOURCE=.\spatial.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_acl.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_analyse.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_base.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_cache.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_class.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_client.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_crypt.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_crypt.h +# End Source File +# Begin Source File + +SOURCE=.\sql_db.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_delete.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_derived.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_do.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_error.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_handler.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_help.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_insert.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_lex.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_list.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_load.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_manager.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_map.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_parse.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_prepare.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_rename.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_repl.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_select.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_show.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_state.c +# End Source File +# Begin Source File + +SOURCE=.\sql_string.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_table.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_test.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_udf.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_union.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_update.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_yacc.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\strfunc.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\table.cpp +# End Source File +# Begin Source File + +SOURCE=.\thr_malloc.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\time.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\tztime.cpp +# End Source File +# Begin Source File + +SOURCE=.\uniques.cpp +# End Source File +# Begin Source File + +SOURCE=.\unireg.cpp + +!IF "$(CFG)" == "mysqld - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Debug" + +# ADD CPP /G5 /Zi /Od /G2 /EHsc /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 Max" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 classic nt" + +!ELSEIF "$(CFG)" == "mysqld - WinIA64 pro nt" + +!ENDIF + +# End Source File +# End Target +# End Project diff --git a/VC++Files/sql/mysqldmax_ia64.dsp b/VC++Files/sql/mysqldmax_ia64.dsp new file mode 100644 index 00000000000..9d79d224e4a --- /dev/null +++ b/VC++Files/sql/mysqldmax_ia64.dsp @@ -0,0 +1,1542 @@ +# Microsoft Developer Studio Project File - Name="mysqldmax" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysqldmax - 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 "mysqldmax.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 "mysqldmax.mak" CFG="mysqldmax - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysqldmax - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqldmax - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqldmax - Win32 nt" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqldmax - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqldmax - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "mysqldmax - WinIA64 nt" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "mysqldmax - 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 /MT /W3 /I "../include" /I "../regex" /D "NDEBUG" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_BERKELEY_DB" /D "HAVE_INNOBASE_DB" /FD /c /O2 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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 +# ADD 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 Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innobase-opt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /pdb:none /debug /nodefaultlib:"LIBC" /out:"../client_release/mysqld-max-opt.exe" + +!ELSEIF "$(CFG)" == "mysqldmax - 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 /GZ /c +# ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /I "../include" /I "../regex" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_BERKELEY_DB" /D "HAVE_INNOBASE_DB" /FR /FD /c /Od +# ADD BASE RSC /l 0x416 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD 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 Wsock32.lib ..\lib_debug\dbug.lib ..\lib_debug\isam.lib ..\lib_debug\merge.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_release\innobase-opt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /incremental:no /pdb:"debug/mysqld.pdb" /debug /nodefaultlib:"LIBC" /out:"../client_debug/mysqld-max.exe" +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "nt" +# PROP BASE Intermediate_Dir "nt" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "nt" +# PROP Intermediate_Dir "nt" +# 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 /MT /W3 /I "../include" /I "../regex" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_BERKELEY_DB" /D "HAVE_INNOBASE_DB" /FD /c /O2 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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 +# ADD 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 Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innobase-nt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /pdb:"NT/mysqld-nt.pdb" /map:"NT/mysqld-nt.map" /nodefaultlib:"LIBC" /out:"../client_release/mysqld-max-nt.exe" +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 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 "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /I "../include" /I "../regex" /D"NDEBUG" /D"DBUG_OFF" /D"MYSQL_SERVER" /D"_WINDOWS" /D"_CONSOLE" /D"_MBCS" /D"HAVE_BERKELEY_DB" /D"HAVE_INNOBASE_DB" /FD /c /O2 /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD 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 Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innobase-opt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /debug /machine:IA64 /nodefaultlib:"LIBC" /out:"../client_release/mysqld-max-opt.exe" /incremental:no + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 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 "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /I "../include" /I "../regex" /D"_DEBUG" /D"SAFEMALLOC" /D"SAFE_MUTEX" /D"MYSQL_SERVER" /D"_WINDOWS" /D"_CONSOLE" /D"_MBCS" /D"HAVE_INNOBASE_DB" /FR /FD /c /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# ADD BASE RSC /l 0x416 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD 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 Wsock32.lib ..\lib_debug\dbug.lib ..\lib_debug\isam.lib ..\lib_debug\merge.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_release\innobase-opt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /pdb:"debug/mysqld.pdb" /debug /machine:IA64 /nodefaultlib:"LIBC" /out:"../client_debug/mysqld-max.exe" /incremental:no +# SUBTRACT LINK32 + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "nt" +# PROP BASE Intermediate_Dir "nt" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "nt" +# PROP Intermediate_Dir "nt" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /I "../include" /I "../regex" /D"NDEBUG" /D"__NT__" /D"DBUG_OFF" /D"MYSQL_SERVER" /D"_WINDOWS" /D"_CONSOLE" /D"_MBCS" /D"HAVE_INNOBASE_DB" /FD /c /O2 /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# ADD BASE RSC /l 0x416 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 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:IA64 +# ADD 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 Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innobase-nt.lib ..\lib_release\libdb32s.lib /nologo /subsystem:console /pdb:"NT/mysqld-nt.pdb" /map:"NT/mysqld-nt.map" /machine:IA64 /nodefaultlib:"LIBC" /out:"../client_release/mysqld-max-nt.exe" /incremental:no +# SUBTRACT LINK32 + +!ENDIF + +# Begin Target + +# Name "mysqldmax - Win32 Release" +# Name "mysqldmax - Win32 Debug" +# Name "mysqldmax - Win32 nt" +# Name "mysqldmax - WinIA64 Release" +# Name "mysqldmax - WinIA64 Debug" +# Name "mysqldmax - WinIA64 nt" +# Begin Source File + +SOURCE=.\convert.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\derror.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\field.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\field_conv.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\filesort.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\ha_berkeley.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_heap.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_innobase.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_isam.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_isammrg.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_myisam.cpp +# End Source File +# Begin Source File + +SOURCE=.\ha_myisammrg.cpp +# End Source File +# Begin Source File + +SOURCE=.\handler.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\hash_filo.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\hash_filo.h +# End Source File +# Begin Source File + +SOURCE=.\hostname.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\init.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_buff.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_cmpfunc.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_create.cpp +# End Source File +# Begin Source File + +SOURCE=.\item_func.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_strfunc.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_sum.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_timefunc.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\item_uniq.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\key.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\lock.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\log.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\log_event.cpp +# End Source File +# Begin Source File + +SOURCE=.\md5.c +# End Source File +# Begin Source File + +SOURCE=.\mf_iocache.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\mini_client.cpp +# End Source File +# Begin Source File + +SOURCE=.\mini_client_errors.c +# End Source File +# Begin Source File + +SOURCE=.\mysqld.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\net_pkg.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\net_serv.cpp +# End Source File +# Begin Source File + +SOURCE=.\nt_servc.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\nt_servc.h +# End Source File +# Begin Source File + +SOURCE=.\opt_ft.cpp +# End Source File +# Begin Source File + +SOURCE=.\opt_range.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\opt_range.h +# End Source File +# Begin Source File + +SOURCE=.\opt_sum.cpp +# End Source File +# Begin Source File + +SOURCE=.\password.c + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\procedure.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\records.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\slave.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_acl.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_analyse.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_base.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_cache.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_class.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_crypt.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_crypt.h +# End Source File +# Begin Source File + +SOURCE=.\sql_db.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_delete.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_insert.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_lex.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_list.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_load.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_manager.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_map.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_parse.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_rename.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_repl.cpp +# End Source File +# Begin Source File + +SOURCE=.\sql_select.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_show.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_string.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_table.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_test.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_update.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\sql_yacc.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\strfunc.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\table.cpp +# End Source File +# Begin Source File + +SOURCE=.\thr_malloc.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\time.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\unireg.cpp + +!IF "$(CFG)" == "mysqldmax - Win32 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 Debug" + +# ADD CPP /G5 /Od +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - Win32 nt" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Release" + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 Debug" + +# ADD CPP /G5 /Od /G2 /EHsc /D"_IA64_" /Zi /D"WIN64" /D"WIN32" /D"_AFX_NO_DAO_SUPPORT" /Wp64 /Zm600 +# SUBTRACT CPP /YX /Yc /Yu + +!ELSEIF "$(CFG)" == "mysqldmax - WinIA64 nt" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\violite.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/strings/strings_ia64.dsp b/VC++Files/strings/strings_ia64.dsp new file mode 100644 index 00000000000..6449b2b1355 --- /dev/null +++ b/VC++Files/strings/strings_ia64.dsp @@ -0,0 +1,266 @@ +# Microsoft Developer Studio Project File - Name="strings" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=strings - WinIA64 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 "strings.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 "strings.mak" CFG="strings - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "strings - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "strings - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "strings - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\strings.lib" + +!ELSEIF "$(CFG)" == "strings - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /GF /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\strings.lib" + +!ENDIF + +# Begin Target + +# Name "strings - WinIA64 Release" +# Name "strings - WinIA64 Debug" +# Begin Source File + +SOURCE=.\bchange.c +# End Source File +# Begin Source File + +SOURCE=.\bcmp.c +# End Source File +# Begin Source File + +SOURCE=.\bfill.c +# End Source File +# Begin Source File + +SOURCE=.\bmove512.c +# End Source File +# Begin Source File + +SOURCE=.\bmove_upp.c +# End Source File +# Begin Source File + +SOURCE=".\ctype-big5.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-bin.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-czech.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-euc_kr.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-extra.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-gb2312.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-gbk.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-latin1.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-mb.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-simple.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-sjis.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-tis620.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-uca.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-ucs2.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-ujis.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-utf8.c" +# End Source File +# Begin Source File + +SOURCE=".\ctype-win1250ch.c" +# End Source File +# Begin Source File + +SOURCE=.\ctype.c +# End Source File +# Begin Source File + +SOURCE=.\int2str.c +# End Source File +# Begin Source File + +SOURCE=.\is_prefix.c +# End Source File +# Begin Source File + +SOURCE=.\llstr.c +# End Source File +# Begin Source File + +SOURCE=.\longlong2str.c +# End Source File +# Begin Source File + +SOURCE=.\my_strtoll10.c +# End Source File +# Begin Source File + +SOURCE=.\my_vsnprintf.c +# End Source File +# Begin Source File + +SOURCE=.\r_strinstr.c +# End Source File +# Begin Source File + +SOURCE=.\str2int.c +# End Source File +# Begin Source File + +SOURCE=.\strcend.c +# End Source File +# Begin Source File + +SOURCE=.\strend.c +# End Source File +# Begin Source File + +SOURCE=.\strfill.c +# End Source File +# Begin Source File + +SOURCE=.\strmake.c +# End Source File +# Begin Source File + +SOURCE=.\strmov.c +# End Source File +# Begin Source File + +SOURCE=.\strnmov.c +# End Source File +# Begin Source File + +SOURCE=.\strtod.c +# End Source File +# Begin Source File + +SOURCE=.\strtol.c +# End Source File +# Begin Source File + +SOURCE=.\strtoll.c +# End Source File +# Begin Source File + +SOURCE=.\strtoul.c +# End Source File +# Begin Source File + +SOURCE=.\strtoull.c +# End Source File +# Begin Source File + +SOURCE=.\strxmov.c +# End Source File +# Begin Source File + +SOURCE=.\strxnmov.c +# End Source File +# Begin Source File + +SOURCE=.\xml.c +# End Source File +# End Target +# End Project diff --git a/VC++Files/test1/test1_ia64.dsp b/VC++Files/test1/test1_ia64.dsp new file mode 100644 index 00000000000..6e283ac0224 --- /dev/null +++ b/VC++Files/test1/test1_ia64.dsp @@ -0,0 +1,104 @@ +# Microsoft Developer Studio Project File - Name="test1" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=test1 - WinIA64 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 "test1_ia64.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 "test1_ia64.mak" CFG="test1 - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "test1 - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "test1 - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "test1 - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /Zi /O2 /I "../include" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /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=link.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:IA64 +# ADD LINK32 ..\lib_release\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 bufferoverflowU.lib /nologo /subsystem:console /machine:IA64 + +!ELSEIF "$(CFG)" == "test1 - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /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=link.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:IA64 +# ADD LINK32 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 bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /libpath:"..\lib_debug" /machine:IA64 +# SUBTRACT LINK32 /pdb:none + +!ENDIF + +# Begin Target + +# Name "test1 - WinIA64 Release" +# Name "test1 - WinIA64 Debug" +# Begin Source File + +SOURCE=.\mysql_thr.c + +!IF "$(CFG)" == "test1 - WinIA64 Release" + +# ADD CPP /MT /Zi /O2 /G2 /EHsc /Wp64 /Zm600 + +!ELSEIF "$(CFG)" == "test1 - WinIA64 Debug" + +!ENDIF + +# End Source File +# End Target +# End Project diff --git a/VC++Files/tests/mysql_client_test.dsp b/VC++Files/tests/mysql_client_test.dsp index 3d1e6728181..14873c8a94c 100644 --- a/VC++Files/tests/mysql_client_test.dsp +++ b/VC++Files/tests/mysql_client_test.dsp @@ -51,8 +51,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.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 odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\tests\mysql_client_test.exe" /incremental:yes /libpath:"..\lib_debug\" /debug /pdb:".\Debug\mysql_client_test.pdb" /pdbtype:sept /map:".\Debug\mysql_client_test.map" /subsystem:console -# ADD 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 odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\tests\mysql_client_test.exe" /incremental:yes /libpath:"..\lib_debug\" /debug /pdb:".\Debug\mysql_client_test.pdb" /pdbtype:sept /map:".\Debug\mysql_client_test.map" /subsystem:console +# 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 odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\mysql_client_test.exe" /incremental:yes /libpath:"..\lib_debug\" /debug /pdb:".\Debug\mysql_client_test.pdb" /pdbtype:sept /map:".\Debug\mysql_client_test.map" /subsystem:console +# ADD 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 odbc32.lib odbccp32.lib mysqlclient.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\mysql_client_test.exe" /incremental:yes /libpath:"..\lib_debug\" /debug /pdb:".\Debug\mysql_client_test.pdb" /pdbtype:sept /map:".\Debug\mysql_client_test.map" /subsystem:console !ELSEIF "$(CFG)" == "mysql_client_test - Win32 Release" @@ -76,8 +76,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.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 odbc32.lib odbccp32.lib Ws2_32.lib /nologo /out:"..\tests\mysql_client_test.exe" /incremental:no /pdb:".\Release\mysql_client_test.pdb" /pdbtype:sept /subsystem:console -# ADD 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 odbc32.lib odbccp32.lib Ws2_32.lib /nologo /out:"..\tests\mysql_client_test.exe" /incremental:no /pdb:".\Release\mysql_client_test.pdb" /pdbtype:sept /subsystem:console +# 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 odbc32.lib odbccp32.lib Ws2_32.lib /nologo /out:"..\mysql_client_test.exe" /incremental:no /pdb:".\Release\mysql_client_test.pdb" /pdbtype:sept /subsystem:console +# ADD 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 odbc32.lib odbccp32.lib Ws2_32.lib /nologo /out:"..\mysql_client_test.exe" /incremental:no /pdb:".\Release\mysql_client_test.pdb" /pdbtype:sept /subsystem:console !ENDIF @@ -87,7 +87,7 @@ LINK32=link.exe # Name "mysql_client_test - Win32 Release" # Begin Source File -SOURCE=tests\mysql_client_test.c +SOURCE=mysql_client_test.c # End Source File # End Target # End Project diff --git a/VC++Files/tests/mysql_client_test_ia64.dsp b/VC++Files/tests/mysql_client_test_ia64.dsp new file mode 100644 index 00000000000..f9dfbe5f027 --- /dev/null +++ b/VC++Files/tests/mysql_client_test_ia64.dsp @@ -0,0 +1,87 @@ +# Microsoft Developer Studio Project File - Name="mysql_client_test" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=mysql_client_test - WinIA64 Release +!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 "mysql_client_test_ia64.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 "mysql_client_test_ia64.mak" CFG="mysql_client_test - WinIA64 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "mysql_client_test - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe +# 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 "" +MTL=midl.exe +# ADD BASE MTL /nologo /tlb".\Release\mysql_client_test.tlb" /win32 +# ADD MTL /nologo /tlb".\Release\mysql_client_test.tlb" /win32 +# ADD BASE CPP /nologo /G6 /MTd /W3 /GX /Ob1 /Gy /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /GF /c +# ADD CPP /nologo /G6 /MTd /W3 /GX /Ob1 /Gy /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /GF /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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 odbc32.lib odbccp32.lib Ws2_32.lib /nologo /subsystem:console /out:"..\mysql_client_test.exe" /machine:IA64 +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\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 odbc32.lib odbccp32.lib Ws2_32.lib bufferoverflowU.lib /nologo /subsystem:console /nodefaultlib /out:"..\mysql_client_test.exe" /machine:IA64 /machine:IA64 +# SUBTRACT LINK32 /pdb:none +# Begin Target + +# Name "mysql_client_test - WinIA64 Release" +# Begin Source File + +SOURCE=mysql_client_test.c +DEP_CPP_MYSQL=\ + "..\include\config-netware.h"\ + "..\include\config-os2.h"\ + "..\include\config-win.h"\ + "..\include\errmsg.h"\ + "..\include\m_ctype.h"\ + "..\include\m_string.h"\ + "..\include\my_alloc.h"\ + "..\include\my_config.h"\ + "..\include\my_dbug.h"\ + "..\include\my_dir.h"\ + "..\include\my_getopt.h"\ + "..\include\my_global.h"\ + "..\include\my_list.h"\ + "..\include\my_pthread.h"\ + "..\include\my_sys.h"\ + "..\include\mysql.h"\ + "..\include\mysql_com.h"\ + "..\include\mysql_time.h"\ + "..\include\mysql_version.h"\ + "..\include\raid.h"\ + "..\include\t_ctype.h"\ + "..\include\typelib.h"\ + +# End Source File +# End Target +# End Project diff --git a/VC++Files/thr_test/thr_test_ia64.dsp b/VC++Files/thr_test/thr_test_ia64.dsp new file mode 100644 index 00000000000..90b6ca02648 --- /dev/null +++ b/VC++Files/thr_test/thr_test_ia64.dsp @@ -0,0 +1,106 @@ +# Microsoft Developer Studio Project File - Name="thr_test" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=thr_test - WinIA64 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 "thr_test_ia64.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 "thr_test_ia64.mak" CFG="thr_test - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "thr_test - WinIA64 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "thr_test - WinIA64 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "thr_test - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x40b /d "NDEBUG" +# ADD RSC /l 0x40b /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:IA64 +# ADD 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 bufferoverflowU.lib /nologo /subsystem:console /machine:IA64 +# SUBTRACT LINK32 /nodefaultlib + +!ELSEIF "$(CFG)" == "thr_test - WinIA64 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 "" +MTL=midl.exe +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN64" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /D "__WIN64__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /Fr /YX +# ADD BASE RSC /l 0x40b /d "_DEBUG" +# ADD RSC /l 0x40b /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.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:IA64 +# ADD 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 bufferoverflowU.lib /nologo /subsystem:console /incremental:no /debug /machine:IA64 + +!ENDIF + +# Begin Target + +# Name "thr_test - WinIA64 Release" +# Name "thr_test - WinIA64 Debug" +# Begin Source File + +SOURCE=.\thr_test.c + +!IF "$(CFG)" == "thr_test - WinIA64 Release" + +# ADD CPP /G5 /Zi /O2 /G2 /EHsc /Wp64 /Zm600 + +!ELSEIF "$(CFG)" == "thr_test - WinIA64 Debug" + +# ADD CPP /Zi /Od /FAcs /G2 /EHsc /Wp64 /Zm600 + +!ENDIF + +# End Source File +# End Target +# End Project diff --git a/VC++Files/vio/vio_ia64.dsp b/VC++Files/vio/vio_ia64.dsp new file mode 100644 index 00000000000..9dd9a0b9eb6 --- /dev/null +++ b/VC++Files/vio/vio_ia64.dsp @@ -0,0 +1,108 @@ +# Microsoft Developer Studio Project File - Name="vio" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=vio - WinIA64 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 "vio.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 "vio.mak" CFG="vio - WinIA64 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "vio - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "vio - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "vio - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WinIA64" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\vio.lib" + +!ELSEIF "$(CFG)" == "vio - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WinIA64" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_SYMDIR" /D "_IA64_" /D "WinIA64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\vio.lib" + +!ENDIF + +# Begin Target + +# Name "vio - WinIA64 Release" +# Name "vio - WinIA64 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\vio.c +# End Source File +# Begin Source File + +SOURCE=.\viosocket.c +# End Source File +# Begin Source File + +SOURCE=.\viossl.c +# End Source File +# Begin Source File + +SOURCE=.\viosslfactories.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# End Target +# End Project diff --git a/VC++Files/zlib/zlib_ia64.dsp b/VC++Files/zlib/zlib_ia64.dsp new file mode 100644 index 00000000000..c8cb0f6a38b --- /dev/null +++ b/VC++Files/zlib/zlib_ia64.dsp @@ -0,0 +1,204 @@ +# Microsoft Developer Studio Project File - Name="zlib" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=zlib - WinIA64 authent +!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 "zlib.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 "zlib.mak" CFG="zlib - WinIA64 authent" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "zlib - WinIA64 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "zlib - WinIA64 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE "zlib - WinIA64 authent" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "zlib - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN64" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /Zi /O2 /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_release\zlib.lib" + +!ELSEIF "$(CFG)" == "zlib - WinIA64 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 Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN64" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MTd /W3 /Zi /Od /D "_DEBUG" /D "__WIN64__" /D "_WINDOWS" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo /out:"..\lib_debug\zlib.lib" + +!ELSEIF "$(CFG)" == "zlib - WinIA64 authent" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "zlib___WinIA64_authent" +# PROP BASE Intermediate_Dir "zlib___WinIA64_authent" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "zlib___WinIA64_authent" +# PROP Intermediate_Dir "zlib___WinIA64_authent" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /Zi /O2 /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /D "_IA64_" /D "WIN64" /D "WIN32" /D "_AFX_NO_DAO_SUPPORT" /FD /G2 /EHsc /Wp64 /Zm600 /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo /out:"..\lib_release\zlib.lib" +# ADD LIB32 /nologo /out:"..\lib_release\zlib.lib" + +!ENDIF + +# Begin Target + +# Name "zlib - WinIA64 Release" +# Name "zlib - WinIA64 Debug" +# Name "zlib - WinIA64 authent" +# Begin Source File + +SOURCE=.\adler32.c +# End Source File +# Begin Source File + +SOURCE=.\compress.c +# End Source File +# Begin Source File + +SOURCE=.\crc32.c +# End Source File +# Begin Source File + +SOURCE=.\crc32.h +# End Source File +# Begin Source File + +SOURCE=.\deflate.c +# End Source File +# Begin Source File + +SOURCE=.\deflate.h +# End Source File +# Begin Source File + +SOURCE=.\gzio.c +# End Source File +# Begin Source File + +SOURCE=.\infback.c +# End Source File +# Begin Source File + +SOURCE=.\inffast.c +# End Source File +# Begin Source File + +SOURCE=.\inffast.h +# End Source File +# Begin Source File + +SOURCE=.\inffixed.h +# End Source File +# Begin Source File + +SOURCE=.\inflate.c +# End Source File +# Begin Source File + +SOURCE=.\inflate.h +# End Source File +# Begin Source File + +SOURCE=.\inftrees.c +# End Source File +# Begin Source File + +SOURCE=.\inftrees.h +# End Source File +# Begin Source File + +SOURCE=.\inftrees.h +# End Source File +# Begin Source File + +SOURCE=.\trees.c +# End Source File +# Begin Source File + +SOURCE=.\trees.h +# End Source File +# Begin Source File + +SOURCE=.\uncompr.c +# End Source File +# Begin Source File + +SOURCE=.\zconf.h +# End Source File +# Begin Source File + +SOURCE=.\zlib.h +# End Source File +# Begin Source File + +SOURCE=.\zutil.c +# End Source File +# Begin Source File + +SOURCE=.\zutil.h +# End Source File +# End Target +# End Project diff --git a/bdb/dist/s_java b/bdb/dist/s_java index f3c856d0532..f7c96e823a1 100755 --- a/bdb/dist/s_java +++ b/bdb/dist/s_java @@ -5,7 +5,7 @@ msgjava="/* DO NOT EDIT: automatically built by dist/s_java. */" -. RELEASE +. ./RELEASE t=/tmp/__java c=/tmp/__javajnic diff --git a/bdb/dist/s_javah b/bdb/dist/s_javah index 480856e4b5c..67c41d09c4d 100755 --- a/bdb/dist/s_javah +++ b/bdb/dist/s_javah @@ -8,7 +8,7 @@ # Using Sun's JDK rather than some other installation ensures # that the header files will not be constantly changed. -. RELEASE +. ./RELEASE JAVAC=javac JAVAH=javah diff --git a/bdb/dist/s_readme b/bdb/dist/s_readme index 229a152b8a9..1da9f9681c0 100755 --- a/bdb/dist/s_readme +++ b/bdb/dist/s_readme @@ -8,7 +8,7 @@ d=.. t=/tmp/__t trap 'rm -f $t; exit 0' 0 1 2 3 13 15 -. RELEASE +. ./RELEASE cat << END_OF_README>$t $DB_VERSION_STRING diff --git a/bdb/dist/s_test b/bdb/dist/s_test index 266f27a743f..16f3b9712d0 100755 --- a/bdb/dist/s_test +++ b/bdb/dist/s_test @@ -9,7 +9,7 @@ msg2="# Automatically built by dist/s_test; may require local editing." t=/tmp/__t trap 'rm -f $t; exit 0' 0 1 2 3 13 15 -. RELEASE +. ./RELEASE (echo "$msg1" && \ echo "" && \ diff --git a/bdb/dist/s_vxworks b/bdb/dist/s_vxworks index b7cf785f78b..05c2599d02c 100644 --- a/bdb/dist/s_vxworks +++ b/bdb/dist/s_vxworks @@ -5,7 +5,7 @@ msgc="/* DO NOT EDIT: automatically built by dist/s_vxworks. */" -. RELEASE +. ./RELEASE s=/tmp/__db_a t=/tmp/__db_b diff --git a/bdb/dist/s_win32 b/bdb/dist/s_win32 index 78814ababa1..207978b82bb 100755 --- a/bdb/dist/s_win32 +++ b/bdb/dist/s_win32 @@ -6,7 +6,7 @@ msgc="/* DO NOT EDIT: automatically built by dist/s_win32. */" msgw="; DO NOT EDIT: automatically built by dist/s_win32." -. RELEASE +. ./RELEASE s=/tmp/__db_a$$ t=/tmp/__db_b$$ diff --git a/bdb/dist/s_win32_dsp b/bdb/dist/s_win32_dsp index 3b0bef831ba..af5551ec248 100644 --- a/bdb/dist/s_win32_dsp +++ b/bdb/dist/s_win32_dsp @@ -3,7 +3,7 @@ # # Build Windows/32 .dsp files. -. RELEASE +. ./RELEASE BUILDDIR=../build_win32 SRCFILES=srcfiles.in @@ -35,7 +35,9 @@ create_dsp() -e "s/@srcfile@/$srcfile/g" \ < $srctemplate >> $dspoutput.insert done - sed -e "/@SOURCE_FILES@/r$dspoutput.insert" \ + # We need exactly one space after the 'r' modifier + # See 5.9 in http://www.student.northpark.edu/pemente/sed/sedfaq.txt + sed -e "/@SOURCE_FILES@/r $dspoutput.insert" \ -e "/@SOURCE_FILES@/d" \ -e "s/@project_name@/$projname/g" \ -e "s/@DB_VERSION_MAJOR@/$DB_VERSION_MAJOR/g" \ diff --git a/client/mysql.cc b/client/mysql.cc index babb6600ac4..16b26cd745d 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -739,7 +739,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), strmov(delimiter, DEFAULT_DELIMITER); else strmake(delimiter, argument, sizeof(delimiter) - 1); - delimiter_length= strlen(delimiter); + delimiter_length= (uint)strlen(delimiter); delimiter_str= delimiter; break; case OPT_LOCAL_INFILE: @@ -1680,7 +1680,7 @@ static int com_server_help(String *buffer __attribute__((unused)), if (!connected && reconnect()) return 1; - if ((error= mysql_real_query_for_lazy(server_cmd,strlen(server_cmd))) || + if ((error= mysql_real_query_for_lazy(server_cmd,(int)strlen(server_cmd))) || (error= mysql_store_result_for_lazy(&result))) return error; @@ -1766,7 +1766,7 @@ com_help(String *buffer __attribute__((unused)), for (i = 0; commands[i].name; i++) { end= strmov(buff, commands[i].name); - for (j= strlen(commands[i].name); j < 10; j++) + for (j= (int)strlen(commands[i].name); j < 10; j++) end= strmov(end, " "); if (commands[i].func) tee_fprintf(stdout, "%s(\\%c) %s\n", buff, @@ -2143,7 +2143,7 @@ print_table_data_xml(MYSQL_RES *result) mysql_field_seek(result,0); tee_fputs("\n\n", PAGER); fields = mysql_fetch_fields(result); @@ -2630,7 +2630,7 @@ com_delimiter(String *buffer __attribute__((unused)), char *line) return 0; } strmake(delimiter, tmp, sizeof(delimiter) - 1); - delimiter_length= strlen(delimiter); + delimiter_length= (int)strlen(delimiter); delimiter_str= delimiter; return 0; } @@ -2640,8 +2640,6 @@ static int com_use(String *buffer __attribute__((unused)), char *line) { char *tmp, buff[FN_REFLEN + 1]; - MYSQL_RES *res; - MYSQL_ROW row; bzero(buff, sizeof(buff)); strmov(buff, line); diff --git a/client/mysqldump.c b/client/mysqldump.c index 4ba64009334..7d357b25541 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -1084,6 +1084,7 @@ static void print_xml_row(FILE *xml_file, const char *row_name, check_io(xml_file); } + /* getStructure -- retrievs database structure, prints out corresponding CREATE statement and fills out insert_pat. @@ -1813,7 +1814,7 @@ static void dumpTable(uint numFields, char *table) char *ptr= row[i], *end= ptr+ lengths[i]; fputs("0x", md_result_file); for (; ptr < end ; ptr++) - fprintf(md_result_file, "%02X", *ptr); + fprintf(md_result_file, "%02X", *((uchar *)ptr)); } else unescape(md_result_file, row[i], lengths[i]); diff --git a/client/readline.cc b/client/readline.cc index 52ecb4e5c68..3d524633d69 100644 --- a/client/readline.cc +++ b/client/readline.cc @@ -108,7 +108,7 @@ init_line_buffer(LINE_BUFFER *buffer,File file,ulong size,ulong max_buffer) */ static bool init_line_buffer_from_string(LINE_BUFFER *buffer,my_string str) { - uint old_length=buffer->end - buffer->buffer; + uint old_length=(uint)(buffer->end - buffer->buffer); uint length= (uint) strlen(str); if (!(buffer->buffer= buffer->start_of_line= buffer->end_of_line= (char*)my_realloc(buffer->buffer, old_length+length+2, diff --git a/client/sql_string.cc b/client/sql_string.cc index 7de0df02f53..9dcf19dad1d 100644 --- a/client/sql_string.cc +++ b/client/sql_string.cc @@ -544,7 +544,7 @@ int String::reserve(uint32 space_needed, uint32 grow_by) void String::qs_append(const char *str) { - int len = strlen(str); + int len = (int)strlen(str); memcpy(Ptr + str_length, str, len + 1); str_length += len; } @@ -553,7 +553,7 @@ void String::qs_append(double d) { char *buff = Ptr + str_length; sprintf(buff,"%.14g", d); - str_length += strlen(buff); + str_length += (int)strlen(buff); } void String::qs_append(double *d) diff --git a/configure.in b/configure.in index 279af3c719b..12f9d26d131 100644 --- a/configure.in +++ b/configure.in @@ -1816,7 +1816,13 @@ AC_PROG_GCC_TRADITIONAL AC_TYPE_SIGNAL AC_CHECK_FUNCS(re_comp regcomp strdup) -AC_CHECK_HEADERS(vis.h) +dnl Sun compilers have their own vis.h that is about something +dnl totally different. So, not to change the libedit source, we +dnl do some additional checks before we define HAVE_VIS_H. +AC_CHECK_HEADER(vis.h, + [AC_CHECK_FUNC(strvis, + [AC_DEFINE([HAVE_VIS_H], [1],[Found vis.h and the strvis() function])])]) + AC_CHECK_FUNCS(strlcat strlcpy) AC_CHECK_FUNCS(issetugid) AC_CHECK_FUNCS(fgetln) diff --git a/heap/hp_create.c b/heap/hp_create.c index 17aa92c9201..55b8e1e2a33 100644 --- a/heap/hp_create.c +++ b/heap/hp_create.c @@ -168,6 +168,8 @@ int heap_create(const char *name, uint keys, HP_KEYDEF *keydef, keyinfo->write_key= hp_write_key; keyinfo->hash_buckets= 0; } + if ((keyinfo->flag & HA_AUTO_KEY) && create_info->with_auto_increment) + share->auto_key= i + 1; } share->min_records= min_records; share->max_records= max_records; @@ -178,7 +180,6 @@ int heap_create(const char *name, uint keys, HP_KEYDEF *keydef, share->keys= keys; share->max_key_length= max_length; share->changed= 0; - share->auto_key= create_info->auto_key; share->auto_key_type= create_info->auto_key_type; share->auto_increment= create_info->auto_increment; /* Must be allocated separately for rename to work */ diff --git a/include/heap.h b/include/heap.h index ac2b38d1f2d..51f7b0cfa6a 100644 --- a/include/heap.h +++ b/include/heap.h @@ -183,10 +183,10 @@ typedef struct st_heap_info typedef struct st_heap_create_info { - uint auto_key; uint auto_key_type; ulong max_table_size; ulonglong auto_increment; + my_bool with_auto_increment; } HP_CREATE_INFO; /* Prototypes for heap-functions */ diff --git a/include/my_global.h b/include/my_global.h index e9470ac48aa..2601c53bb92 100644 --- a/include/my_global.h +++ b/include/my_global.h @@ -120,6 +120,21 @@ #define __STDC_EXT__ 1 /* To get large file support on hpux */ #endif +/* + Solaris include file refers to X/Open document + + System Interfaces and Headers, Issue 5 + + saying we should define _XOPEN_SOURCE=500 to get POSIX.1c prototypes + but apparently other systems (namely FreeBSD) don't agree. + Furthermore X/Open has since 2004 "System Interfaces, Issue 6" + that dictates _XOPEN_SOURCE=600, but Solaris checks for 500. + So, let's define 500 for solaris only. +*/ +#ifdef __sun +#define _XOPEN_SOURCE 500 +#endif + #if defined(THREAD) && !defined(__WIN__) && !defined(OS2) #ifndef _POSIX_PTHREAD_SEMANTICS #define _POSIX_PTHREAD_SEMANTICS /* We want posix threads */ diff --git a/include/my_sys.h b/include/my_sys.h index ce785b58da4..afd2803b75d 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -812,7 +812,7 @@ my_bool my_gethwaddr(uchar *to); /* qnx ? */ #define my_getpagesize() 8192 #endif -#define my_munmap(a,b) munmap((char*)(a),(b)) +#define my_munmap(a,b) munmap((a),(b)) #else /* not a complete set of mmap() flags, but only those that nesessary */ diff --git a/innobase/btr/btr0btr.c b/innobase/btr/btr0btr.c index 4fb930da50f..1744fc36f4d 100644 --- a/innobase/btr/btr0btr.c +++ b/innobase/btr/btr0btr.c @@ -567,8 +567,9 @@ btr_page_get_father_for_rec( btr_cur_t cursor; rec_t* node_ptr; dict_index_t* index; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(mtr_memo_contains(mtr, dict_tree_get_lock(tree), MTR_MEMO_X_LOCK)); @@ -2098,7 +2099,8 @@ btr_compress( btr_node_ptr_delete(tree, page, mtr); } else { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; /* Replace the address of the old child node (= page) with the address of the merge page to the right */ @@ -2387,9 +2389,9 @@ btr_print_tree( mtr_t mtr; page_t* root; mem_heap_t* heap = NULL; - ulint offsets_[100] - = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; fputs("--------------------------\n" "INDEX TREE PRINT\n", stderr); @@ -2489,9 +2491,9 @@ btr_index_rec_validate( ulint i; page_t* page; mem_heap_t* heap = NULL; - ulint offsets_[100] - = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; page = buf_frame_align(rec); diff --git a/innobase/btr/btr0cur.c b/innobase/btr/btr0cur.c index 91ba47224ef..e093c911f22 100644 --- a/innobase/btr/btr0cur.c +++ b/innobase/btr/btr0cur.c @@ -275,8 +275,9 @@ btr_cur_search_to_nth_level( btr_search_t* info; #endif mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; /* Currently, PAGE_CUR_LE is the only search mode used for searches ending to upper levels */ @@ -578,8 +579,9 @@ btr_cur_open_at_index_side( ulint estimate; ulint savepoint; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; estimate = latch_mode & BTR_ESTIMATE; latch_mode = latch_mode & ~BTR_ESTIMATE; @@ -703,8 +705,9 @@ btr_cur_open_at_rnd_pos( ulint height; rec_t* node_ptr; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; tree = index->tree; @@ -1252,7 +1255,9 @@ btr_cur_upd_lock_and_undo( if (!(flags & BTR_NO_LOCKING_FLAG)) { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + err = lock_clust_rec_modify_check_and_lock(flags, rec, index, rec_get_offsets(rec, index, offsets_, ULINT_UNDEFINED, &heap), thr); @@ -1426,8 +1431,9 @@ btr_cur_update_in_place( trx_t* trx; ibool was_delete_marked; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; rec = btr_cur_get_rec(cursor); index = cursor->index; @@ -2065,7 +2071,9 @@ btr_cur_parse_del_mark_set_clust_rec( if (!(flags & BTR_KEEP_SYS_FLAG)) { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + row_upd_rec_sys_fields_in_recovery(rec, rec_get_offsets(rec, index, offsets_, ULINT_UNDEFINED, &heap), @@ -2109,8 +2117,9 @@ btr_cur_del_mark_set_clust_rec( rec_t* rec; trx_t* trx; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; rec = btr_cur_get_rec(cursor); index = cursor->index; @@ -2399,9 +2408,10 @@ btr_cur_optimistic_delete( ulint max_ins_size; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; ibool no_compress_needed; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(mtr_memo_contains(mtr, buf_block_align(btr_cur_get_page(cursor)), MTR_MEMO_PAGE_X_FIX)); @@ -2803,10 +2813,12 @@ btr_estimate_number_of_different_key_vals( ulint add_on; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets1_[100] = { 100, }; - ulint offsets2_[100] = { 100, }; + ulint offsets1_[REC_OFFS_NORMAL_SIZE]; + ulint offsets2_[REC_OFFS_NORMAL_SIZE]; ulint* offsets1 = offsets1_; ulint* offsets2 = offsets2_; + *offsets1_ = (sizeof offsets1_) / sizeof *offsets1_; + *offsets2_ = (sizeof offsets2_) / sizeof *offsets2_; n_cols = dict_index_get_n_unique(index); diff --git a/innobase/btr/btr0sea.c b/innobase/btr/btr0sea.c index dc712f650e7..97fdce2df75 100644 --- a/innobase/btr/btr0sea.c +++ b/innobase/btr/btr0sea.c @@ -420,7 +420,8 @@ btr_search_update_hash_ref( && (block->curr_n_bytes == info->n_bytes) && (block->curr_side == info->side)) { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; rec = btr_cur_get_rec(cursor); @@ -552,9 +553,10 @@ btr_search_check_guess( ulint bytes; int cmp; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; ibool success = FALSE; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; n_unique = dict_index_get_n_unique_in_tree(cursor->index); @@ -1098,8 +1100,9 @@ btr_search_build_page_hash_index( rec_t** recs; ulint i; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(index); @@ -1341,8 +1344,9 @@ btr_search_update_hash_on_delete( ulint fold; dulint tree_id; ibool found; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; mem_heap_t* heap = NULL; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; rec = btr_cur_get_rec(cursor); @@ -1452,8 +1456,9 @@ btr_search_update_hash_on_insert( ulint side; ibool locked = FALSE; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; table = btr_search_sys->hash_index; @@ -1591,8 +1596,9 @@ btr_search_validate(void) ibool ok = TRUE; ulint i; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; rw_lock_x_lock(&btr_search_latch); diff --git a/innobase/buf/buf0flu.c b/innobase/buf/buf0flu.c index a0ca614d9b3..592ed972376 100644 --- a/innobase/buf/buf0flu.c +++ b/innobase/buf/buf0flu.c @@ -115,7 +115,15 @@ buf_flush_ready_for_replace( #ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(buf_pool->mutex))); #endif /* UNIV_SYNC_DEBUG */ - ut_a(block->state == BUF_BLOCK_FILE_PAGE); + if (block->state != BUF_BLOCK_FILE_PAGE) { + ut_print_timestamp(stderr); + fprintf(stderr, +" InnoDB: Error: buffer block state %lu in the LRU list!\n", + (ulong)block->state); + ut_print_buf(stderr, (byte*)block, sizeof(buf_block_t)); + + return(FALSE); + } if ((ut_dulint_cmp(block->oldest_modification, ut_dulint_zero) > 0) || (block->buf_fix_count != 0) diff --git a/innobase/buf/buf0lru.c b/innobase/buf/buf0lru.c index 8460a049d3e..18c4f8c10fb 100644 --- a/innobase/buf/buf0lru.c +++ b/innobase/buf/buf0lru.c @@ -878,11 +878,11 @@ buf_LRU_block_remove_hashed_page( (ulong) block->offset); if (buf_page_hash_get(block->space, block->offset)) { fprintf(stderr, -"InnoDB: From hash table we find block %lx of %lu %lu which is not %lx\n", - (ulong) buf_page_hash_get(block->space, block->offset), +"InnoDB: From hash table we find block %p of %lu %lu which is not %p\n", + buf_page_hash_get(block->space, block->offset), (ulong) buf_page_hash_get(block->space, block->offset)->space, (ulong) buf_page_hash_get(block->space, block->offset)->offset, - (ulong) block); + block); } #ifdef UNIV_DEBUG diff --git a/innobase/dict/dict0crea.c b/innobase/dict/dict0crea.c index fda09feca6f..1f12386e413 100644 --- a/innobase/dict/dict0crea.c +++ b/innobase/dict/dict0crea.c @@ -63,8 +63,8 @@ dict_create_sys_tables_tuple( dfield = dtuple_get_nth_field(entry, 2); ptr = mem_heap_alloc(heap, 4); - mach_write_to_4(ptr, table->n_def); - + mach_write_to_4(ptr, table->n_def + | ((ulint) table->comp << 31)); dfield_set_data(dfield, ptr, 4); /* 5: TYPE -----------------------------*/ dfield = dtuple_get_nth_field(entry, 3); @@ -82,21 +82,10 @@ dict_create_sys_tables_tuple( dfield_set_data(dfield, ptr, 8); /* 7: MIX_LEN --------------------------*/ - /* Track corruption reported on mailing list Jan 14, 2005 */ - if (table->mix_len != 0 && table->mix_len != 0x80000000) { - fprintf(stderr, -"InnoDB: Error: mix_len is %lu in table %s\n", (ulong)table->mix_len, - table->name); - mem_analyze_corruption((byte*)&(table->mix_len)); - - ut_error; - } - dfield = dtuple_get_nth_field(entry, 5); ptr = mem_heap_alloc(heap, 4); - mach_write_to_4(ptr, (table->mix_len & 0x7fffffff) | - ((ulint) table->comp << 31)); + mach_write_to_4(ptr, table->mix_len); dfield_set_data(dfield, ptr, 4); /* 8: CLUSTER_NAME ---------------------*/ diff --git a/innobase/dict/dict0dict.c b/innobase/dict/dict0dict.c index e2681369a8e..02f46ea7b18 100644 --- a/innobase/dict/dict0dict.c +++ b/innobase/dict/dict0dict.c @@ -2326,8 +2326,9 @@ dict_scan_to( /* Outside quotes: look for the keyword. */ ulint i; for (i = 0; string[i]; i++) { - if (toupper((ulint)(ptr[i])) - != toupper((ulint)(string[i]))) { + if (toupper((int)(unsigned char)(ptr[i])) + != toupper((int)(unsigned char) + (string[i]))) { goto nomatch; } } diff --git a/innobase/dict/dict0load.c b/innobase/dict/dict0load.c index 1f4ebe810b4..289b5dab4f2 100644 --- a/innobase/dict/dict0load.c +++ b/innobase/dict/dict0load.c @@ -730,7 +730,6 @@ dict_load_table( ulint space; ulint n_cols; ulint err; - ulint mix_len; mtr_t mtr; #ifdef UNIV_SYNC_DEBUG @@ -770,7 +769,6 @@ dict_load_table( /* Check if the table name in record is the searched one */ if (len != ut_strlen(name) || ut_memcmp(name, field, len) != 0) { - btr_pcur_close(&pcur); mtr_commit(&mtr); mem_heap_free(heap); @@ -778,40 +776,6 @@ dict_load_table( return(NULL); } - /* Track a corruption bug reported on the MySQL mailing list Jan 14, - 2005: mix_len had a value different from 0 */ - - field = rec_get_nth_field_old(rec, 7, &len); - ut_a(len == 4); - - mix_len = mach_read_from_4(field); - - if (mix_len != 0 && mix_len != 0x80000000) { - ut_print_timestamp(stderr); - - fprintf(stderr, - " InnoDB: table %s has a nonsensical mix len %lu\n", - name, (ulong)mix_len); - } - -#ifndef UNIV_HOTBACKUP -#if MYSQL_VERSION_ID < 50003 - /* Starting from MySQL 5.0.3, the high-order bit of MIX_LEN is the - "compact format" flag. */ - field = rec_get_nth_field(rec, 7, &len); - if (mach_read_from_1(field) & 0x80) { - btr_pcur_close(&pcur); - mtr_commit(&mtr); - mem_heap_free(heap); - ut_print_timestamp(stderr); - fprintf(stderr, - " InnoDB: table %s is in the new compact format\n" - "InnoDB: of MySQL 5.0.3 or later\n", name); - return(NULL); - } -#endif /* MYSQL_VERSION_ID < 50300 */ -#endif /* !UNIV_HOTBACKUP */ - ut_a(0 == ut_strcmp("SPACE", dict_field_get_col( dict_index_get_nth_field(sys_index, 9))->name)); @@ -853,8 +817,10 @@ dict_load_table( field = rec_get_nth_field_old(rec, 4, &len); n_cols = mach_read_from_4(field); - /* table->comp will be initialized later, in this function */ - table = dict_mem_table_create(name, space, n_cols, FALSE); + /* The high-order bit of N_COLS is the "compact format" flag. */ + table = dict_mem_table_create(name, space, + n_cols & ~0x80000000UL, + !!(n_cols & 0x80000000UL)); table->ibd_file_missing = ibd_file_missing; @@ -879,14 +845,12 @@ dict_load_table( #endif } - /* The high-order bit of MIX_LEN is the "compact format" flag */ - field = rec_get_nth_field_old(rec, 7, &len); - table->comp = !!(mach_read_from_1(field) & 0x80); - if ((table->type == DICT_TABLE_CLUSTER) || (table->type == DICT_TABLE_CLUSTER_MEMBER)) { - table->mix_len = mach_read_from_4(field) & 0x7fffffff; + field = rec_get_nth_field_old(rec, 7, &len); + ut_a(len == 4); + table->mix_len = mach_read_from_4(field); } btr_pcur_close(&pcur); diff --git a/innobase/eval/eval0proc.c b/innobase/eval/eval0proc.c index f710fed880f..50676e4f3fc 100644 --- a/innobase/eval/eval0proc.c +++ b/innobase/eval/eval0proc.c @@ -161,7 +161,7 @@ for_step( { for_node_t* node; que_node_t* parent; - int loop_var_value; + lint loop_var_value; ut_ad(thr); diff --git a/innobase/fil/fil0fil.c b/innobase/fil/fil0fil.c index 3ff70aece5e..74970648c1a 100644 --- a/innobase/fil/fil0fil.c +++ b/innobase/fil/fil0fil.c @@ -2621,12 +2621,12 @@ fil_open_single_table_tablespace( fputs("!\n" "InnoDB: Have you moved InnoDB .ibd files around without using the\n" "InnoDB: commands DISCARD TABLESPACE and IMPORT TABLESPACE?\n" -"InnoDB: It is also possible that this is a table created with\n" -"InnoDB: CREATE TEMPORARY TABLE, and MySQL removed the .ibd file for this.\n" +"InnoDB: It is also possible that this is a temporary table #sql...,\n" +"InnoDB: and MySQL removed the .ibd file for this.\n" "InnoDB: Please refer to\n" "InnoDB:" " http://dev.mysql.com/doc/mysql/en/InnoDB_troubleshooting_datadict.html\n" -"InnoDB: how to resolve the issue.\n", stderr); +"InnoDB: for how to resolve the issue.\n", stderr); mem_free(filepath); @@ -2666,7 +2666,7 @@ fil_open_single_table_tablespace( "InnoDB: Please refer to\n" "InnoDB:" " http://dev.mysql.com/doc/mysql/en/InnoDB_troubleshooting_datadict.html\n" -"InnoDB: how to resolve the issue.\n", (ulong) space_id, (ulong) id); +"InnoDB: for how to resolve the issue.\n", (ulong) space_id, (ulong) id); ret = FALSE; @@ -3261,7 +3261,7 @@ fil_space_for_table_exists_in_mem( ut_print_filename(stderr, name); fprintf(stderr, "\n" "InnoDB: in InnoDB data dictionary has tablespace id %lu,\n" -"InnoDB: but tablespace with that id does not exist. There is\n" +"InnoDB: but a tablespace with that id does not exist. There is\n" "InnoDB: a tablespace of name %s and id %lu, though. Have\n" "InnoDB: you deleted or moved .ibd files?\n", (ulong) id, namespace->name, @@ -3272,7 +3272,7 @@ fil_space_for_table_exists_in_mem( "InnoDB: Please refer to\n" "InnoDB:" " http://dev.mysql.com/doc/mysql/en/InnoDB_troubleshooting_datadict.html\n" -"InnoDB: how to resolve the issue.\n", stderr); +"InnoDB: for how to resolve the issue.\n", stderr); mem_free(path); mutex_exit(&(system->mutex)); @@ -3286,7 +3286,7 @@ fil_space_for_table_exists_in_mem( ut_print_filename(stderr, name); fprintf(stderr, "\n" "InnoDB: in InnoDB data dictionary has tablespace id %lu,\n" -"InnoDB: but tablespace with that id has name %s.\n" +"InnoDB: but the tablespace with that id has name %s.\n" "InnoDB: Have you deleted or moved .ibd files?\n", (ulong) id, space->name); if (namespace != NULL) { diff --git a/innobase/include/data0type.h b/innobase/include/data0type.h index 174665ca1fa..b5120e22041 100644 --- a/innobase/include/data0type.h +++ b/innobase/include/data0type.h @@ -24,7 +24,11 @@ extern dtype_t* dtype_binary; /*-------------------------------------------*/ /* The 'MAIN TYPE' of a column */ #define DATA_VARCHAR 1 /* character varying of the - latin1_swedish_ci charset-collation */ + latin1_swedish_ci charset-collation; note + that the MySQL format for this, DATA_BINARY, + DATA_VARMYSQL, is also affected by whether the + 'precise type' contains + DATA_MYSQL_TRUE_VARCHAR */ #define DATA_CHAR 2 /* fixed length character of the latin1_swedish_ci charset-collation */ #define DATA_FIXBINARY 3 /* binary string of fixed length */ @@ -102,6 +106,8 @@ columns, and for them the precise type is usually not used at all. #define DATA_MYSQL_TYPE_MASK 255 /* AND with this mask to extract the MySQL type from the precise type */ +#define DATA_MYSQL_TRUE_VARCHAR 15 /* MySQL type code for the >= 5.0.3 + format true VARCHAR */ /* Precise data types for system columns and the length of those columns; NOTE: the values must run from 0 up in the order given! All codes must @@ -134,6 +140,10 @@ be less than 256 */ In earlier versions this was set for some BLOB columns. */ +#define DATA_LONG_TRUE_VARCHAR 4096 /* this is ORed to the precise data + type when the column is true VARCHAR where + MySQL uses 2 bytes to store the data len; + for shorter VARCHARs MySQL uses only 1 byte */ /*-------------------------------------------*/ /* This many bytes we need to store the type information affecting the @@ -144,6 +154,15 @@ SQL null*/ store the charset-collation number; one byte is left unused, though */ #define DATA_NEW_ORDER_NULL_TYPE_BUF_SIZE 6 +/************************************************************************* +Gets the MySQL type code from a dtype. */ +UNIV_INLINE +ulint +dtype_get_mysql_type( +/*=================*/ + /* out: MySQL type code; this is NOT an InnoDB + type code! */ + dtype_t* type); /* in: type struct */ /************************************************************************* Determine how many bytes the first n characters of the given string occupy. If the string is shorter than n characters, returns the number of bytes diff --git a/innobase/include/data0type.ic b/innobase/include/data0type.ic index e63dde98974..bf04e1c9b27 100644 --- a/innobase/include/data0type.ic +++ b/innobase/include/data0type.ic @@ -32,6 +32,19 @@ dtype_get_charset_coll( return((prtype >> 16) & 0xFFUL); } +/************************************************************************* +Gets the MySQL type code from a dtype. */ +UNIV_INLINE +ulint +dtype_get_mysql_type( +/*=================*/ + /* out: MySQL type code; this is NOT an InnoDB + type code! */ + dtype_t* type) /* in: type struct */ +{ + return(type->prtype & 0xFFUL); +} + /************************************************************************* Sets the mbminlen and mbmaxlen members of a data type structure. */ UNIV_INLINE diff --git a/innobase/include/mem0mem.ic b/innobase/include/mem0mem.ic index 714c30e3642..82d88099c3f 100644 --- a/innobase/include/mem0mem.ic +++ b/innobase/include/mem0mem.ic @@ -606,7 +606,7 @@ mem_strdupq( char* dst; char* d; const char* s = str; - int len = strlen(str) + 3; + size_t len = strlen(str) + 3; /* calculate the number of quote characters in the string */ while((s = strchr(s, q)) != NULL) { s++; diff --git a/innobase/include/page0page.ic b/innobase/include/page0page.ic index ac6b0263a7d..bc0805ca30c 100644 --- a/innobase/include/page0page.ic +++ b/innobase/include/page0page.ic @@ -549,10 +549,10 @@ page_rec_get_next( "InnoDB: Next record offset is nonsensical %lu in record at offset %lu\n", (ulong)offs, (ulong)(rec - page)); fprintf(stderr, -"\nInnoDB: rec address %lx, first buffer frame %lx\n" -"InnoDB: buffer pool high end %lx, buf fix count %lu\n", - (ulong)rec, (ulong)buf_pool->frame_zero, - (ulong)buf_pool->high_end, +"\nInnoDB: rec address %p, first buffer frame %p\n" +"InnoDB: buffer pool high end %p, buf fix count %lu\n", + rec, buf_pool->frame_zero, + buf_pool->high_end, (ulong)buf_block_align(rec)->buf_fix_count); buf_page_print(page); diff --git a/innobase/include/pars0pars.h b/innobase/include/pars0pars.h index 28985e2f9d0..62a41a881e8 100644 --- a/innobase/include/pars0pars.h +++ b/innobase/include/pars0pars.h @@ -414,7 +414,7 @@ pars_complete_graph_for_exec( /* Struct used to denote a reserved word in a parsing tree */ struct pars_res_word_struct{ - ulint code; /* the token code for the reserved word from + int code; /* the token code for the reserved word from pars0grm.h */ }; diff --git a/innobase/include/pars0sym.h b/innobase/include/pars0sym.h index a40523861dd..633a49e3cb5 100644 --- a/innobase/include/pars0sym.h +++ b/innobase/include/pars0sym.h @@ -152,7 +152,7 @@ struct sym_tab_struct{ parser */ const char* sql_string; /* SQL string to parse */ - int string_len; + size_t string_len; /* SQL string length */ int next_char_pos; /* position of the next character in diff --git a/innobase/include/que0que.h b/innobase/include/que0que.h index 298ec494750..4113e52d425 100644 --- a/innobase/include/que0que.h +++ b/innobase/include/que0que.h @@ -359,7 +359,8 @@ struct que_thr_struct{ the control came */ ulint resource; /* resource usage of the query thread thus far */ - ulint lock_state; /* lock state of thread (table or row) */ + ulint lock_state; /* lock state of thread (table or + row) */ }; #define QUE_THR_MAGIC_N 8476583 diff --git a/innobase/include/rem0rec.h b/innobase/include/rem0rec.h index 6721fa85f16..134c37c8030 100644 --- a/innobase/include/rem0rec.h +++ b/innobase/include/rem0rec.h @@ -36,6 +36,11 @@ in addition to the data and the offsets */ #define REC_STATUS_INFIMUM 2 #define REC_STATUS_SUPREMUM 3 +/* Number of elements that should be initially allocated for the +offsets[] array, first passed to rec_get_offsets() */ +#define REC_OFFS_NORMAL_SIZE 100 +#define REC_OFFS_SMALL_SIZE 10 + /********************************************************** The following function is used to get the offset of the next chained record on the same page. */ diff --git a/innobase/include/row0mysql.h b/innobase/include/row0mysql.h index 48a9d9bc941..e44d689b88b 100644 --- a/innobase/include/row0mysql.h +++ b/innobase/include/row0mysql.h @@ -21,36 +21,6 @@ Created 9/17/2000 Heikki Tuuri typedef struct row_prebuilt_struct row_prebuilt_t; -/*********************************************************************** -Stores a variable-length field (like VARCHAR) length to dest, in the -MySQL format. */ -UNIV_INLINE -byte* -row_mysql_store_var_len( -/*====================*/ - /* out: dest + 2 */ - byte* dest, /* in: where to store */ - ulint len); /* in: length, must fit in two bytes */ -/*********************************************************************** -Reads a MySQL format variable-length field (like VARCHAR) length and -returns pointer to the field data. */ -UNIV_INLINE -byte* -row_mysql_read_var_ref( -/*===================*/ - /* out: field + 2 */ - ulint* len, /* out: variable-length field length */ - byte* field); /* in: field */ -/*********************************************************************** -Reads a MySQL format variable-length field (like VARCHAR) length and -returns pointer to the field data. */ - -byte* -row_mysql_read_var_ref_noninline( -/*=============================*/ - /* out: field + 2 */ - ulint* len, /* out: variable-length field length */ - byte* field); /* in: field */ /*********************************************************************** Frees the blob heap in prebuilt when no longer needed. */ @@ -60,6 +30,30 @@ row_mysql_prebuilt_free_blob_heap( row_prebuilt_t* prebuilt); /* in: prebuilt struct of a ha_innobase:: table handle */ /*********************************************************************** +Stores a >= 5.0.3 format true VARCHAR length to dest, in the MySQL row +format. */ + +byte* +row_mysql_store_true_var_len( +/*=========================*/ + /* out: pointer to the data, we skip the 1 or 2 bytes + at the start that are used to store the len */ + byte* dest, /* in: where to store */ + ulint len, /* in: length, must fit in two bytes */ + ulint lenlen);/* in: storage length of len: either 1 or 2 bytes */ +/*********************************************************************** +Reads a >= 5.0.3 format true VARCHAR length, in the MySQL row format, and +returns a pointer to the data. */ + +byte* +row_mysql_read_true_varchar( +/*========================*/ + /* out: pointer to the data, we skip the 1 or 2 bytes + at the start that are used to store the len */ + ulint* len, /* out: variable-length field length */ + byte* field, /* in: field in the MySQL format */ + ulint lenlen);/* in: storage length of len: either 1 or 2 bytes */ +/*********************************************************************** Stores a reference to a BLOB in the MySQL format. */ void @@ -83,24 +77,40 @@ row_mysql_read_blob_ref( ulint col_len); /* in: BLOB reference length (not BLOB length) */ /****************************************************************** -Stores a non-SQL-NULL field given in the MySQL format in the Innobase -format. */ -UNIV_INLINE -void +Stores a non-SQL-NULL field given in the MySQL format in the InnoDB format. +The counterpart of this function is row_sel_field_store_in_mysql_format() in +row0sel.c. */ + +byte* row_mysql_store_col_in_innobase_format( /*===================================*/ - dfield_t* dfield, /* in/out: dfield */ - byte* buf, /* in/out: buffer for the converted - value */ + /* out: up to which byte we used + buf in the conversion */ + dfield_t* dfield, /* in/out: dfield where dtype + information must be already set when + this function is called! */ + byte* buf, /* in/out: buffer for a converted + integer value; this must be at least + col_len long then! */ + ibool row_format_col, /* TRUE if the mysql_data is from + a MySQL row, FALSE if from a MySQL + key value; + in MySQL, a true VARCHAR storage + format differs in a row and in a + key value: in a key value the length + is always stored in 2 bytes! */ byte* mysql_data, /* in: MySQL column value, not SQL NULL; NOTE that dfield may also get a pointer to mysql_data, therefore do not discard this as long as dfield is used! */ - ulint col_len, /* in: MySQL column length */ - ulint type, /* in: data type */ - bool comp, /* in: TRUE=compact format */ - ulint is_unsigned); /* in: != 0 if unsigned integer type */ + ulint col_len, /* in: MySQL column length; NOTE that + this is the storage length of the + column in the MySQL format row, not + necessarily the length of the actual + payload data; if the column is a true + VARCHAR then this is irrelevant */ + ibool comp); /* in: TRUE = compact format */ /******************************************************************** Handles user errors and lock waits detected by the database engine. */ @@ -457,6 +467,16 @@ struct mysql_row_templ_struct { zero if column cannot be NULL */ ulint type; /* column type in Innobase mtype numbers DATA_CHAR... */ + ulint mysql_type; /* MySQL type code; this is always + < 256 */ + ulint mysql_length_bytes; /* if mysql_type + == DATA_MYSQL_TRUE_VARCHAR, this tells + whether we should use 1 or 2 bytes to + store the MySQL true VARCHAR data + length at the start of row in the MySQL + format (NOTE that the MySQL key value + format always uses 2 bytes for the data + len) */ ulint charset; /* MySQL charset-collation code of the column, or zero */ ulint mbminlen; /* minimum length of a char, in bytes, diff --git a/innobase/include/row0mysql.ic b/innobase/include/row0mysql.ic index 910546e298c..aa8a70d8761 100644 --- a/innobase/include/row0mysql.ic +++ b/innobase/include/row0mysql.ic @@ -5,149 +5,3 @@ MySQL interface for Innobase Created 1/23/2001 Heikki Tuuri *******************************************************/ - -/*********************************************************************** -Stores a variable-length field (like VARCHAR) length to dest, in the -MySQL format. No real var implemented in MySQL yet! */ -UNIV_INLINE -byte* -row_mysql_store_var_len( -/*====================*/ - /* out: dest + 2 */ - byte* dest, /* in: where to store */ - ulint len __attribute__((unused))) /* in: length, must fit in two - bytes */ -{ - ut_ad(len < 256 * 256); -/* - mach_write_to_2_little_endian(dest, len); - - return(dest + 2); -*/ - return(dest); /* No real var implemented in MySQL yet! */ -} - -/*********************************************************************** -Reads a MySQL format variable-length field (like VARCHAR) length and -returns pointer to the field data. No real var implemented in MySQL yet! */ -UNIV_INLINE -byte* -row_mysql_read_var_ref( -/*===================*/ - /* out: field + 2 */ - ulint* len, /* out: variable-length field length; does not work - yet! */ - byte* field) /* in: field */ -{ -/* - *len = mach_read_from_2_little_endian(field); - - return(field + 2); -*/ - UT_NOT_USED(len); - - return(field); /* No real var implemented in MySQL yet! */ -} - -/****************************************************************** -Stores a non-SQL-NULL field given in the MySQL format in the Innobase -format. */ -UNIV_INLINE -void -row_mysql_store_col_in_innobase_format( -/*===================================*/ - dfield_t* dfield, /* in/out: dfield */ - byte* buf, /* in/out: buffer for the converted - value; this must be at least col_len - long! */ - byte* mysql_data, /* in: MySQL column value, not - SQL NULL; NOTE that dfield may also - get a pointer to mysql_data, - therefore do not discard this as long - as dfield is used! */ - ulint col_len, /* in: MySQL column length */ - ulint type, /* in: data type */ - bool comp, /* in: TRUE=compact format */ - ulint is_unsigned) /* in: != 0 if unsigned integer type */ -{ - byte* ptr = mysql_data; - - if (type == DATA_INT) { - /* Store integer data in Innobase in a big-endian format, - sign bit negated */ - - ptr = buf + col_len; - - for (;;) { - ptr--; - *ptr = *mysql_data; - if (ptr == buf) { - break; - } - mysql_data++; - } - - if (!is_unsigned) { - *ptr = (byte) (*ptr ^ 128); - } - } else if (type == DATA_VARCHAR || type == DATA_VARMYSQL - || type == DATA_BINARY) { - /* Remove trailing spaces. */ - - /* Handle UCS2 strings differently. */ - ulint mbminlen = dtype_get_mbminlen( - dfield_get_type(dfield)); - ptr = row_mysql_read_var_ref(&col_len, mysql_data); - if (mbminlen == 2) { - /* space=0x0020 */ - /* Trim "half-chars", just in case. */ - col_len &= ~1; - - while (col_len >= 2 && ptr[col_len - 2] == 0x00 - && ptr[col_len - 1] == 0x20) { - col_len -= 2; - } - } else { - ut_a(mbminlen == 1); - /* space=0x20 */ - while (col_len > 0 && ptr[col_len - 1] == 0x20) { - col_len--; - } - } - } else if (comp && type == DATA_MYSQL - && dtype_get_mbminlen(dfield_get_type(dfield)) == 1 - && dtype_get_mbmaxlen(dfield_get_type(dfield)) > 1) { - /* We assume that this CHAR field is encoded in a - variable-length character set where spaces have - 1:1 correspondence to 0x20 bytes, such as UTF-8. - - Consider a CHAR(n) field, a field of n characters. - It will contain between n*mbminlen and n*mbmaxlen bytes. - We will try to truncate it to n bytes by stripping - space padding. If the field contains single-byte - characters only, it will be truncated to n characters. - Consider a CHAR(5) field containing the string ".a " - where "." denotes a 3-byte character represented by - the bytes "$%&". After our stripping, the string will - be stored as "$%&a " (5 bytes). The string ".abc " - will be stored as "$%&abc" (6 bytes). - - The space padding will be restored in row0sel.c, function - row_sel_field_store_in_mysql_format(). */ - - ulint n_chars; - dtype_t* dtype = dfield_get_type(dfield); - - ut_a(!(dtype_get_len(dtype) % dtype_get_mbmaxlen(dtype))); - n_chars = dtype_get_len(dtype) / dtype_get_mbmaxlen(dtype); - - /* Strip space padding. */ - while (col_len > n_chars && ptr[col_len - 1] == 0x20) { - col_len--; - } - } else if (type == DATA_BLOB) { - ptr = row_mysql_read_blob_ref(&col_len, mysql_data, col_len); - } - - dfield_set_data(dfield, ptr, col_len); -} diff --git a/innobase/include/trx0trx.h b/innobase/include/trx0trx.h index 61d372a824a..9db69261468 100644 --- a/innobase/include/trx0trx.h +++ b/innobase/include/trx0trx.h @@ -369,6 +369,11 @@ struct trx_struct{ XID xid; /* X/Open XA transaction identification to identify a transaction branch */ + ibool support_xa; /* normally we do the XA two-phase + commit steps, but by setting this to + FALSE, one can save CPU time and about + 150 bytes in the undo log size as then + we skip XA steps */ dulint no; /* transaction serialization number == max trx id when the transaction is moved to COMMITTED_IN_MEMORY state */ diff --git a/innobase/lock/lock0lock.c b/innobase/lock/lock0lock.c index a2560c1faae..512f487b3f5 100644 --- a/innobase/lock/lock0lock.c +++ b/innobase/lock/lock0lock.c @@ -4094,8 +4094,9 @@ lock_rec_print( ulint i; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; #ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&kernel_mutex)); @@ -4592,8 +4593,9 @@ lock_rec_validate_page( ulint i; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; #ifdef UNIV_SYNC_DEBUG ut_ad(!mutex_own(&kernel_mutex)); @@ -4841,9 +4843,11 @@ lock_rec_insert_check_and_lock( #ifdef UNIV_DEBUG { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; - const ulint* offsets = rec_get_offsets( - next_rec, index, offsets_, + ulint offsets_[REC_OFFS_NORMAL_SIZE]; + const ulint* offsets; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + + offsets = rec_get_offsets(next_rec, index, offsets_, ULINT_UNDEFINED, &heap); ut_ad(lock_rec_queue_validate(next_rec, index, offsets)); if (heap) { @@ -4988,9 +4992,12 @@ lock_sec_rec_modify_check_and_lock( #ifdef UNIV_DEBUG { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; - const ulint* offsets = rec_get_offsets( - rec, index, offsets_, ULINT_UNDEFINED, &heap); + ulint offsets_[REC_OFFS_NORMAL_SIZE]; + const ulint* offsets; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + + offsets = rec_get_offsets(rec, index, offsets_, + ULINT_UNDEFINED, &heap); ut_ad(lock_rec_queue_validate(rec, index, offsets)); if (heap) { mem_heap_free(heap); @@ -5159,9 +5166,10 @@ lock_clust_rec_read_check_and_lock_alt( que_thr_t* thr) /* in: query thread */ { mem_heap_t* tmp_heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; ulint ret; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; offsets = rec_get_offsets(rec, index, offsets, ULINT_UNDEFINED, &tmp_heap); diff --git a/innobase/log/log0log.c b/innobase/log/log0log.c index 5915146b466..e8a720e8a88 100644 --- a/innobase/log/log0log.c +++ b/innobase/log/log0log.c @@ -3047,7 +3047,10 @@ loop: mutex_enter(&kernel_mutex); - /* Check that there are no longer transactions */ + /* Check that there are no longer transactions. We need this wait even + for the 'very fast' shutdown, because the InnoDB layer may have + committed or prepared transactions and we don't want to lose them. */ + if (trx_n_mysql_transactions > 0 || UT_LIST_GET_LEN(trx_sys->trx_list) > 0) { @@ -3056,6 +3059,23 @@ loop: goto loop; } + if (srv_very_fast_shutdown) { + /* In a 'very fast' shutdown we do not flush the buffer pool: + it is essentially a 'crash' of the InnoDB server. + Make sure that the log is all flushed to disk, so that + we can recover all committed transactions in a crash + recovery. + In a 'very fast' shutdown we do not flush the buffer pool: + it is essentially a 'crash' of the InnoDB server. Then we must + not write the lsn stamps to the data files, since at a + startup InnoDB deduces from the stamps if the previous + shutdown was clean. */ + + log_buffer_flush_to_disk(); + return; /* We SKIP ALL THE REST !! */ + } + + /* Check that the master thread is suspended */ if (srv_n_threads_active[SRV_MASTER] != 0) { @@ -3092,24 +3112,13 @@ loop: log_archive_all(); #endif /* UNIV_LOG_ARCHIVE */ - if (!srv_very_fast_shutdown) { - /* In a 'very fast' shutdown we do not flush the buffer pool: - it is essentially a 'crash' of the InnoDB server. */ - log_make_checkpoint_at(ut_dulint_max, TRUE); - } else { - /* Make sure that the log is all flushed to disk, so that - we can recover all committed transactions in a crash - recovery */ - log_buffer_flush_to_disk(); - } mutex_enter(&(log_sys->mutex)); lsn = log_sys->lsn; - if ((ut_dulint_cmp(lsn, log_sys->last_checkpoint_lsn) != 0 - && !srv_very_fast_shutdown) + if ((ut_dulint_cmp(lsn, log_sys->last_checkpoint_lsn) != 0) #ifdef UNIV_LOG_ARCHIVE || (srv_log_archive_on && ut_dulint_cmp(lsn, @@ -3158,7 +3167,7 @@ loop: completely flushed to disk! (We do not call fil_write... if the 'very fast' shutdown is enabled.) */ - if (!srv_very_fast_shutdown && !buf_all_freed()) { + if (!buf_all_freed()) { goto loop; } @@ -3181,7 +3190,7 @@ loop: /* Make some checks that the server really is quiet */ ut_a(srv_n_threads_active[SRV_MASTER] == 0); - ut_a(srv_very_fast_shutdown || buf_all_freed()); + ut_a(buf_all_freed()); ut_a(0 == ut_dulint_cmp(lsn, log_sys->lsn)); if (ut_dulint_cmp(lsn, srv_start_lsn) < 0) { @@ -3196,15 +3205,7 @@ loop: srv_shutdown_lsn = lsn; - if (!srv_very_fast_shutdown) { - /* In a 'very fast' shutdown we do not flush the buffer pool: - it is essentially a 'crash' of the InnoDB server. Then we must - not write the lsn stamps to the data files, since at a - startup InnoDB deduces from the stamps if the previous - shutdown was clean. */ - fil_write_flushed_lsn_to_data_files(lsn, arch_log_no); - } fil_flush_file_spaces(FIL_TABLESPACE); @@ -3212,7 +3213,7 @@ loop: /* Make some checks that the server really is quiet */ ut_a(srv_n_threads_active[SRV_MASTER] == 0); - ut_a(srv_very_fast_shutdown || buf_all_freed()); + ut_a(buf_all_freed()); ut_a(0 == ut_dulint_cmp(lsn, log_sys->lsn)); } diff --git a/innobase/log/log0recv.c b/innobase/log/log0recv.c index ac230f6461b..6597122f104 100644 --- a/innobase/log/log0recv.c +++ b/innobase/log/log0recv.c @@ -2608,8 +2608,10 @@ recv_recovery_from_checkpoint_start( a note to the user about it */ fprintf(stderr, - "InnoDB: The log file was created by ibbackup --restore at\n" + "InnoDB: The log file was created by ibbackup --apply-log at\n" "InnoDB: %s\n", log_hdr_buf + LOG_FILE_WAS_CREATED_BY_HOT_BACKUP); + fprintf(stderr, +"InnoDB: NOTE: the following crash recovery is part of a normal restore.\n"); /* Wipe over the label now */ diff --git a/innobase/mem/mem0dbg.c b/innobase/mem/mem0dbg.c index ea8c296f8cf..7c0be818948 100644 --- a/innobase/mem/mem0dbg.c +++ b/innobase/mem/mem0dbg.c @@ -445,7 +445,7 @@ mem_heap_validate_or_print( && (mem_block_get_len(block) > UNIV_PAGE_SIZE)) { fprintf(stderr, -"InnoDB: Error: mem block %lx length %lu > UNIV_PAGE_SIZE\n", (ulong) block, +"InnoDB: Error: mem block %p length %lu > UNIV_PAGE_SIZE\n", block, (ulong) mem_block_get_len(block)); /* error */ diff --git a/innobase/os/os0file.c b/innobase/os/os0file.c index 969f7aee859..eeba98a8ab2 100644 --- a/innobase/os/os0file.c +++ b/innobase/os/os0file.c @@ -2053,8 +2053,8 @@ try_again: ut_ad(buf); ut_ad(n > 0); - low = offset; - high = offset_high; + low = (DWORD) offset; + high = (DWORD) offset_high; /* Protect the seek / read operation with a mutex */ i = ((ulint) file) % OS_FILE_N_SEEK_MUTEXES; @@ -2072,7 +2072,7 @@ try_again: os_n_pending_reads++; - ret = ReadFile(file, buf, n, &len, NULL); + ret = ReadFile(file, buf, (DWORD) n, &len, NULL); os_n_pending_reads--; @@ -2164,8 +2164,8 @@ try_again: ut_ad(buf); ut_ad(n > 0); - low = offset; - high = offset_high; + low = (DWORD) offset; + high = (DWORD) offset_high; /* Protect the seek / read operation with a mutex */ i = ((ulint) file) % OS_FILE_N_SEEK_MUTEXES; @@ -2183,7 +2183,7 @@ try_again: os_n_pending_reads++; - ret = ReadFile(file, buf, n, &len, NULL); + ret = ReadFile(file, buf, (DWORD) n, &len, NULL); os_n_pending_reads--; @@ -2258,8 +2258,8 @@ os_file_write( ut_ad(buf); ut_ad(n > 0); retry: - low = offset; - high = offset_high; + low = (DWORD) offset; + high = (DWORD) offset_high; /* Protect the seek / write operation with a mutex */ i = ((ulint) file) % OS_FILE_N_SEEK_MUTEXES; @@ -2288,7 +2288,7 @@ retry: os_n_pending_writes++; - ret = WriteFile(file, buf, n, &len, NULL); + ret = WriteFile(file, buf, (DWORD) n, &len, NULL); os_n_pending_writes--; @@ -3279,7 +3279,7 @@ os_aio( #ifdef WIN_ASYNC_IO ibool retval; BOOL ret = TRUE; - DWORD len = n; + DWORD len = (DWORD) n; void* dummy_mess1; void* dummy_mess2; ulint dummy_type; @@ -4126,7 +4126,7 @@ loop: if (os_n_file_reads == os_n_file_reads_old) { avg_bytes_read = 0.0; } else { - avg_bytes_read = os_bytes_read_since_printout / + avg_bytes_read = (double) os_bytes_read_since_printout / (os_n_file_reads - os_n_file_reads_old); } diff --git a/innobase/os/os0sync.c b/innobase/os/os0sync.c index c48c44a4c70..18d92af5054 100644 --- a/innobase/os/os0sync.c +++ b/innobase/os/os0sync.c @@ -361,7 +361,7 @@ os_event_wait_time( ut_a(event); if (time != OS_SYNC_INFINITE_TIME) { - err = WaitForSingleObject(event->handle, time / 1000); + err = WaitForSingleObject(event->handle, (DWORD) time / 1000); } else { err = WaitForSingleObject(event->handle, INFINITE); } @@ -408,7 +408,7 @@ os_event_wait_multiple( ut_a(native_event_array); ut_a(n > 0); - index = WaitForMultipleObjects(n, native_event_array, + index = WaitForMultipleObjects((DWORD) n, native_event_array, FALSE, /* Wait for any 1 event */ INFINITE); /* Infinite wait time limit */ diff --git a/innobase/os/os0thread.c b/innobase/os/os0thread.c index 91061bc8459..847d0ee1cc7 100644 --- a/innobase/os/os0thread.c +++ b/innobase/os/os0thread.c @@ -100,7 +100,7 @@ os_thread_create( { #ifdef __WIN__ os_thread_t thread; - ulint win_thread_id; + DWORD win_thread_id; os_mutex_enter(os_sync_mutex); os_thread_count++; @@ -253,7 +253,7 @@ os_thread_sleep( ulint tm) /* in: time in microseconds */ { #ifdef __WIN__ - Sleep(tm / 1000); + Sleep((DWORD) tm / 1000); #elif defined(__NETWARE__) delay(tm / 1000); #else diff --git a/innobase/page/page0cur.c b/innobase/page/page0cur.c index d083cc26069..7738f5a34f0 100644 --- a/innobase/page/page0cur.c +++ b/innobase/page/page0cur.c @@ -59,8 +59,10 @@ page_cur_try_search_shortcut( #endif ibool success = FALSE; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + ut_ad(dtuple_check_typed(tuple)); rec = page_header_get_ptr(page, PAGE_LAST_INSERT); @@ -229,8 +231,9 @@ page_cur_search_with_match( ulint dbg_matched_bytes; #endif mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(page && tuple && iup_matched_fields && iup_matched_bytes && ilow_matched_fields && ilow_matched_bytes && cursor); @@ -517,12 +520,15 @@ page_cur_insert_rec_write_log( { mem_heap_t* heap = NULL; - ulint cur_offs_[100] = { 100, }; - ulint ins_offs_[100] = { 100, }; + ulint cur_offs_[REC_OFFS_NORMAL_SIZE]; + ulint ins_offs_[REC_OFFS_NORMAL_SIZE]; ulint* cur_offs; ulint* ins_offs; + *cur_offs_ = (sizeof cur_offs_) / sizeof *cur_offs_; + *ins_offs_ = (sizeof ins_offs_) / sizeof *ins_offs_; + cur_offs = rec_get_offsets(cursor_rec, index, cur_offs_, ULINT_UNDEFINED, &heap); ins_offs = rec_get_offsets(insert_rec, index, ins_offs_, @@ -671,8 +677,9 @@ page_cur_parse_insert_rec( ulint info_and_status_bits = 0; /* remove warning */ page_cur_t cursor; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; if (!is_short) { /* Read the cursor rec offset as a 2-byte ulint */ @@ -1079,8 +1086,9 @@ page_copy_rec_list_end_to_created_page( ulint log_data_len; ibool comp = page_is_comp(page); mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(page_dir_get_n_heap(new_page) == 2); ut_ad(page != new_page); @@ -1268,8 +1276,9 @@ page_cur_parse_delete_rec( if (page) { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; rec_t* rec = page + offset; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; page_cur_position(rec, &cursor); diff --git a/innobase/page/page0page.c b/innobase/page/page0page.c index b393f0c0ad7..f3217e91f58 100644 --- a/innobase/page/page0page.c +++ b/innobase/page/page0page.c @@ -232,8 +232,9 @@ page_mem_alloc( if (rec) { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; offsets = rec_get_offsets(rec, index, offsets, ULINT_UNDEFINED, &heap); @@ -466,8 +467,9 @@ page_copy_rec_list_end_no_locks( page_cur_t cur2; rec_t* sup; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; page_cur_position(rec, &cur1); @@ -566,8 +568,9 @@ page_copy_rec_list_start( page_cur_t cur2; rec_t* old_end; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; page_cur_set_before_first(page, &cur1); @@ -747,8 +750,9 @@ page_delete_rec_list_end( if ((size == ULINT_UNDEFINED) || (n_recs == ULINT_UNDEFINED)) { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; /* Calculate the sum of sizes and the number of records */ size = 0; n_recs = 0; @@ -831,10 +835,11 @@ page_delete_rec_list_start( { page_cur_t cur1; ulint log_mode; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; mem_heap_t* heap = NULL; byte type; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; if (index->table->comp) { type = MLOG_COMP_LIST_START_DELETE; @@ -1326,8 +1331,9 @@ page_print_list( ulint count; ulint n_recs; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_a(page_is_comp(page) == index->table->comp); @@ -1776,7 +1782,8 @@ page_validate( if (comp && page_rec_is_user_rec(rec) && rec_get_node_ptr_flag(rec) - == !btr_page_get_level_low(page)) { + != (ibool) + (btr_page_get_level_low(page) != 0)) { fputs("InnoDB: node_ptr flag mismatch\n", stderr); goto func_exit; } diff --git a/innobase/rem/rem0cmp.c b/innobase/rem/rem0cmp.c index 193bda75f24..74348b865a8 100644 --- a/innobase/rem/rem0cmp.c +++ b/innobase/rem/rem0cmp.c @@ -322,7 +322,9 @@ cmp_data_data_slow( && dtype_get_charset_coll(cur_type->prtype) != data_mysql_latin1_swedish_charset_coll)) { - return(cmp_whole_field(cur_type, data1, len1, data2, len2)); + return(cmp_whole_field(cur_type, + data1, (unsigned) len1, + data2, (unsigned) len2)); } /* Compare then the fields */ @@ -532,8 +534,9 @@ cmp_dtuple_rec_with_match( ret = cmp_whole_field( cur_type, - dfield_get_data(dtuple_field), dtuple_f_len, - rec_b_ptr, rec_f_len); + dfield_get_data(dtuple_field), + (unsigned) dtuple_f_len, + rec_b_ptr, (unsigned) rec_f_len); if (ret != 0) { cur_bytes = 0; @@ -832,8 +835,8 @@ cmp_rec_rec_with_match( data_mysql_latin1_swedish_charset_coll)) { ret = cmp_whole_field(cur_type, - rec1_b_ptr, rec1_f_len, - rec2_b_ptr, rec2_f_len); + rec1_b_ptr, (unsigned) rec1_f_len, + rec2_b_ptr, (unsigned) rec2_f_len); if (ret != 0) { cur_bytes = 0; diff --git a/innobase/rem/rem0rec.c b/innobase/rem/rem0rec.c index 904f91b8945..542c746209b 100644 --- a/innobase/rem/rem0rec.c +++ b/innobase/rem/rem0rec.c @@ -958,9 +958,11 @@ rec_convert_dtuple_to_rec( #ifdef UNIV_DEBUG { mem_heap_t* heap = NULL; - ulint offsets_[100 + REC_OFFS_HEADER_SIZE] - = { 100, }; - const ulint* offsets = rec_get_offsets(rec, index, + ulint offsets_[REC_OFFS_NORMAL_SIZE]; + const ulint* offsets; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + + offsets = rec_get_offsets(rec, index, offsets_, ULINT_UNDEFINED, &heap); ut_ad(rec_validate(rec, offsets)); if (heap) { @@ -989,9 +991,9 @@ rec_copy_prefix_to_dtuple( ulint len; byte* buf = NULL; ulint i; - ulint offsets_[100 + REC_OFFS_HEADER_SIZE] - = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; offsets = rec_get_offsets(rec, index, offsets, n_fields, &heap); @@ -1405,8 +1407,9 @@ rec_print( return; } else { mem_heap_t* heap = NULL; - ulint offsets_[100 + REC_OFFS_HEADER_SIZE] - = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + rec_print_new(file, rec, rec_get_offsets(rec, index, offsets_, ULINT_UNDEFINED, &heap)); if (heap) { diff --git a/innobase/row/row0ins.c b/innobase/row/row0ins.c index 87ed497ba1e..303fe5749bc 100644 --- a/innobase/row/row0ins.c +++ b/innobase/row/row0ins.c @@ -521,6 +521,10 @@ row_ins_cascade_calc_update_vec( fixed_size = dtype_get_fixed_size(type); + /* TODO: pad in UCS-2 with 0x0020. + TODO: How does the special truncation of + UTF-8 CHAR cols affect this? */ + if (fixed_size && ufield->new_val.len != UNIV_SQL_NULL && ufield->new_val.len < fixed_size) { @@ -1134,8 +1138,9 @@ row_ins_check_foreign_constraint( mtr_t mtr; trx_t* trx = thr_get_trx(thr); mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; run_again: #ifdef UNIV_SYNC_DEBUG @@ -1558,8 +1563,9 @@ row_ins_scan_sec_index_for_duplicate( mtr_t mtr; trx_t* trx; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; n_unique = dict_index_get_n_unique(index); @@ -1695,9 +1701,9 @@ row_ins_duplicate_error_in_clust( ulint n_unique; trx_t* trx = thr_get_trx(thr); mem_heap_t*heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; - + *offsets_ = (sizeof offsets_) / sizeof *offsets_; UT_NOT_USED(mtr); @@ -1897,9 +1903,10 @@ row_ins_index_entry_low( big_rec_t* big_rec = NULL; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; - + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + log_free_check(); mtr_start(&mtr); diff --git a/innobase/row/row0mysql.c b/innobase/row/row0mysql.c index 4c014d39f7a..b13ba056d85 100644 --- a/innobase/row/row0mysql.c +++ b/innobase/row/row0mysql.c @@ -105,20 +105,6 @@ row_mysql_delay_if_needed(void) } } -/*********************************************************************** -Reads a MySQL format variable-length field (like VARCHAR) length and -returns pointer to the field data. */ - -byte* -row_mysql_read_var_ref_noninline( -/*=============================*/ - /* out: field + 2 */ - ulint* len, /* out: variable-length field length */ - byte* field) /* in: field */ -{ - return(row_mysql_read_var_ref(len, field)); -} - /*********************************************************************** Frees the blob heap in prebuilt when no longer needed. */ @@ -132,6 +118,61 @@ row_mysql_prebuilt_free_blob_heap( prebuilt->blob_heap = NULL; } +/*********************************************************************** +Stores a >= 5.0.3 format true VARCHAR length to dest, in the MySQL row +format. */ + +byte* +row_mysql_store_true_var_len( +/*=========================*/ + /* out: pointer to the data, we skip the 1 or 2 bytes + at the start that are used to store the len */ + byte* dest, /* in: where to store */ + ulint len, /* in: length, must fit in two bytes */ + ulint lenlen) /* in: storage length of len: either 1 or 2 bytes */ +{ + if (lenlen == 2) { + ut_a(len < 256 * 256); + + mach_write_to_2_little_endian(dest, len); + + return(dest + 2); + } + + ut_a(lenlen == 1); + ut_a(len < 256); + + mach_write_to_1(dest, len); + + return(dest + 1); +} + +/*********************************************************************** +Reads a >= 5.0.3 format true VARCHAR length, in the MySQL row format, and +returns a pointer to the data. */ + +byte* +row_mysql_read_true_varchar( +/*========================*/ + /* out: pointer to the data, we skip the 1 or 2 bytes + at the start that are used to store the len */ + ulint* len, /* out: variable-length field length */ + byte* field, /* in: field in the MySQL format */ + ulint lenlen) /* in: storage length of len: either 1 or 2 bytes */ +{ + if (lenlen == 2) { + *len = mach_read_from_2_little_endian(field); + + return(field + 2); + } + + ut_a(lenlen == 1); + + *len = mach_read_from_1(field); + + return(field + 1); +} + /*********************************************************************** Stores a reference to a BLOB in the MySQL format. */ @@ -191,15 +232,177 @@ row_mysql_read_blob_ref( } /****************************************************************** -Convert a row in the MySQL format to a row in the Innobase format. */ +Stores a non-SQL-NULL field given in the MySQL format in the InnoDB format. +The counterpart of this function is row_sel_field_store_in_mysql_format() in +row0sel.c. */ + +byte* +row_mysql_store_col_in_innobase_format( +/*===================================*/ + /* out: up to which byte we used + buf in the conversion */ + dfield_t* dfield, /* in/out: dfield where dtype + information must be already set when + this function is called! */ + byte* buf, /* in/out: buffer for a converted + integer value; this must be at least + col_len long then! */ + ibool row_format_col, /* TRUE if the mysql_data is from + a MySQL row, FALSE if from a MySQL + key value; + in MySQL, a true VARCHAR storage + format differs in a row and in a + key value: in a key value the length + is always stored in 2 bytes! */ + byte* mysql_data, /* in: MySQL column value, not + SQL NULL; NOTE that dfield may also + get a pointer to mysql_data, + therefore do not discard this as long + as dfield is used! */ + ulint col_len, /* in: MySQL column length; NOTE that + this is the storage length of the + column in the MySQL format row, not + necessarily the length of the actual + payload data; if the column is a true + VARCHAR then this is irrelevant */ + ibool comp) /* in: TRUE = compact format */ +{ + byte* ptr = mysql_data; + dtype_t* dtype; + ulint type; + ulint lenlen; + + dtype = dfield_get_type(dfield); + + type = dtype->mtype; + + if (type == DATA_INT) { + /* Store integer data in Innobase in a big-endian format, + sign bit negated if the data is a signed integer. In MySQL, + integers are stored in a little-endian format. */ + + ptr = buf + col_len; + + for (;;) { + ptr--; + *ptr = *mysql_data; + if (ptr == buf) { + break; + } + mysql_data++; + } + + if (!(dtype->prtype & DATA_UNSIGNED)) { + + *ptr = (byte) (*ptr ^ 128); + } + + buf += col_len; + } else if ((type == DATA_VARCHAR + || type == DATA_VARMYSQL + || type == DATA_BINARY)) { + + if (dtype_get_mysql_type(dtype) == DATA_MYSQL_TRUE_VARCHAR) { + /* The length of the actual data is stored to 1 or 2 + bytes at the start of the field */ + + if (row_format_col) { + if (dtype->prtype & DATA_LONG_TRUE_VARCHAR) { + lenlen = 2; + } else { + lenlen = 1; + } + } else { + /* In a MySQL key value, lenlen is always 2 */ + lenlen = 2; + } + + ptr = row_mysql_read_true_varchar(&col_len, mysql_data, + lenlen); + } else { + /* Remove trailing spaces from old style VARCHAR + columns. */ + + /* Handle UCS2 strings differently. */ + ulint mbminlen = dtype_get_mbminlen(dtype); + + ptr = mysql_data; + + if (mbminlen == 2) { + /* space=0x0020 */ + /* Trim "half-chars", just in case. */ + col_len &= ~1; + + while (col_len >= 2 && ptr[col_len - 2] == 0x00 + && ptr[col_len - 1] == 0x20) { + col_len -= 2; + } + } else { + ut_a(mbminlen == 1); + /* space=0x20 */ + while (col_len > 0 + && ptr[col_len - 1] == 0x20) { + col_len--; + } + } + } + } else if (comp && type == DATA_MYSQL + && dtype_get_mbminlen(dtype) == 1 + && dtype_get_mbmaxlen(dtype) > 1) { + /* In some cases we strip trailing spaces from UTF-8 and other + multibyte charsets, from FIXED-length CHAR columns, to save + space. UTF-8 would otherwise normally use 3 * the string length + bytes to store a latin1 string! */ + + /* We assume that this CHAR field is encoded in a + variable-length character set where spaces have + 1:1 correspondence to 0x20 bytes, such as UTF-8. + + Consider a CHAR(n) field, a field of n characters. + It will contain between n * mbminlen and n * mbmaxlen bytes. + We will try to truncate it to n bytes by stripping + space padding. If the field contains single-byte + characters only, it will be truncated to n characters. + Consider a CHAR(5) field containing the string ".a " + where "." denotes a 3-byte character represented by + the bytes "$%&". After our stripping, the string will + be stored as "$%&a " (5 bytes). The string ".abc " + will be stored as "$%&abc" (6 bytes). + + The space padding will be restored in row0sel.c, function + row_sel_field_store_in_mysql_format(). */ + + ulint n_chars; + + ut_a(!(dtype_get_len(dtype) % dtype_get_mbmaxlen(dtype))); + + n_chars = dtype_get_len(dtype) / dtype_get_mbmaxlen(dtype); + + /* Strip space padding. */ + while (col_len > n_chars && ptr[col_len - 1] == 0x20) { + col_len--; + } + } else if (type == DATA_BLOB && row_format_col) { + + ptr = row_mysql_read_blob_ref(&col_len, mysql_data, col_len); + } + + dfield_set_data(dfield, ptr, col_len); + + return(buf); +} + +/****************************************************************** +Convert a row in the MySQL format to a row in the Innobase format. Note that +the function to convert a MySQL format key value to an InnoDB dtuple is +row_sel_convert_mysql_key_to_innobase() in row0sel.c. */ static void row_mysql_convert_row_to_innobase( /*==============================*/ dtuple_t* row, /* in/out: Innobase row where the field type information is already - copied there, or will be copied - later */ + copied there! */ row_prebuilt_t* prebuilt, /* in: prebuilt struct where template must be of type ROW_MYSQL_WHOLE_ROW */ byte* mysql_rec) /* in: row in the MySQL format; @@ -236,10 +439,10 @@ row_mysql_convert_row_to_innobase( row_mysql_store_col_in_innobase_format(dfield, prebuilt->ins_upd_rec_buff + templ->mysql_col_offset, + TRUE, /* MySQL row format data */ mysql_rec + templ->mysql_col_offset, templ->mysql_col_len, - templ->type, prebuilt->table->comp, - templ->is_unsigned); + prebuilt->table->comp); next_column: ; } @@ -594,7 +797,8 @@ static dtuple_t* row_get_prebuilt_insert_row( /*========================*/ - /* out: prebuilt dtuple */ + /* out: prebuilt dtuple; the column + type information is also set in it */ row_prebuilt_t* prebuilt) /* in: prebuilt struct in MySQL handle */ { @@ -756,7 +960,7 @@ run_again: trx->op_info = ""; - return(err); + return((int) err); } que_thr_stop_for_mysql_no_error(thr, trx); @@ -784,6 +988,7 @@ row_unlock_tables_for_mysql( lock_release_tables_off_kernel(trx); mutex_exit(&kernel_mutex); } + /************************************************************************* Sets a table lock on the table mentioned in prebuilt. */ @@ -856,7 +1061,7 @@ run_again: trx->op_info = ""; - return(err); + return((int) err); } que_thr_stop_for_mysql_no_error(thr, trx); @@ -962,17 +1167,20 @@ run_again: if (err != DB_SUCCESS) { que_thr_stop_for_mysql(thr); - thr->lock_state= QUE_THR_LOCK_ROW; + +/* TODO: what is this? */ thr->lock_state= QUE_THR_LOCK_ROW; + was_lock_wait = row_mysql_handle_errors(&err, trx, thr, &savept); - thr->lock_state= QUE_THR_LOCK_NOLOCK; + thr->lock_state= QUE_THR_LOCK_NOLOCK; + if (was_lock_wait) { goto run_again; } trx->op_info = ""; - return(err); + return((int) err); } que_thr_stop_for_mysql_no_error(thr, trx); @@ -1222,7 +1430,7 @@ run_again: trx->op_info = ""; - return(err); + return((int) err); } que_thr_stop_for_mysql_no_error(thr, trx); @@ -1438,7 +1646,7 @@ row_mysql_recover_tmp_table( } else { int status; - int namelen = strlen(table->name); + int namelen = (int) strlen(table->name); char* old_name = mem_strdupl(table->name, namelen); /* replace "rsql" with "#sql" */ old_name[ptr - table->name + 1] = '#'; @@ -1928,7 +2136,7 @@ row_drop_table_for_mysql_in_background( trx_free_for_background(trx); - return(error); + return((int) error); } /************************************************************************* @@ -3382,8 +3590,9 @@ row_rename_table_for_mysql( "InnoDB: data dictionary though MySQL is trying to rename the table.\n" "InnoDB: Have you copied the .frm file of the table to the\n" "InnoDB: MySQL database directory from another database?\n" - "InnoDB: You can look for further help from section 15.1 of\n" - "InnoDB: http://www.innodb.com/ibman.php\n", stderr); + "InnoDB: You can look for further help from\n" + "InnoDB: http://dev.mysql.com/doc/mysql/en/" + "InnoDB_troubleshooting_datadict.html\n", stderr); goto funct_exit; } @@ -3395,8 +3604,9 @@ row_rename_table_for_mysql( ut_print_name(stderr, trx, old_name); fputs( " does not have an .ibd file in the database directory.\n" - "InnoDB: You can look for further help from section 15.1 of\n" - "InnoDB: http://www.innodb.com/ibman.php\n", stderr); + "InnoDB: You can look for further help from\n" + "InnoDB: http://dev.mysql.com/doc/mysql/en/" + "InnoDB_troubleshooting_datadict.html\n", stderr); goto funct_exit; } @@ -3673,8 +3883,9 @@ row_scan_and_check_index( ibool contains_null; ulint i; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; *n_rows = 0; diff --git a/innobase/row/row0purge.c b/innobase/row/row0purge.c index 8897a1a872f..5893e016011 100644 --- a/innobase/row/row0purge.c +++ b/innobase/row/row0purge.c @@ -101,7 +101,8 @@ row_purge_remove_clust_if_poss_low( mtr_t mtr; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; index = dict_table_get_first_index(node->table); diff --git a/innobase/row/row0row.c b/innobase/row/row0row.c index 438e54757cd..a6d3f1d5ab0 100644 --- a/innobase/row/row0row.c +++ b/innobase/row/row0row.c @@ -203,7 +203,8 @@ row_build( byte* buf; ulint i; mem_heap_t* tmp_heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(index && rec && heap); ut_ad(index->type & DICT_CLUSTERED); @@ -296,8 +297,9 @@ row_rec_to_index_entry( ulint rec_len; byte* buf; mem_heap_t* tmp_heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(rec && heap && index); @@ -377,8 +379,9 @@ row_build_row_ref( ulint clust_col_prefix_len; ulint i; mem_heap_t* tmp_heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(index && rec && heap); @@ -470,8 +473,9 @@ row_build_row_ref_in_tuple( ulint clust_col_prefix_len; ulint i; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_a(ref && index && rec); diff --git a/innobase/row/row0sel.c b/innobase/row/row0sel.c index 736ca15262c..a09e09342e0 100644 --- a/innobase/row/row0sel.c +++ b/innobase/row/row0sel.c @@ -79,14 +79,15 @@ row_sel_sec_rec_is_for_clust_rec( ulint i; dtype_t* cur_type; mem_heap_t* heap = NULL; - ulint clust_offsets_[100] - = { 100, }; - ulint sec_offsets_[10] - = { 10, }; + ulint clust_offsets_[REC_OFFS_NORMAL_SIZE]; + ulint sec_offsets_[REC_OFFS_SMALL_SIZE]; ulint* clust_offs = clust_offsets_; ulint* sec_offs = sec_offsets_; ibool is_equal = TRUE; + *clust_offsets_ = (sizeof clust_offsets_) / sizeof *clust_offsets_; + *sec_offsets_ = (sizeof sec_offsets_) / sizeof *sec_offsets_; + clust_offs = rec_get_offsets(clust_rec, clust_index, clust_offs, ULINT_UNDEFINED, &heap); sec_offs = rec_get_offsets(sec_rec, sec_index, sec_offs, @@ -625,8 +626,9 @@ row_sel_get_clust_rec( rec_t* old_vers; ulint err; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; offsets = rec_get_offsets(rec, btr_pcur_get_btr_cur(&plan->pcur)->index, @@ -990,9 +992,10 @@ row_sel_try_search_shortcut( dict_index_t* index; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; ulint ret; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; index = plan->index; @@ -1115,8 +1118,9 @@ row_sel( ulint found_flag; ulint err; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(thr->run_node == node); @@ -2115,10 +2119,10 @@ row_sel_convert_mysql_key_to_innobase( + 256 * key_ptr[data_offset + 1]; data_field_len = data_offset + 2 + field->prefix_len; data_offset += 2; - - type = DATA_CHAR; /* now that we know the length, we - store the column value like it would - be a fixed char field */ + + /* now that we know the length, we store the column + value like it would be a fixed char field */ + } else if (field->prefix_len > 0) { /* Looks like MySQL pads unused end bytes in the prefix with space. Therefore, also in UTF-8, it is ok @@ -2142,11 +2146,12 @@ row_sel_convert_mysql_key_to_innobase( if (!is_null) { row_mysql_store_col_in_innobase_format( - dfield, buf, key_ptr + data_offset, - data_len, type, - index->table->comp, - dfield_get_type(dfield)->prtype - & DATA_UNSIGNED); + dfield, + buf, + FALSE, /* MySQL key value format col */ + key_ptr + data_offset, + data_len, + index->table->comp); buf += data_len; } @@ -2221,7 +2226,7 @@ row_sel_store_row_id_to_prebuilt( dict_index_name_print(stderr, prebuilt->trx, index); fprintf(stderr, "\n" "InnoDB: Field number %lu, record:\n", - (ulong) dict_index_get_sys_col_pos(index, DATA_ROW_ID)); + (ulong) dict_index_get_sys_col_pos(index, DATA_ROW_ID)); rec_print_new(stderr, index_rec, offsets); putc('\n', stderr); ut_error; @@ -2231,8 +2236,9 @@ row_sel_store_row_id_to_prebuilt( } /****************************************************************** -Stores a non-SQL-NULL field in the MySQL format. */ -UNIV_INLINE +Stores a non-SQL-NULL field in the MySQL format. The counterpart of this +function is row_mysql_store_col_in_innobase_format() in row0mysql.c. */ +static void row_sel_field_store_in_mysql_format( /*================================*/ @@ -2247,6 +2253,8 @@ row_sel_field_store_in_mysql_format( ulint len) /* in: length of the data */ { byte* ptr; + byte* field_end; + byte* pad_ptr; ut_ad(len != UNIV_SQL_NULL); @@ -2270,25 +2278,66 @@ row_sel_field_store_in_mysql_format( } ut_ad(templ->mysql_col_len == len); - } else if (templ->type == DATA_VARCHAR || templ->type == DATA_VARMYSQL - || templ->type == DATA_BINARY) { - /* Store the length of the data to the first two bytes of - dest; does not do anything yet because MySQL has - no real vars! */ + } else if (templ->type == DATA_VARCHAR + || templ->type == DATA_VARMYSQL + || templ->type == DATA_BINARY) { + + field_end = dest + templ->mysql_col_len; + + if (templ->mysql_type == DATA_MYSQL_TRUE_VARCHAR) { + /* This is a >= 5.0.3 type true VARCHAR. Store the + length of the data to the first byte or the first + two bytes of dest. */ - dest = row_mysql_store_var_len(dest, len); + dest = row_mysql_store_true_var_len(dest, len, + templ->mysql_length_bytes); + } + + /* Copy the actual data */ ut_memcpy(dest, data, len); -#if 0 - /* No real var implemented in MySQL yet! */ - ut_ad(templ->mysql_col_len >= len + 2); -#endif + /* Pad with trailing spaces. We pad with spaces also the + unused end of a >= 5.0.3 true VARCHAR column, just in case + MySQL expects its contents to be deterministic. */ + + pad_ptr = dest + len; + + ut_ad(templ->mbminlen <= templ->mbmaxlen); + + /* We handle UCS2 charset strings differently. */ + if (templ->mbminlen == 2) { + /* A space char is two bytes, 0x0020 in UCS2 */ + + if (len & 1) { + /* A 0x20 has been stripped from the column. + Pad it back. */ + + if (pad_ptr < field_end) { + *pad_ptr = 0x20; + pad_ptr++; + } + } + + /* Pad the rest of the string with 0x0020 */ + + while (pad_ptr < field_end) { + *pad_ptr = 0x00; + pad_ptr++; + *pad_ptr = 0x20; + pad_ptr++; + } + } else { + ut_ad(templ->mbminlen == 1); + /* space=0x20 */ + + memset(pad_ptr, 0x20, field_end - pad_ptr); + } } else if (templ->type == DATA_BLOB) { /* Store a pointer to the BLOB buffer to dest: the BLOB was already copied to the buffer in row_sel_store_mysql_rec */ - row_mysql_store_blob_ref(dest, templ->mysql_col_len, - data, len); + row_mysql_store_blob_ref(dest, templ->mysql_col_len, data, + len); } else if (templ->type == DATA_MYSQL) { memcpy(dest, data, len); @@ -2302,9 +2351,10 @@ row_sel_field_store_in_mysql_format( ut_a(len * templ->mbmaxlen >= templ->mysql_col_len); if (templ->mbminlen != templ->mbmaxlen) { - /* Pad with spaces. This undoes the stripping + /* Pad with spaces. This undoes the stripping done in row0mysql.ic, function row_mysql_store_col_in_innobase_format(). */ + memset(dest + len, 0x20, templ->mysql_col_len - len); } } else { @@ -2316,6 +2366,7 @@ row_sel_field_store_in_mysql_format( || templ->type == DATA_DOUBLE || templ->type == DATA_DECIMAL); ut_ad(templ->mysql_col_len == len); + memcpy(dest, data, len); } } @@ -2348,16 +2399,10 @@ row_sel_store_mysql_rec( byte* blob_buf; int pad_char; ulint i; - dict_index_t* index; ut_ad(prebuilt->mysql_template); ut_ad(rec_offs_validate(rec, NULL, offsets)); - index = prebuilt->index; - if (prebuilt->need_to_access_clustered) { - index = dict_table_get_first_index(index->table); - } - if (prebuilt->blob_heap != NULL) { mem_heap_free(prebuilt->blob_heap); prebuilt->blob_heap = NULL; @@ -2438,40 +2483,6 @@ row_sel_store_mysql_rec( mysql_rec + templ->mysql_col_offset, templ, data, len); - if (templ->type == DATA_VARCHAR - || templ->type == DATA_VARMYSQL - || templ->type == DATA_BINARY) { - /* Pad with trailing spaces */ - data = mysql_rec + templ->mysql_col_offset; - - ut_ad(templ->mbminlen <= templ->mbmaxlen); - /* Handle UCS2 strings differently. */ - if (templ->mbminlen == 2) { - /* space=0x0020 */ - ulint col_len = templ->mysql_col_len; - - ut_a(!(col_len & 1)); - if (len & 1) { - /* A 0x20 has been stripped - from the column. - Pad it back. */ - goto pad_0x20; - } - /* Pad the rest of the string - with 0x0020 */ - while (len < col_len) { - data[len++] = 0x00; - pad_0x20: - data[len++] = 0x20; - } - } else { - ut_ad(templ->mbminlen == 1); - /* space=0x20 */ - memset(data + len, 0x20, - templ->mysql_col_len - len); - } - } - /* Cleanup */ if (extern_field_heap) { mem_heap_free(extern_field_heap); @@ -3035,9 +3046,10 @@ row_search_for_mysql( ulint next_offs; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; - + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + ut_ad(index && pcur && search_tuple); ut_ad(trx->mysql_thread_id == os_thread_get_curr_id()); @@ -3484,10 +3496,10 @@ rec_loop: ut_print_timestamp(stderr); buf_page_print(buf_frame_align(rec)); fprintf(stderr, -"\nInnoDB: rec address %lx, first buffer frame %lx\n" -"InnoDB: buffer pool high end %lx, buf block fix count %lu\n", - (ulong)rec, (ulong)buf_pool->frame_zero, - (ulong)buf_pool->high_end, +"\nInnoDB: rec address %p, first buffer frame %p\n" +"InnoDB: buffer pool high end %p, buf block fix count %lu\n", + rec, buf_pool->frame_zero, + buf_pool->high_end, (ulong)buf_block_align(rec)->buf_fix_count); fprintf(stderr, "InnoDB: Index corruption: rec offs %lu next offs %lu, page no %lu,\n" diff --git a/innobase/row/row0undo.c b/innobase/row/row0undo.c index d994eab9873..abe73cbe705 100644 --- a/innobase/row/row0undo.c +++ b/innobase/row/row0undo.c @@ -152,8 +152,9 @@ row_undo_search_clust_to_pcur( ibool ret; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; mtr_start(&mtr); diff --git a/innobase/row/row0upd.c b/innobase/row/row0upd.c index 173912d6956..3305724a89b 100644 --- a/innobase/row/row0upd.c +++ b/innobase/row/row0upd.c @@ -706,8 +706,9 @@ row_upd_build_sec_rec_difference_binary( upd_t* update; ulint n_diff; ulint i; - ulint offsets_[10] = { 10, }; + ulint offsets_[REC_OFFS_SMALL_SIZE]; const ulint* offsets; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; /* This function is used only for a secondary index */ ut_a(0 == (index->type & DICT_CLUSTERED)); @@ -783,8 +784,9 @@ row_upd_build_difference_binary( ulint trx_id_pos; ibool extern_bit; ulint i; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; const ulint* offsets; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; /* This function is used only for a clustered index */ ut_a(index->type & DICT_CLUSTERED); @@ -1193,8 +1195,9 @@ row_upd_store_row( upd_t* update; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; const ulint* offsets; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(node->pcur->latch_mode != BTR_NO_LATCHES); @@ -1393,7 +1396,8 @@ row_upd_clust_rec_by_insert( btr_cur = btr_pcur_get_btr_cur(pcur); if (node->state != UPD_NODE_INSERT_CLUSTERED) { - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; err = btr_cur_del_mark_set_clust_rec(BTR_NO_LOCKING_FLAG, btr_cur, TRUE, thr, mtr); @@ -1533,8 +1537,10 @@ row_upd_clust_rec( if (err == DB_SUCCESS && big_rec) { mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; rec_t* rec; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; + mtr_start(mtr); ut_a(btr_pcur_restore_position(BTR_MODIFY_TREE, pcur, mtr)); @@ -1631,8 +1637,9 @@ row_upd_clust_step( mtr_t mtr_buf; rec_t* rec; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; const ulint* offsets; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; index = dict_table_get_first_index(node->table); @@ -1988,7 +1995,8 @@ row_upd_in_place_in_select( btr_cur_t* btr_cur; ulint err; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_ad(sel_node->select_will_do_update); ut_ad(sel_node->latch_mode == BTR_MODIFY_LEAF); diff --git a/innobase/srv/srv0start.c b/innobase/srv/srv0start.c index 210739b26fd..c65b7d3e141 100644 --- a/innobase/srv/srv0start.c +++ b/innobase/srv/srv0start.c @@ -1740,6 +1740,13 @@ innobase_shutdown_for_mysql(void) srv_shutdown_state = SRV_SHUTDOWN_EXIT_THREADS; + /* In a 'very fast' shutdown, we do not need to wait for these threads + to die; all which counts is that we flushed the log; a 'very fast' + shutdown is essentially a crash. */ + + if (srv_fast_shutdown) + return((int) DB_SUCCESS); + /* All threads end up waiting for certain events. Put those events to the signaled state. Then the threads will exit themselves in os_thread_event_wait(). */ diff --git a/innobase/trx/trx0rec.c b/innobase/trx/trx0rec.c index 90ecb217c1d..fcb7582ce73 100644 --- a/innobase/trx/trx0rec.c +++ b/innobase/trx/trx0rec.c @@ -1016,8 +1016,9 @@ trx_undo_report_row_operation( trx_rseg_t* rseg; mtr_t mtr; mem_heap_t* heap = NULL; - ulint offsets_[100] = { 100, }; + ulint offsets_[REC_OFFS_NORMAL_SIZE]; ulint* offsets = offsets_; + *offsets_ = (sizeof offsets_) / sizeof *offsets_; ut_a(index->type & DICT_CLUSTERED); diff --git a/innobase/trx/trx0roll.c b/innobase/trx/trx0roll.c index 4c68e0a0dd3..69f7a99187f 100644 --- a/innobase/trx/trx0roll.c +++ b/innobase/trx/trx0roll.c @@ -441,16 +441,8 @@ loop: trx = UT_LIST_GET_NEXT(trx_list, trx); } else if (trx->conc_state == TRX_PREPARED) { - /* Roll back all prepared transactions if - innobase_force_recovery > 0 in my.cnf */ - - if (srv_force_recovery > 0) { - trx->conc_state = TRX_ACTIVE; - break; - } else { - trx->sess = trx_dummy_sess; - trx = UT_LIST_GET_NEXT(trx_list, trx); - } + trx->sess = trx_dummy_sess; + trx = UT_LIST_GET_NEXT(trx_list, trx); } else { break; } @@ -461,7 +453,7 @@ loop: if (trx == NULL) { ut_print_timestamp(stderr); fprintf(stderr, - " InnoDB: Rollback of uncommitted transactions completed\n"); + " InnoDB: Rollback of non-prepared transactions completed\n"); mem_heap_free(heap); diff --git a/innobase/trx/trx0sys.c b/innobase/trx/trx0sys.c index 57166e98f45..68fe6d5079a 100644 --- a/innobase/trx/trx0sys.c +++ b/innobase/trx/trx0sys.c @@ -685,7 +685,8 @@ trx_sys_print_mysql_binlog_offset(void) { trx_sysf_t* sys_header; mtr_t mtr; - ulong trx_sys_mysql_bin_log_pos_high, trx_sys_mysql_bin_log_pos_low; + ulint trx_sys_mysql_bin_log_pos_high; + ulint trx_sys_mysql_bin_log_pos_low; mtr_start(&mtr); diff --git a/innobase/trx/trx0trx.c b/innobase/trx/trx0trx.c index dd4da33abb5..643f7e164e5 100644 --- a/innobase/trx/trx0trx.c +++ b/innobase/trx/trx0trx.c @@ -93,6 +93,8 @@ trx_create( trx->id = ut_dulint_zero; trx->no = ut_dulint_max; + trx->support_xa = TRUE; + trx->check_foreigns = TRUE; trx->check_unique_secondary = TRUE; @@ -274,6 +276,8 @@ trx_free( (ulong)trx->mysql_n_tables_locked); trx_print(stderr, trx); + + ut_print_buf(stderr, (byte*)trx, sizeof(trx_t)); } ut_a(trx->magic_n == TRX_MAGIC_N); @@ -451,9 +455,15 @@ trx_lists_init_at_db_start(void) ut_dulint_get_high(trx->id), ut_dulint_get_low(trx->id)); - trx->conc_state = TRX_ACTIVE; + if (srv_force_recovery == 0) { - /* trx->conc_state = TRX_PREPARED;*/ + trx->conc_state = TRX_PREPARED; + } else { + fprintf(stderr, +"InnoDB: Since innodb_force_recovery > 0, we will rollback it anyway.\n"); + + trx->conc_state = TRX_ACTIVE; + } } else { trx->conc_state = TRX_COMMITTED_IN_MEMORY; @@ -509,15 +519,20 @@ trx_lists_init_at_db_start(void) commit or abort decision from MySQL */ if (undo->state == TRX_UNDO_PREPARED) { - fprintf(stderr, + fprintf(stderr, "InnoDB: Transaction %lu %lu was in the XA prepared state.\n", - ut_dulint_get_high(trx->id), - ut_dulint_get_low(trx->id)); + ut_dulint_get_high(trx->id), + ut_dulint_get_low(trx->id)); + + if (srv_force_recovery == 0) { + + trx->conc_state = TRX_PREPARED; + } else { + fprintf(stderr, +"InnoDB: Since innodb_force_recovery > 0, we will rollback it anyway.\n"); trx->conc_state = TRX_ACTIVE; - - /* trx->conc_state = - TRX_PREPARED; */ + } } else { trx->conc_state = TRX_COMMITTED_IN_MEMORY; @@ -821,9 +836,6 @@ trx_commit_off_kernel( trx->read_view = NULL; } -/* fprintf(stderr, "Trx %lu commit finished\n", - ut_dulint_get_low(trx->id)); */ - if (must_flush_log) { mutex_exit(&kernel_mutex); @@ -867,14 +879,15 @@ trx_commit_off_kernel( /* Do nothing */ } else if (srv_flush_log_at_trx_commit == 1) { if (srv_unix_file_flush_method == SRV_UNIX_NOSYNC) { - /* Write the log but do not flush it to disk */ + /* Write the log but do not flush it to disk */ - log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, FALSE); + log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, + FALSE); } else { - /* Write the log to the log files AND flush - them to disk */ + /* Write the log to the log files AND flush + them to disk */ - log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, TRUE); + log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, TRUE); } } else if (srv_flush_log_at_trx_commit == 2) { @@ -1745,12 +1758,11 @@ Prepares a transaction. */ void trx_prepare_off_kernel( -/*==================*/ +/*===================*/ trx_t* trx) /* in: transaction */ { page_t* update_hdr_page; trx_rseg_t* rseg; - trx_undo_t* undo; ibool must_flush_log = FALSE; dulint lsn; mtr_t mtr; @@ -1777,19 +1789,18 @@ trx_prepare_off_kernel( mutex_enter(&(rseg->mutex)); if (trx->insert_undo != NULL) { + + /* It is not necessary to obtain trx->undo_mutex here + because only a single OS thread is allowed to do the + transaction prepare for this transaction. */ + trx_undo_set_state_at_prepare(trx, trx->insert_undo, &mtr); } - undo = trx->update_undo; - - if (undo) { - /* It is not necessary to obtain trx->undo_mutex here - because only a single OS thread is allowed to do the - transaction prepare for this transaction. */ - + if (trx->update_undo) { update_hdr_page = trx_undo_set_state_at_prepare(trx, - undo, &mtr); + trx->update_undo, &mtr); } mutex_exit(&(rseg->mutex)); @@ -1813,17 +1824,48 @@ trx_prepare_off_kernel( /*--------------------------------------*/ if (must_flush_log) { + /* Depending on the my.cnf options, we may now write the log + buffer to the log files, making the prepared state of the + transaction durable if the OS does not crash. We may also + flush the log files to disk, making the prepared state of the + transaction durable also at an OS crash or a power outage. + + The idea in InnoDB's group prepare is that a group of + transactions gather behind a trx doing a physical disk write + to log files, and when that physical write has been completed, + one of those transactions does a write which prepares the whole + group. Note that this group prepare will only bring benefit if + there are > 2 users in the database. Then at least 2 users can + gather behind one doing the physical log write to disk. + + TODO: find out if MySQL holds some mutex when calling this. + That would spoil our group prepare algorithm. */ mutex_exit(&kernel_mutex); - - /* Write the log to the log files AND flush them to disk */ - /*-------------------------------------*/ + if (srv_flush_log_at_trx_commit == 0) { + /* Do nothing */ + } else if (srv_flush_log_at_trx_commit == 1) { + if (srv_unix_file_flush_method == SRV_UNIX_NOSYNC) { + /* Write the log but do not flush it to disk */ - log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, TRUE); + log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, + FALSE); + } else { + /* Write the log to the log files AND flush + them to disk */ + + log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, TRUE); + } + } else if (srv_flush_log_at_trx_commit == 2) { + + /* Write the log but do not flush it to disk */ + + log_write_up_to(lsn, LOG_WAIT_ONE_GROUP, FALSE); + } else { + ut_error; + } - /*-------------------------------------*/ - mutex_enter(&kernel_mutex); } } @@ -1916,7 +1958,7 @@ trx_recover_for_mysql( ut_print_timestamp(stderr); fprintf(stderr, -" InnoDB: %d transactions in prepare state after recovery\n", +" InnoDB: %d transactions in prepared state after recovery\n", count); return (count); diff --git a/innobase/trx/trx0undo.c b/innobase/trx/trx0undo.c index 88185973dfc..bb314dd35e9 100644 --- a/innobase/trx/trx0undo.c +++ b/innobase/trx/trx0undo.c @@ -596,7 +596,7 @@ trx_undo_read_xid( } /******************************************************************* -Adds the XA XID after an undo log old-style header. */ +Adds space for the XA XID after an undo log old-style header. */ static void trx_undo_header_add_space_for_xid( @@ -1488,6 +1488,7 @@ trx_undo_create( /*============*/ /* out: undo log object, NULL if did not succeed: out of space */ + trx_t* trx, /* in: transaction */ trx_rseg_t* rseg, /* in: rollback segment memory copy */ ulint type, /* in: type of the log: TRX_UNDO_INSERT or TRX_UNDO_UPDATE */ @@ -1530,7 +1531,10 @@ trx_undo_create( offset = trx_undo_header_create(undo_page, trx_id, mtr); - trx_undo_header_add_space_for_xid(undo_page, undo_page + offset, mtr); + if (trx->support_xa) { + trx_undo_header_add_space_for_xid(undo_page, + undo_page + offset, mtr); + } undo = trx_undo_mem_create(rseg, id, type, trx_id, xid, page_no, offset); @@ -1547,6 +1551,7 @@ trx_undo_reuse_cached( /*==================*/ /* out: the undo log memory object, NULL if none cached */ + trx_t* trx, /* in: transaction */ trx_rseg_t* rseg, /* in: rollback segment memory object */ ulint type, /* in: type of the log: TRX_UNDO_INSERT or TRX_UNDO_UPDATE */ @@ -1597,16 +1602,22 @@ trx_undo_reuse_cached( if (type == TRX_UNDO_INSERT) { offset = trx_undo_insert_header_reuse(undo_page, trx_id, mtr); - trx_undo_header_add_space_for_xid(undo_page, undo_page + offset, - mtr); + + if (trx->support_xa) { + trx_undo_header_add_space_for_xid(undo_page, + undo_page + offset, mtr); + } } else { ut_a(mach_read_from_2(undo_page + TRX_UNDO_PAGE_HDR + TRX_UNDO_PAGE_TYPE) == TRX_UNDO_UPDATE); offset = trx_undo_header_create(undo_page, trx_id, mtr); - trx_undo_header_add_space_for_xid(undo_page, undo_page + offset, - mtr); + + if (trx->support_xa) { + trx_undo_header_add_space_for_xid(undo_page, + undo_page + offset, mtr); + } } trx_undo_mem_init_for_reuse(undo, trx_id, xid, offset); @@ -1674,11 +1685,11 @@ trx_undo_assign_undo( #endif /* UNIV_SYNC_DEBUG */ mutex_enter(&(rseg->mutex)); - undo = trx_undo_reuse_cached(rseg, type, trx->id, &trx->xid, &mtr); - + undo = trx_undo_reuse_cached(trx, rseg, type, trx->id, &trx->xid, + &mtr); if (undo == NULL) { - undo = trx_undo_create(rseg, type, trx->id, &trx->xid, &mtr); - + undo = trx_undo_create(trx, rseg, type, trx->id, &trx->xid, + &mtr); if (undo == NULL) { /* Did not succeed */ diff --git a/innobase/ut/ut0ut.c b/innobase/ut/ut0ut.c index 1fffd08c718..1be5939303a 100644 --- a/innobase/ut/ut0ut.c +++ b/innobase/ut/ut0ut.c @@ -454,7 +454,7 @@ ut_copy_file( len < (long) sizeof buf ? (size_t) len : sizeof buf; size_t size = fread(buf, 1, maxs, src); fwrite(buf, 1, size, dest); - len -= size; + len -= (long) size; if (size < maxs) { break; } diff --git a/man/mysql.1.in b/man/mysql.1.in index 35ff48693e1..7330ac8125b 100644 --- a/man/mysql.1.in +++ b/man/mysql.1.in @@ -107,7 +107,7 @@ version number and exit. Wait and retry if the database server connection is down. .SH FILES .TP 2.2i -.I @sysconfdir@/my.cnf +.I /etc/my.cnf MySQL configuration file .TP .I @bindir@/mysql diff --git a/myisam/ft_parser.c b/myisam/ft_parser.c index 3184cc6644c..2fad2363ae2 100644 --- a/myisam/ft_parser.c +++ b/myisam/ft_parser.c @@ -105,7 +105,7 @@ byte ft_get_word(CHARSET_INFO *cs, byte **start, byte *end, FT_WORD *word, FTB_PARAM *param) { byte *doc=*start; - uint mwc, length; + uint mwc, length, mbl; param->yesno=(FTB_YES==' ') ? 1 : (param->quot != 0); param->plusminus=param->pmsign=0; @@ -146,7 +146,7 @@ byte ft_get_word(CHARSET_INFO *cs, byte **start, byte *end, } mwc=length=0; - for (word->pos=doc; docpos=doc; doclastpos= HA_OFFSET_ERROR; + info->update|= HA_STATE_PREV_FOUND; + + while (!(error=mi_rnext(info,NULL,inx))) { -#if 0 - FT_DOCLIST *result; - int i; + keylen=*(info->lastkey); - ft_init_stopwords(ft_precompiled_stopwords); - - result=ft_nlq_init_search(info,inx,query,strlen(query),1); - if(!result) - goto err; - - if (verbose) - printf("%d rows matched\n",result->ndocs); - - for(i=0 ; indocs ; i++) - printf("%9lx %20.7f\n",(ulong)result->doc[i].dpos,result->doc[i].weight); - - ft_nlq_close_search(result); -#else - printf("-e option is disabled\n"); -#endif - } - else - { - info->lastpos= HA_OFFSET_ERROR; - info->update|= HA_STATE_PREV_FOUND; - - while (!(error=mi_rnext(info,NULL,inx))) - { - keylen=*(info->lastkey); - - subkeys=ft_sintXkorr(info->lastkey+keylen+1); - if (subkeys >= 0) - weight=*(float*)&subkeys; + subkeys=ft_sintXkorr(info->lastkey+keylen+1); + if (subkeys >= 0) + weight=*(float*)&subkeys; #ifdef HAVE_SNPRINTF - snprintf(buf,MAX_LEN,"%.*s",(int) keylen,info->lastkey+1); + snprintf(buf,MAX_LEN,"%.*s",(int) keylen,info->lastkey+1); #else - sprintf(buf,"%.*s",(int) keylen,info->lastkey+1); + sprintf(buf,"%.*s",(int) keylen,info->lastkey+1); #endif - my_casedn_str(default_charset_info,buf); - total++; - lengths[keylen]++; + my_casedn_str(default_charset_info,buf); + total++; + lengths[keylen]++; - if (count || stats) + if (count || stats) + { + doc_cnt++; + if (strcmp(buf, buf2)) { - doc_cnt++; - if (strcmp(buf, buf2)) + if (*buf2) { - if (*buf2) + uniq++; + avg_gws+=gws=GWS_IN_USE; + if (count) + printf("%9u %20.7f %s\n",doc_cnt,gws,buf2); + if (maxlen=0) - printf("%9lx %20.7f %s\n", (long) info->lastpos,weight,buf); - else - printf("%9lx => %17d %s\n",(long) info->lastpos,-subkeys,buf); - } - if (verbose && (total%HOW_OFTEN_TO_WRITE)==0) - printf("%10ld\r",total); } - mi_lock_database(info, F_UNLCK); + if (dump) + { + if (subkeys>=0) + printf("%9lx %20.7f %s\n", (long) info->lastpos,weight,buf); + else + printf("%9lx => %17d %s\n",(long) info->lastpos,-subkeys,buf); + } + if (verbose && (total%HOW_OFTEN_TO_WRITE)==0) + printf("%10ld\r",total); + } + mi_lock_database(info, F_UNLCK); - if (stats) + if (count || stats) + { + doc_cnt++; + if (*buf2) { - count=0; - for (inx=0;inx<256;inx++) + uniq++; + avg_gws+=gws=GWS_IN_USE; + if (count) + printf("%9u %20.7f %s\n",doc_cnt,gws,buf2); + if (maxlen= total/2) - break; + maxlen=keylen2; + strmov(buf_maxlen, buf2); + } + if (max_doc_cnt < doc_cnt) + { + max_doc_cnt=doc_cnt; + strmov(buf_min_gws, buf2); + min_gws=gws; } - printf("Total rows: %lu\nTotal words: %lu\n" - "Unique words: %lu\nLongest word: %lu chars (%s)\n" - "Median length: %u\n" - "Average global weight: %f\n" - "Most common word: %lu times, weight: %f (%s)\n", - (long) info->state->records, total, uniq, maxlen, buf_maxlen, - inx, avg_gws/uniq, max_doc_cnt, min_gws, buf_min_gws); } - if (lstats) + } + + if (stats) + { + count=0; + for (inx=0;inx<256;inx++) { - count=0; - for (inx=0; inx<256; inx++) - { - count+=lengths[inx]; - if (count && lengths[inx]) - printf("%3u: %10lu %5.2f%% %20lu %4.1f%%\n", inx, - (ulong) lengths[inx],100.0*lengths[inx]/total,(ulong) count, - 100.0*count/total); - } + count+=lengths[inx]; + if ((ulong) count >= total/2) + break; + } + printf("Total rows: %lu\nTotal words: %lu\n" + "Unique words: %lu\nLongest word: %lu chars (%s)\n" + "Median length: %u\n" + "Average global weight: %f\n" + "Most common word: %lu times, weight: %f (%s)\n", + (long) info->state->records, total, uniq, maxlen, buf_maxlen, + inx, avg_gws/uniq, max_doc_cnt, min_gws, buf_min_gws); + } + if (lstats) + { + count=0; + for (inx=0; inx<256; inx++) + { + count+=lengths[inx]; + if (count && lengths[inx]) + printf("%3u: %10lu %5.2f%% %20lu %4.1f%%\n", inx, + (ulong) lengths[inx],100.0*lengths[inx]/total,(ulong) count, + 100.0*count/total); } } @@ -254,9 +247,6 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), lstats=1; complain(query!=0); break; - case 'e': - complain(dump || count || stats); - break; case '?': case 'h': usage(); diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am index 6bcd0715ccd..294c135bcf3 100644 --- a/mysql-test/Makefile.am +++ b/mysql-test/Makefile.am @@ -20,12 +20,14 @@ if HAVE_NDBCLUSTER_DB SUBDIRS = ndb DIST_SUBDIRS=ndb +USE_NDBCLUSTER=\"--ndbcluster\" else # If one uses automake conditionals, automake will automatically # include all possible branches to DIST_SUBDIRS goal. # Reset DIST_SUBDIRS if we don't use NDB SUBDIRS= DIST_SUBDIRS= +USE_NDBCLUSTER=\"\" endif benchdir_root= $(prefix) @@ -103,6 +105,7 @@ SUFFIXES = .sh -e 's!@''MYSQL_TCP_PORT''@!@MYSQL_TCP_PORT@!' \ -e 's!@''MYSQL_NO_DASH_VERSION''@!@MYSQL_NO_DASH_VERSION@!' \ -e 's!@''MYSQL_SERVER_SUFFIX''@!@MYSQL_SERVER_SUFFIX@!' \ + -e 's!@''USE_NDBCLUSTER''@!$(USE_NDBCLUSTER)!g' \ $< > $@-t @CHMOD@ +x $@-t @MV@ $@-t $@ diff --git a/mysql-test/include/have_multi_ndb.inc b/mysql-test/include/have_multi_ndb.inc index d0c083cab86..ec1a93311fb 100644 --- a/mysql-test/include/have_multi_ndb.inc +++ b/mysql-test/include/have_multi_ndb.inc @@ -10,7 +10,7 @@ drop table if exists t1, t2; --enable_warnings flush tables; @r/have_ndb.require show variables like "have_ndbcluster"; -@r/server_id.require show variables like "server_id"; +# @r/server_id.require show variables like "server_id"; enable_query_log; # Check that server2 has NDB support @@ -21,7 +21,7 @@ drop table if exists t1, t2; --enable_warnings flush tables; @r/have_ndb.require show variables like "have_ndbcluster"; -@r/server_id1.require show variables like "server_id"; +# @r/server_id1.require show variables like "server_id"; enable_query_log; # Set the default connection to 'server1' diff --git a/mysql-test/include/system_db_struct.inc b/mysql-test/include/system_db_struct.inc index e24c8f3311d..c66590b2fd8 100644 --- a/mysql-test/include/system_db_struct.inc +++ b/mysql-test/include/system_db_struct.inc @@ -11,3 +11,4 @@ show create table func; show create table tables_priv; show create table columns_priv; show create table procs_priv; +show create table proc; diff --git a/mysql-test/lib/init_db.sql b/mysql-test/lib/init_db.sql index cc44165405f..902af0b0842 100644 --- a/mysql-test/lib/init_db.sql +++ b/mysql-test/lib/init_db.sql @@ -4,18 +4,18 @@ CREATE TABLE db ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, - Select_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Update_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Create_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL, - References_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Index_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL, + Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY Host (Host,Db,User), KEY User (User) ) engine=MyISAM @@ -30,18 +30,18 @@ INSERT INTO db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y', CREATE TABLE host ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, - Select_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Update_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Create_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL, - References_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Index_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL, + Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, PRIMARY KEY Host (Host,Db) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin @@ -52,28 +52,28 @@ CREATE TABLE user ( Host char(60) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Password char(41) binary DEFAULT '' NOT NULL, - Select_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Update_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Create_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Reload_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Shutdown_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Process_priv enum('N','Y') DEFAULT 'N' NOT NULL, - File_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL, - References_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Index_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Show_db_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Super_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Execute_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Repl_slave_priv enum('N','Y') DEFAULT 'N' NOT NULL, - Repl_client_priv enum('N','Y') DEFAULT 'N' NOT NULL, - ssl_type enum('','ANY','X509', 'SPECIFIED') DEFAULT '' NOT NULL, + Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Reload_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Shutdown_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Process_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + File_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Show_db_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Super_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Repl_slave_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + Repl_client_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, + ssl_type enum('','ANY','X509', 'SPECIFIED') COLLATE utf8_general_ci DEFAULT '' NOT NULL, ssl_cipher BLOB NOT NULL, x509_issuer BLOB NOT NULL, x509_subject BLOB NOT NULL, @@ -97,7 +97,7 @@ CREATE TABLE func ( name char(64) binary DEFAULT '' NOT NULL, ret tinyint(1) DEFAULT '0' NOT NULL, dl char(128) DEFAULT '' NOT NULL, - type enum ('function','aggregate') NOT NULL, + type enum ('function','aggregate') COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin @@ -111,8 +111,8 @@ CREATE TABLE tables_priv ( Table_name char(64) binary DEFAULT '' NOT NULL, Grantor char(77) DEFAULT '' NOT NULL, Timestamp timestamp(14), - Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter') DEFAULT '' NOT NULL, - Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL, + Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter') COLLATE utf8_general_ci DEFAULT '' NOT NULL, + Column_priv set('Select','Insert','Update','References') COLLATE utf8_general_ci DEFAULT '' NOT NULL, PRIMARY KEY (Host,Db,User,Table_name),KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin @@ -126,7 +126,7 @@ CREATE TABLE columns_priv ( Table_name char(64) binary DEFAULT '' NOT NULL, Column_name char(64) binary DEFAULT '' NOT NULL, Timestamp timestamp(14), - Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL, + Column_priv set('Select','Insert','Update','References') COLLATE utf8_general_ci DEFAULT '' NOT NULL, PRIMARY KEY (Host,Db,User,Table_name,Column_name) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin diff --git a/mysql-test/lib/mtr_report.pl b/mysql-test/lib/mtr_report.pl index 3729ff512ee..9947fed9d27 100644 --- a/mysql-test/lib/mtr_report.pl +++ b/mysql-test/lib/mtr_report.pl @@ -161,7 +161,7 @@ sub mtr_report_stats ($) { { my $ratio= $tot_passed * 100 / $tot_tests; printf "Failed $tot_failed/$tot_tests tests, " . - "%.2f\% successful.\n\n", $ratio; + "%.2f\% were successful.\n\n", $ratio; print "The log files in var/log may give you some hint\n", "of what when wrong.\n", diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 653c9bfbaec..ce419540bf2 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -1532,6 +1532,7 @@ sub do_before_start_master ($$) { $tname ne "rpl_crash_binlog_ib_3b") { # FIXME we really want separate dir for binlogs + # FIXME replace 'rm' in backticks with portable Perl function `rm -f $glob_mysql_test_dir/var/log/master-bin*`; # unlink("$glob_mysql_test_dir/var/log/master-bin*"); } @@ -1545,8 +1546,12 @@ sub do_before_start_master ($$) { # Run master initialization shell script if one exists if ( $init_script ) { - # We ignore the return code - mtr_run("/bin/sh", ["-c",$init_script], "", "", "", ""); + my $ret= mtr_run("/bin/sh", [$init_script], "", "", "", ""); + if ( $ret != 0 ) + { + # FIXME rewrite those scripts to return 0 if successful +# mtr_warning("$init_script exited with code $ret"); + } } # for gcov FIXME needed? If so we need more absolute paths # chdir($glob_basedir); @@ -1563,6 +1568,7 @@ sub do_before_start_slave ($$) { $tname ne "rpl_crash_binlog_ib_3b" ) { # FIXME we really want separate dir for binlogs + # FIXME replace 'rm' in backticks with portable Perl function `rm -fr $glob_mysql_test_dir/var/log/slave*-bin.*`; # unlink("$glob_mysql_test_dir/var/log/slave*-bin.*"); # FIXME idx??? # FIXME really master?! @@ -1573,8 +1579,12 @@ sub do_before_start_slave ($$) { # Run slave initialization shell script if one exists if ( $init_script ) { - # We ignore the return code - mtr_run("/bin/sh", ["-c",$init_script], "", "", "", ""); + my $ret= mtr_run("/bin/sh", [$init_script], "", "", "", ""); + if ( $ret != 0 ) + { + # FIXME rewrite those scripts to return 0 if successful +# mtr_warning("$init_script exited with code $ret"); + } } `rm -f $glob_mysql_test_dir/var/slave-data/log.*`; diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index da088a1891f..b69bac1ad0b 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -224,7 +224,7 @@ EXTRA_MYSQL_TEST_OPT="" EXTRA_MYSQLDUMP_OPT="" EXTRA_MYSQLBINLOG_OPT="" USE_RUNNING_SERVER=0 -USE_NDBCLUSTER="" +USE_NDBCLUSTER=@USE_NDBCLUSTER@ USE_RUNNING_NDBCLUSTER="" USE_PURIFY="" PURIFY_LOGS="" @@ -432,6 +432,11 @@ while test $# -gt 0; do TMP=`$ECHO "$1" | $SED -e "s;--valgrind-options=;;"` VALGRIND="$VALGRIND $TMP" ;; + --skip-ndbcluster) + USE_NDBCLUSTER="" + EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT $1" + EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT $1" + ;; --skip-*) EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT $1" EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT $1" @@ -856,7 +861,7 @@ report_stats () { whole=`$PRINTF %.2s $raw` xwhole=`$EXPR $whole \* 100` deci=`$EXPR $raw - $xwhole` - $ECHO "Failed ${TOT_FAIL}/${TOT_TEST} tests, ${whole}.${deci}% successful." + $ECHO "Failed ${TOT_FAIL}/${TOT_TEST} tests, ${whole}.${deci}% were successful." $ECHO "" $ECHO "The log files in $MY_LOG_DIR may give you some hint" $ECHO "of what when wrong." @@ -1501,12 +1506,6 @@ run_testcase () if [ -n "$RESULT_EXT" -a \( x$RECORD = x1 -o -f "$result_file$RESULT_EXT" \) ] ; then result_file="$result_file$RESULT_EXT" fi - if [ -f "$TESTDIR/$tname.disabled" ] - then - comment=`$CAT $TESTDIR/$tname.disabled`; - disable_test $tname "$comment" - return - fi if [ "$USE_MANAGER" = 1 ] ; then many_slaves=`$EXPR \( \( $tname : rpl_failsafe \) != 0 \) \| \( \( $tname : rpl_chain_temp_table \) != 0 \)` fi @@ -1536,6 +1535,20 @@ run_testcase () return fi + if [ -f "$TESTDIR/$tname.disabled" ] + then + comment=`$CAT $TESTDIR/$tname.disabled`; + disable_test $tname "$comment" + return + fi + comment=`$GREP "^$tname *: *" $TESTDIR/disabled.def`; + if [ -n "$comment" ] + then + comment=`echo $comment | sed 's/^[^:]*: *//'` + disable_test $tname "$comment" + return + fi + if [ "x$USE_EMBEDDED_SERVER" != "x1" ] ; then # Stop all slave threads, so that we don't have useless reconnection # attempts and error messages in case the slave and master servers restart. diff --git a/mysql-test/r/ansi.result b/mysql-test/r/ansi.result index c515ee9a1e8..00a526df8ea 100644 --- a/mysql-test/r/ansi.result +++ b/mysql-test/r/ansi.result @@ -6,7 +6,7 @@ NO_FIELD_OPTIONS,MYSQL40,HIGH_NOT_PRECEDENCE set @@sql_mode="ANSI"; select @@sql_mode; @@sql_mode -REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI SELECT 'A' || 'B'; 'A' || 'B' AB @@ -14,6 +14,6 @@ CREATE TABLE t1 (id INT, id2 int); SELECT id,NULL,1,1.1,'a' FROM t1 GROUP BY id; id NULL 1 1.1 a SELECT id FROM t1 GROUP BY id2; -ERROR 42000: 'test.t1.id' isn't in GROUP BY +id drop table t1; SET @@SQL_MODE=""; diff --git a/mysql-test/r/count_distinct2.result b/mysql-test/r/count_distinct2.result index 131e3b325ec..b92665b5c56 100644 --- a/mysql-test/r/count_distinct2.result +++ b/mysql-test/r/count_distinct2.result @@ -116,7 +116,7 @@ count(distinct n) 5000 show status like 'Created_tmp_disk_tables'; Variable_name Value -Created_tmp_disk_tables 1 +Created_tmp_disk_tables 0 drop table t1; create table t1 (s text); flush status; diff --git a/mysql-test/r/federated.result b/mysql-test/r/federated.result index 00c52a53c42..9c524dd7264 100644 --- a/mysql-test/r/federated.result +++ b/mysql-test/r/federated.result @@ -8,6 +8,120 @@ stop slave; DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; CREATE TABLE federated.t1 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +DEFAULT CHARSET=latin1; +DROP DATABASE IF EXISTS federated; +CREATE DATABASE federated; +CREATE TABLE federated.t1 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://root@127.0.0.1:@/too/many/items/federated/t1'; +ERROR HY000: Can't create table 'this connection string is not in the correct format! +' (errno: 0) +CREATE TABLE federated.t1 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://root@127.0.0.1'; +ERROR HY000: Can't create table 'this connection string is not in the correct format! +' (errno: 0) +CREATE TABLE federated.t1 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://root@127.0.0.1:SLAVE_PORT/federated/t3'; +ERROR HY000: Error running query on master: foreign table 't3' does not exist! +CREATE TABLE federated.t1 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://user:pass@127.0.0.1:SLAVE_PORT/federated/t1'; +ERROR 08S01: Error connecting to master: unable to connect to database 'federated' on host '127.0.0.1 as user 'user' ! +DROP TABLE IF EXISTS federated.t1; +Warnings: +Note 1051 Unknown table 't1' +CREATE TABLE federated.t1 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1'; +INSERT INTO federated.t1 (id, name) VALUES (1, 'foo'); +INSERT INTO federated.t1 (id, name) VALUES (2, 'fee'); +SELECT * FROM federated.t1; +id name +1 foo +2 fee +DELETE FROM federated.t1; +DROP TABLE federated.t1; +DROP TABLE IF EXISTS federated.t2; +Warnings: +Note 1051 Unknown table 't2' +CREATE TABLE federated.t2 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1'; +INSERT INTO federated.t2 (id, name) VALUES (1, 'foo'); +INSERT INTO federated.t2 (id, name) VALUES (2, 'fee'); +SELECT * FROM federated.t2; +id name +1 foo +2 fee +DROP TABLE federated.t2; +DROP TABLE IF EXISTS federated.t1; +DROP TABLE IF EXISTS federated.`t1%`; +Warnings: +Note 1051 Unknown table 't1%' +CREATE TABLE federated.`t1%` ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +DEFAULT CHARSET=latin1; +DROP TABLE IF EXISTS federated.t1; +Warnings: +Note 1051 Unknown table 't1' +CREATE TABLE federated.t1 ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1%'; +INSERT INTO federated.t1 (id, name) VALUES (1, 'foo'); +INSERT INTO federated.t1 (id, name) VALUES (2, 'fee'); +SELECT * FROM federated.t1; +id name +1 foo +2 fee +DELETE FROM federated.t1; +DROP TABLE IF EXISTS federated.t1; +CREATE TABLE federated.`t1%` ( +`id` int(20) NOT NULL, +`name` varchar(32) NOT NULL default '' + ) +ENGINE="FEDERATED" DEFAULT CHARSET=latin1 +COMMENT='mysql://root@127.0.0.1:9308/federated/t1%'; +INSERT INTO federated.`t1%` (id, name) VALUES (1, 'foo'); +INSERT INTO federated.`t1%` (id, name) VALUES (2, 'fee'); +SELECT * FROM federated.`t1%`; +id name +1 foo +2 fee +DELETE FROM federated.`t1%`; +DROP TABLE IF EXISTS federated.`t1%`; +DROP TABLE IF EXISTS federated.`t1%`; +DROP TABLE IF EXISTS federated.t1; +Warnings: +Note 1051 Unknown table 't1' +CREATE TABLE federated.t1 ( `id` int(20) NOT NULL auto_increment, `name` varchar(32) NOT NULL default '', `other` int(20) NOT NULL default '0', @@ -16,8 +130,6 @@ PRIMARY KEY (`id`), KEY `name` (`name`), KEY `other_key` (`other`)) DEFAULT CHARSET=latin1; -DROP DATABASE IF EXISTS federated; -CREATE DATABASE federated; CREATE TABLE federated.t1 ( `id` int(20) NOT NULL auto_increment, `name` varchar(32) NOT NULL default '', diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result index d9ef306d9f6..34d1213d1b2 100644 --- a/mysql-test/r/fulltext.result +++ b/mysql-test/r/fulltext.result @@ -130,6 +130,9 @@ a b select * from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE); a b MySQL has now support for full-text search +select * from t1 where MATCH a,b AGAINST ('"now support"' IN BOOLEAN MODE); +a b +MySQL has now support for full-text search select * from t1 where MATCH a,b AGAINST ('"text search" "now support"' IN BOOLEAN MODE); a b MySQL has now support for full-text search @@ -151,8 +154,6 @@ a b select * from t1 where MATCH a,b AGAINST ('+collections -supp* -foobar*' IN BOOLEAN MODE); a b Full-text indexes are called collections -select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE); -a b select * from t1 where MATCH a,b AGAINST('"space model' IN BOOLEAN MODE); a b Full-text search in MySQL implements vector space model diff --git a/mysql-test/r/fulltext_order_by.result b/mysql-test/r/fulltext_order_by.result index c6c42fa2e8b..dc51454f1d5 100644 --- a/mysql-test/r/fulltext_order_by.result +++ b/mysql-test/r/fulltext_order_by.result @@ -62,6 +62,14 @@ a rel 6 0 4 1 7 1 +alter table t1 add key m (message); +explain SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 fulltext message message 0 1 Using where; Using filesort +SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message desc; +message +steve is cool +steve drop table t1; CREATE TABLE t1 ( a INT AUTO_INCREMENT PRIMARY KEY, diff --git a/mysql-test/r/func_group.result b/mysql-test/r/func_group.result index 46dba6cdfa9..81663cd9d66 100644 --- a/mysql-test/r/func_group.result +++ b/mysql-test/r/func_group.result @@ -881,3 +881,10 @@ SELECT MAX(id) FROM t1 WHERE id < 3 AND a=2 AND b=6; MAX(id) NULL DROP TABLE t1; +CREATE TABLE t1 (a VARCHAR(400)); +INSERT INTO t1 (a) VALUES ("A"), ("a"), ("a "), ("a "), +("B"), ("b"), ("b "), ("b "); +SELECT COUNT(DISTINCT a) FROM t1; +COUNT(DISTINCT a) +2 +DROP TABLE t1; diff --git a/mysql-test/r/func_str.result b/mysql-test/r/func_str.result index 9b93fe2ad1c..92c7d46550f 100644 --- a/mysql-test/r/func_str.result +++ b/mysql-test/r/func_str.result @@ -748,3 +748,18 @@ ySQL SELECT CHAR_LENGTH(CHAR(NULL,121,83,81,'76')) as my_column; my_column 4 +CREATE TABLE t1 (id int PRIMARY KEY, str char(255) NOT NULL); +CREATE TABLE t2 (id int NOT NULL UNIQUE); +INSERT INTO t2 VALUES (1),(2); +INSERT INTO t1 VALUES (1, aes_encrypt('foo', 'bar')); +INSERT INTO t1 VALUES (2, 'not valid'); +SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id; +id aes_decrypt(str, 'bar') +1 foo +2 NULL +SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id +ORDER BY t1.id; +id aes_decrypt(str, 'bar') +1 foo +2 NULL +DROP TABLE t1, t2; diff --git a/mysql-test/r/heap.result b/mysql-test/r/heap.result index f79bcf3f1dd..db20b242962 100644 --- a/mysql-test/r/heap.result +++ b/mysql-test/r/heap.result @@ -665,3 +665,45 @@ length(v) 65530 drop table t1; set storage_engine=MyISAM; +create table t1 (a bigint unsigned auto_increment primary key, b int, +key (b, a)) engine=heap; +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +select * from t1; +a b +1 1 +2 1 +3 1 +4 1 +5 1 +6 1 +7 1 +8 1 +drop table t1; +create table t1 (a int not null, b int not null auto_increment, +primary key(a, b), key(b)) engine=heap; +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +select * from t1; +a b +1 1 +1 2 +1 3 +1 4 +1 5 +1 6 +1 7 +1 8 +drop table t1; diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index 0e72de7ab12..e65924bfcbe 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -203,7 +203,7 @@ select parameter_style, sql_data_access, dtd_identifier from information_schema.routines; parameter_style sql_data_access dtd_identifier SQL CONTAINS SQL NULL -SQL CONTAINS SQL int +SQL CONTAINS SQL int(11) show procedure status; Db Name Type Definer Modified Created Security_type Comment test sel2 PROCEDURE root@localhost # # DEFINER @@ -258,7 +258,7 @@ Function sql_mode Create Function sub1 show create function sub2; Function sql_mode Create Function -sub2 CREATE FUNCTION `test`.`sub2`(i int) RETURNS int +sub2 CREATE FUNCTION `test`.`sub2`(i int) RETURNS int(11) return i+1 drop function sub2; show create procedure sel2; @@ -505,7 +505,7 @@ proc body blob proc definer char(77) proc created timestamp proc modified timestamp -proc sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO') +proc sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') proc comment char(64) drop table t115; create procedure p108 () begin declare c cursor for select data_type diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result index 2c285efafaf..be73f6986ac 100644 --- a/mysql-test/r/innodb.result +++ b/mysql-test/r/innodb.result @@ -262,7 +262,11 @@ n 5 6 7 -rollback to savepoint `savept2`; +savepoint savept3; +rollback to savepoint savept2; +rollback to savepoint savept3; +ERROR 42000: SAVEPOINT savept3 does not exist +rollback to savepoint savept2; release savepoint `my_savepoint`; select n from t1; n @@ -272,6 +276,8 @@ n 7 rollback to savepoint `my_savepoint`; ERROR 42000: SAVEPOINT my_savepoint does not exist +rollback to savepoint savept2; +ERROR 42000: SAVEPOINT savept2 does not exist insert into t1 values (8); savepoint sv; commit; diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result index d2879e18726..227ff655fcd 100644 --- a/mysql-test/r/join_outer.result +++ b/mysql-test/r/join_outer.result @@ -650,6 +650,13 @@ select * from t1 natural left join t2 natural left join t3; i i i 1 NULL NULL 2 2 2 +select * from t1 natural left join t2 where (t2.i is not null)=0; +i i +1 NULL +select * from t1 natural left join t2 where (t2.i is not null) is not null; +i i +1 NULL +2 2 drop table t1,t2,t3; create table t1 (f1 integer,f2 integer,f3 integer); create table t2 (f2 integer,f4 integer); @@ -677,6 +684,26 @@ id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t3 ALL NULL NULL NULL NULL 2 drop table t1, t2, t3; create table t1 ( +a int(11), +b char(10), +key (a) +); +insert into t1 (a) values (1),(2),(3),(4); +create table t2 (a int); +select * from t1 left join t2 on t1.a=t2.a where not (t2.a <=> t1.a); +a b a +1 NULL NULL +2 NULL NULL +3 NULL NULL +4 NULL NULL +select * from t1 left join t2 on t1.a=t2.a having not (t2.a <=> t1.a); +a b a +1 NULL NULL +2 NULL NULL +3 NULL NULL +4 NULL NULL +drop table t1,t2; +create table t1 ( match_id tinyint(3) unsigned not null auto_increment, home tinyint(3) unsigned default '0', unique key match_id (match_id), @@ -869,3 +896,31 @@ a b a b 2 2 2 2 NULL NULL 3 3 DROP TABLE t0,t1,t2,t3; +CREATE TABLE t1 (a int PRIMARY KEY, b int); +CREATE TABLE t2 (a int PRIMARY KEY, b int); +INSERT INTO t1 VALUES (1,1), (2,1), (3,1), (4,2); +INSERT INTO t2 VALUES (1,2), (2,2); +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a; +a b a b +1 1 1 2 +2 1 2 2 +3 1 NULL NULL +4 2 NULL NULL +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a WHERE t1.b=1; +a b a b +1 1 1 2 +2 1 2 2 +3 1 NULL NULL +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a +WHERE t1.b=1 XOR (NOT ISNULL(t2.a) AND t2.b=1); +a b a b +1 1 1 2 +2 1 2 2 +3 1 NULL NULL +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a WHERE not(0+(t1.a=30 and t2.b=1)); +a b a b +1 1 1 2 +2 1 2 2 +3 1 NULL NULL +4 2 NULL NULL +DROP TABLE t1,t2; diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result index ac7f182b4c4..3c99e22cb10 100644 --- a/mysql-test/r/mysqldump.result +++ b/mysql-test/r/mysqldump.result @@ -567,3 +567,35 @@ UNLOCK TABLES; DROP TABLE t1; DROP TABLE t2; +CREATE TABLE t1 (`b` blob); +INSERT INTO `t1` VALUES (0x602010000280100005E71A); + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; +DROP TABLE IF EXISTS `t1`; +CREATE TABLE `t1` ( + `b` blob +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + + +/*!40000 ALTER TABLE `t1` DISABLE KEYS */; +LOCK TABLES `t1` WRITE; +INSERT INTO `t1` VALUES (0x602010000280100005E71A); +UNLOCK TABLES; +/*!40000 ALTER TABLE `t1` ENABLE KEYS */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +DROP TABLE t1; diff --git a/mysql-test/r/ndb_alter_table.result b/mysql-test/r/ndb_alter_table.result index 2aab46014a9..9bc82e7a24a 100644 --- a/mysql-test/r/ndb_alter_table.result +++ b/mysql-test/r/ndb_alter_table.result @@ -170,3 +170,17 @@ c 4 5 drop table t1; +create table t1 ( a int primary key, b varchar(10), c varchar(10), index (b) ) +engine=ndb; +insert into t1 values (1,'one','one'), (2,'two','two'), (3,'three','three'); +create index c on t1(c); +select * from t1 where b = 'two'; +a b c +2 two two +alter table t1 drop index c; +select * from t1 where b = 'two'; +ERROR 42S02: Table 'test.t1' doesn't exist +select * from t1 where b = 'two'; +a b c +2 two two +drop table t1; diff --git a/mysql-test/r/ndb_cache2.result b/mysql-test/r/ndb_cache2.result index 2815674a20a..2876002f864 100644 --- a/mysql-test/r/ndb_cache2.result +++ b/mysql-test/r/ndb_cache2.result @@ -1,14 +1,45 @@ -drop table if exists t1; +drop table if exists t1, t2, t3, t4, t5; set GLOBAL query_cache_type=on; set GLOBAL query_cache_size=1355776; -set GLOBAL ndb_cache_check_time=1; +set GLOBAL ndb_cache_check_time=100; reset query cache; flush status; -CREATE TABLE t1 ( pk int not null primary key, -a int, b int not null, c varchar(20)) ENGINE=ndbcluster; +CREATE TABLE t1 ( +pk int not null primary key, +a1 int, +b1 int not null, +c1 varchar(20) +) ENGINE=ndb; +CREATE TABLE t2 ( +pk int not null primary key, +a2 int, +b2 int not null +) ENGINE=ndb; +CREATE TABLE t3 ( +pk int not null primary key, +a3 int, +b3 int not null, +c3 int not null, +d3 varchar(20) +) ENGINE=ndb; +CREATE TABLE t4 ( +a4 int, +b4 int not null, +c4 char(20) +) ENGINE=ndbcluster; +CREATE TABLE t5 ( +pk int not null primary key, +a5 int, +b5 int not null, +c5 varchar(255) +) ENGINE=ndbcluster; insert into t1 value (1, 2, 3, 'First row'); +insert into t2 value (1, 2, 3); +insert into t3 value (1, 2, 3, 4, '3 - First row'); +insert into t4 value (2, 3, '4 - First row'); +insert into t5 value (1, 2, 3, '5 - First row'); select * from t1; -pk a b c +pk a1 b1 c1 1 2 3 First row show status like "Qcache_queries_in_cache"; Variable_name Value @@ -20,14 +51,14 @@ show status like "Qcache_hits"; Variable_name Value Qcache_hits 0 select * from t1; -pk a b c +pk a1 b1 c1 1 2 3 First row show status like "Qcache_hits"; Variable_name Value Qcache_hits 1 -update t1 set a=3 where pk=1; +update t1 set a1=3 where pk=1; select * from t1; -pk a b c +pk a1 b1 c1 1 3 3 First row show status like "Qcache_inserts"; Variable_name Value @@ -38,7 +69,7 @@ Qcache_hits 1 insert into t1 value (2, 7, 8, 'Second row'); insert into t1 value (4, 5, 6, 'Fourth row'); select * from t1 order by pk desc; -pk a b c +pk a1 b1 c1 4 5 6 Fourth row 2 7 8 Second row 1 3 3 First row @@ -49,15 +80,15 @@ show status like "Qcache_hits"; Variable_name Value Qcache_hits 1 select * from t1 order by pk desc; -pk a b c +pk a1 b1 c1 4 5 6 Fourth row 2 7 8 Second row 1 3 3 First row show status like "Qcache_hits"; Variable_name Value Qcache_hits 2 -select * from t1 where b=3; -pk a b c +select * from t1 where b1=3; +pk a1 b1 c1 1 3 3 First row show status like "Qcache_queries_in_cache"; Variable_name Value @@ -65,44 +96,44 @@ Qcache_queries_in_cache 2 show status like "Qcache_hits"; Variable_name Value Qcache_hits 2 -select * from t1 where b=3; -pk a b c +select * from t1 where b1=3; +pk a1 b1 c1 1 3 3 First row show status like "Qcache_hits"; Variable_name Value Qcache_hits 3 -delete from t1 where c='Fourth row'; +delete from t1 where c1='Fourth row'; show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 0 -select * from t1 where b=3; -pk a b c +select * from t1 where b1=3; +pk a1 b1 c1 1 3 3 First row show status like "Qcache_hits"; Variable_name Value Qcache_hits 3 use test; select * from t1 order by pk desc; -pk a b c +pk a1 b1 c1 2 7 8 Second row 1 3 3 First row -select * from t1 where b=3; -pk a b c +select * from t1 where b1=3; +pk a1 b1 c1 1 3 3 First row show status like "Qcache_hits"; Variable_name Value Qcache_hits 4 -update t1 set a=4 where b=3; +update t1 set a1=4 where b1=3; use test; show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 0 select * from t1 order by pk desc; -pk a b c +pk a1 b1 c1 2 7 8 Second row 1 4 3 First row select * from t1 order by pk desc; -pk a b c +pk a1 b1 c1 2 7 8 Second row 1 4 3 First row show status like "Qcache_inserts"; @@ -112,11 +143,11 @@ show status like "Qcache_hits"; Variable_name Value Qcache_hits 5 select * from t1 order by pk desc; -pk a b c +pk a1 b1 c1 2 7 8 Second row 1 4 3 First row select * from t1 order by pk desc; -pk a b c +pk a1 b1 c1 2 7 8 Second row 1 4 3 First row show status like "Qcache_queries_in_cache"; @@ -128,64 +159,463 @@ Qcache_inserts 7 show status like "Qcache_hits"; Variable_name Value Qcache_hits 7 +select * from t2; +pk a2 b2 +1 2 3 +select * from t3; +pk a3 b3 c3 d3 +1 2 3 4 3 - First row +select * from t4; +a4 b4 c4 +2 3 4 - First row +select * from t5; +pk a5 b5 c5 +1 2 3 5 - First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +flush status; begin; -update t1 set a=5 where pk=1; +update t1 set a1=5 where pk=1; +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 4 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 0 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 4 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 1 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +commit; +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 1 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 5 3 First row +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 5 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 1 +flush status; +begin; +update t1 set a1=6 where pk=1; +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 4 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 0 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 5 3 First row +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 5 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 1 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 1 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 6 3 First row +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 6 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 1 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 1 +commit; +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 1 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 1 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 6 3 First row +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 1 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 6 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 2 +flush status; +begin; +insert into t1 set pk=5, a1=6, b1=3, c1="New row"; +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 4 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 0 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 where pk=5; +pk a1 b1 c1 +select * from t1 order by pk desc; +pk a1 b1 c1 +2 7 8 Second row +1 6 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 6 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 where pk=5; +pk a1 b1 c1 +5 6 3 New row +select * from t1 where pk=5; +pk a1 b1 c1 +5 6 3 New row +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +2 7 8 Second row +1 6 3 First row +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +2 7 8 Second row +1 6 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 6 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +commit; +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +2 7 8 Second row +1 6 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 3 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +flush status; +begin; +delete from t1 where pk=2; +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 4 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 0 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 where pk=2; +pk a1 b1 c1 +2 7 8 Second row +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +2 7 8 Second row +1 6 3 First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 6 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +select * from t1 where pk=2; +pk a1 b1 c1 +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 6 3 First row +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 6 3 First row +select * from t1 where pk=2; +pk a1 b1 c1 +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 6 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 2 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +commit; +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 6 3 First row +select * from t1 where pk=2; +pk a1 b1 c1 +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 6 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 4 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +flush status; +begin; +update t1 set a1=9 where pk=1; +update t2 set a2=9 where pk=1; +update t3 set a3=9 where pk=1; +update t4 set a4=9 where a4=2; +update t5 set a5=9 where pk=1; show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 0 show status like "Qcache_inserts"; Variable_name Value -Qcache_inserts 7 +Qcache_inserts 0 show status like "Qcache_hits"; Variable_name Value -Qcache_hits 7 +Qcache_hits 0 select * from t1 order by pk desc; -pk a b c -2 7 8 Second row -1 4 3 First row +pk a1 b1 c1 +5 6 3 New row +1 6 3 First row +select * from t2; +pk a2 b2 +1 2 3 +select * from t3; +pk a3 b3 c3 d3 +1 2 3 4 3 - First row +select * from t4; +a4 b4 c4 +2 3 4 - First row +select * from t5; +pk a5 b5 c5 +1 2 3 5 - First row show status like "Qcache_queries_in_cache"; Variable_name Value -Qcache_queries_in_cache 1 +Qcache_queries_in_cache 5 show status like "Qcache_inserts"; Variable_name Value -Qcache_inserts 8 +Qcache_inserts 5 show status like "Qcache_hits"; Variable_name Value -Qcache_hits 7 +Qcache_hits 0 +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 9 3 First row +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 9 3 First row +select * from t2; +pk a2 b2 +1 9 3 +select * from t3; +pk a3 b3 c3 d3 +1 9 3 4 3 - First row +select * from t4; +a4 b4 c4 +9 3 4 - First row +select * from t5; +pk a5 b5 c5 +1 9 3 5 - First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 5 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 commit; +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 9 3 First row +select * from t2; +pk a2 b2 +1 9 3 +select * from t3; +pk a3 b3 c3 d3 +1 9 3 4 3 - First row +select * from t4; +a4 b4 c4 +9 3 4 - First row +select * from t5; +pk a5 b5 c5 +1 9 3 5 - First row show status like "Qcache_queries_in_cache"; Variable_name Value -Qcache_queries_in_cache 1 +Qcache_queries_in_cache 5 show status like "Qcache_inserts"; Variable_name Value -Qcache_inserts 8 +Qcache_inserts 10 show status like "Qcache_hits"; Variable_name Value -Qcache_hits 7 +Qcache_hits 0 select * from t1 order by pk desc; -pk a b c -2 7 8 Second row -1 5 3 First row -show status like "Qcache_inserts"; -Variable_name Value -Qcache_inserts 9 -show status like "Qcache_hits"; -Variable_name Value -Qcache_hits 7 -select * from t1 order by pk desc; -pk a b c -2 7 8 Second row -1 5 3 First row +pk a1 b1 c1 +5 6 3 New row +1 9 3 First row +select * from t2; +pk a2 b2 +1 9 3 +select * from t3; +pk a3 b3 c3 d3 +1 9 3 4 3 - First row +select * from t4; +a4 b4 c4 +9 3 4 - First row +select * from t5; +pk a5 b5 c5 +1 9 3 5 - First row show status like "Qcache_queries_in_cache"; Variable_name Value -Qcache_queries_in_cache 1 +Qcache_queries_in_cache 5 show status like "Qcache_inserts"; Variable_name Value -Qcache_inserts 9 +Qcache_inserts 10 show status like "Qcache_hits"; Variable_name Value -Qcache_hits 8 -drop table t1; +Qcache_hits 5 +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 9 3 First row +select * from t2; +pk a2 b2 +1 9 3 +select * from t3; +pk a3 b3 c3 d3 +1 9 3 4 3 - First row +select * from t4; +a4 b4 c4 +9 3 4 - First row +select * from t5; +pk a5 b5 c5 +1 9 3 5 - First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 10 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 10 +select * from t1 order by pk desc; +pk a1 b1 c1 +5 6 3 New row +1 9 3 First row +select * from t2; +pk a2 b2 +1 9 3 +select * from t3; +pk a3 b3 c3 d3 +1 9 3 4 3 - First row +select * from t4; +a4 b4 c4 +9 3 4 - First row +select * from t5; +pk a5 b5 c5 +1 9 3 5 - First row +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 5 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 10 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 15 +drop table t1, t2, t3, t4, t5; show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 0 diff --git a/mysql-test/r/ndb_condition_pushdown.result b/mysql-test/r/ndb_condition_pushdown.result index 6990e442899..f9f4104b4ea 100644 --- a/mysql-test/r/ndb_condition_pushdown.result +++ b/mysql-test/r/ndb_condition_pushdown.result @@ -278,6 +278,35 @@ pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4 3 3 9223372036854775805 3 d 3 3 9223372036854775805 3 d 4 4 9223372036854775806 4 e 4 4 9223372036854775806 4 e set engine_condition_pushdown = on; +explain +select auto from t1 where +string = "aaaa" and +vstring = "aaaa" and +bin = 0xAAAA and +vbin = 0xAAAA and +tiny = -1 and +short = -1 and +medium = -1 and +long_int = -1 and +longlong = -1 and +real_float > 1.0 and real_float < 2.0 and +real_double > 1.0 and real_double < 2.0 and +real_decimal > 1.0 and real_decimal < 2.0 and +utiny = 1 and +ushort = 1 and +umedium = 1 and +ulong = 1 and +ulonglong = 1 and +/* bits = b'001' and */ +options = 'one' and +flags = 'one' and +date_field = '1901-01-01' and +year_field = '1901' and +time_field = '01:01:01' and +date_time = '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string = "aaaa" and vstring = "aaaa" and @@ -306,6 +335,35 @@ date_time = '1901-01-01 01:01:01' order by auto; auto 1 +explain +select auto from t1 where +string != "aaaa" and +vstring != "aaaa" and +bin != 0xAAAA and +vbin != 0xAAAA and +tiny != -1 and +short != -1 and +medium != -1 and +long_int != -1 and +longlong != -1 and +(real_float < 1.0 or real_float > 2.0) and +(real_double < 1.0 or real_double > 2.0) and +(real_decimal < 1.0 or real_decimal > 2.0) and +utiny != 1 and +ushort != 1 and +umedium != 1 and +ulong != 1 and +ulonglong != 1 and +/* bits != b'001' and */ +options != 'one' and +flags != 'one' and +date_field != '1901-01-01' and +year_field != '1901' and +time_field != '01:01:01' and +date_time != '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string != "aaaa" and vstring != "aaaa" and @@ -336,6 +394,35 @@ auto 2 3 4 +explain +select auto from t1 where +string > "aaaa" and +vstring > "aaaa" and +bin > 0xAAAA and +vbin > 0xAAAA and +tiny < -1 and +short < -1 and +medium < -1 and +long_int < -1 and +longlong < -1 and +real_float > 1.1 and +real_double > 1.1 and +real_decimal > 1.1 and +utiny > 1 and +ushort > 1 and +umedium > 1 and +ulong > 1 and +ulonglong > 1 and +/* bits > b'001' and */ +(options = 'two' or options = 'three' or options = 'four') and +(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field > '1901-01-01' and +year_field > '1901' and +time_field > '01:01:01' and +date_time > '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string > "aaaa" and vstring > "aaaa" and @@ -366,6 +453,35 @@ auto 2 3 4 +explain +select auto from t1 where +string >= "aaaa" and +vstring >= "aaaa" and +bin >= 0xAAAA and +vbin >= 0xAAAA and +tiny <= -1 and +short <= -1 and +medium <= -1 and +long_int <= -1 and +longlong <= -1 and +real_float >= 1.0 and +real_double >= 1.0 and +real_decimal >= 1.0 and +utiny >= 1 and +ushort >= 1 and +umedium >= 1 and +ulong >= 1 and +ulonglong >= 1 and +/* bits >= b'001' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field >= '1901-01-01' and +year_field >= '1901' and +time_field >= '01:01:01' and +date_time >= '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string >= "aaaa" and vstring >= "aaaa" and @@ -397,6 +513,35 @@ auto 2 3 4 +explain +select auto from t1 where +string < "dddd" and +vstring < "dddd" and +bin < 0xDDDD and +vbin < 0xDDDD and +tiny > -4 and +short > -4 and +medium > -4 and +long_int > -4 and +longlong > -4 and +real_float < 4.4 and +real_double < 4.4 and +real_decimal < 4.4 and +utiny < 4 and +ushort < 4 and +umedium < 4 and +ulong < 4 and +ulonglong < 4 and +/* bits < b'100' and */ +(options = 'one' or options = 'two' or options = 'three') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and +date_field < '1904-01-01' and +year_field < '1904' and +time_field < '04:04:04' and +date_time < '1904-04-04 04:04:04' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string < "dddd" and vstring < "dddd" and @@ -427,6 +572,35 @@ auto 1 2 3 +explain +select auto from t1 where +string <= "dddd" and +vstring <= "dddd" and +bin <= 0xDDDD and +vbin <= 0xDDDD and +tiny >= -4 and +short >= -4 and +medium >= -4 and +long_int >= -4 and +longlong >= -4 and +real_float <= 4.5 and +real_double <= 4.5 and +real_decimal <= 4.5 and +utiny <= 4 - 1 + 1 and /* Checking function composition */ +ushort <= 4 and +umedium <= 4 and +ulong <= 4 and +ulonglong <= 4 and +/* bits <= b'100' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field <= '1904-04-04' and +year_field <= '1904' and +time_field <= '04:04:04' and +date_time <= '1904-04-04 04:04:04' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string <= "dddd" and vstring <= "dddd" and @@ -459,6 +633,35 @@ auto 3 4 create index medium_index on t1(medium); +explain +select auto from t1 where +string = "aaaa" and +vstring = "aaaa" and +bin = 0xAAAA and +vbin = 0xAAAA and +tiny = -1 and +short = -1 and +medium = -1 and +long_int = -1 and +longlong = -1 and +real_float > 1.0 and real_float < 2.0 and +real_double > 1.0 and real_double < 2.0 and +real_decimal > 1.0 and real_decimal < 2.0 and +utiny = 1 and +ushort = 1 and +umedium = 1 and +ulong = 1 and +ulonglong = 1 and +/* bits = b'001' and */ +options = 'one' and +flags = 'one' and +date_field = '1901-01-01' and +year_field = '1901' and +time_field = '01:01:01' and +date_time = '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ref medium_index medium_index 3 const 10 Using where with pushed condition; Using filesort select auto from t1 where string = "aaaa" and vstring = "aaaa" and @@ -487,6 +690,35 @@ date_time = '1901-01-01 01:01:01' order by auto; auto 1 +explain +select auto from t1 where +string != "aaaa" and +vstring != "aaaa" and +bin != 0xAAAA and +vbin != 0xAAAA and +tiny != -1 and +short != -1 and +medium != -1 and +long_int != -1 and +longlong != -1 and +(real_float < 1.0 or real_float > 2.0) and +(real_double < 1.0 or real_double > 2.0) and +(real_decimal < 1.0 or real_decimal > 2.0) and +utiny != 1 and +ushort != 1 and +umedium != 1 and +ulong != 1 and +ulonglong != 1 and +/* bits != b'001' and */ +options != 'one' and +flags != 'one' and +date_field != '1901-01-01' and +year_field != '1901' and +time_field != '01:01:01' and +date_time != '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range medium_index medium_index 3 NULL 20 Using where with pushed condition; Using filesort select auto from t1 where string != "aaaa" and vstring != "aaaa" and @@ -517,6 +749,35 @@ auto 2 3 4 +explain +select auto from t1 where +string > "aaaa" and +vstring > "aaaa" and +bin > 0xAAAA and +vbin > 0xAAAA and +tiny < -1 and +short < -1 and +medium < -1 and +long_int < -1 and +longlong < -1 and +real_float > 1.1 and +real_double > 1.1 and +real_decimal > 1.1 and +utiny > 1 and +ushort > 1 and +umedium > 1 and +ulong > 1 and +ulonglong > 1 and +/* bits > b'001' and */ +(options = 'two' or options = 'three' or options = 'four') and +(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field > '1901-01-01' and +year_field > '1901' and +time_field > '01:01:01' and +date_time > '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range medium_index medium_index 3 NULL 10 Using where with pushed condition; Using filesort select auto from t1 where string > "aaaa" and vstring > "aaaa" and @@ -547,6 +808,35 @@ auto 2 3 4 +explain +select auto from t1 where +string >= "aaaa" and +vstring >= "aaaa" and +bin >= 0xAAAA and +vbin >= 0xAAAA and +tiny <= -1 and +short <= -1 and +medium <= -1 and +long_int <= -1 and +longlong <= -1 and +real_float >= 1.0 and +real_double >= 1.0 and +real_decimal >= 1.0 and +utiny >= 1 and +ushort >= 1 and +umedium >= 1 and +ulong >= 1 and +ulonglong >= 1 and +/* bits >= b'001' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field >= '1901-01-01' and +year_field >= '1901' and +time_field >= '01:01:01' and +date_time >= '1901-01-01 01:01:01' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range medium_index medium_index 3 NULL 10 Using where with pushed condition; Using filesort select auto from t1 where string >= "aaaa" and vstring >= "aaaa" and @@ -578,6 +868,35 @@ auto 2 3 4 +explain +select auto from t1 where +string < "dddd" and +vstring < "dddd" and +bin < 0xDDDD and +vbin < 0xDDDD and +tiny > -4 and +short > -4 and +medium > -4 and +long_int > -4 and +longlong > -4 and +real_float < 4.4 and +real_double < 4.4 and +real_decimal < 4.4 and +utiny < 4 and +ushort < 4 and +umedium < 4 and +ulong < 4 and +ulonglong < 4 and +/* bits < b'100' and */ +(options = 'one' or options = 'two' or options = 'three') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and +date_field < '1904-01-01' and +year_field < '1904' and +time_field < '04:04:04' and +date_time < '1904-04-04 04:04:04' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range medium_index medium_index 3 NULL 10 Using where with pushed condition; Using filesort select auto from t1 where string < "dddd" and vstring < "dddd" and @@ -608,6 +927,35 @@ auto 1 2 3 +explain +select auto from t1 where +string <= "dddd" and +vstring <= "dddd" and +bin <= 0xDDDD and +vbin <= 0xDDDD and +tiny >= -4 and +short >= -4 and +medium >= -4 and +long_int >= -4 and +longlong >= -4 and +real_float <= 4.5 and +real_double <= 4.5 and +real_decimal <= 4.5 and +utiny <= 4 - 1 + 1 and /* Checking function composition */ +ushort <= 4 and +umedium <= 4 and +ulong <= 4 and +ulonglong <= 4 and +/* bits <= b'100' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field <= '1904-04-04' and +year_field <= '1904' and +time_field <= '04:04:04' and +date_time <= '1904-04-04 04:04:04' +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range medium_index medium_index 3 NULL 10 Using where with pushed condition; Using filesort select auto from t1 where string <= "dddd" and vstring <= "dddd" and @@ -639,6 +987,15 @@ auto 2 3 4 +explain +select auto from t1 where +string like "b%" and +vstring like "b%" and +bin like concat(0xBB, '%') and +vbin like concat(0xBB, '%') +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string like "b%" and vstring like "b%" and @@ -647,6 +1004,15 @@ vbin like concat(0xBB, '%') order by auto; auto 2 +explain +select auto from t1 where +string not like "b%" and +vstring not like "b%" and +bin not like concat(0xBB, '%') and +vbin not like concat(0xBB, '%') +order by auto; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort select auto from t1 where string not like "b%" and vstring not like "b%" and @@ -657,41 +1023,65 @@ auto 1 3 4 +explain +select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ALL PRIMARY NULL NULL NULL 6 Using where with pushed condition; Using filesort select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1; pk1 attr1 attr2 attr3 2 2 NULL NULL 3 3 3 d +explain +select * from t2 where attr3 is not null and attr1 > 2 order by pk1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where with pushed condition; Using filesort select * from t2 where attr3 is not null and attr1 > 2 order by pk1; pk1 attr1 attr2 attr3 3 3 3 d 4 4 4 e 5 5 5 f +explain +select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using where with pushed condition; Using filesort select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1; pk1 attr1 attr2 attr3 attr4 2 2 9223372036854775804 2 c 4 4 9223372036854775806 4 e 5 5 9223372036854775807 5 f +explain +select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where with pushed condition; Using temporary; Using filesort +1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using where with pushed condition select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1; pk1 attr1 attr2 attr3 pk1 attr1 attr2 attr3 attr4 0 0 0 a 0 0 0 0 a +explain +select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t4 range attr1 attr1 4 NULL 10 Using where with pushed condition; Using filesort select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1; pk1 attr1 attr2 attr3 attr4 2 2 9223372036854775804 2 c 4 4 9223372036854775806 4 e +explain +select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t4 range attr1 attr1 4 NULL 10 Using where with pushed condition; Using temporary; Using filesort +1 SIMPLE t3 ALL NULL NULL NULL NULL 6 Using where select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; pk1 attr1 attr2 attr3 attr4 pk1 attr1 attr2 attr3 attr4 2 2 9223372036854775804 2 c 2 2 9223372036854775804 2 c 3 3 9223372036854775805 3 d 3 3 9223372036854775805 3 d 4 4 9223372036854775806 4 e 4 4 9223372036854775806 4 e +explain select auto from t1 where string = "aaaa" collate latin1_general_ci order by auto; -auto -1 +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where; Using filesort +explain select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1; -pk1 attr1 attr2 attr3 -0 0 0 a -1 1 1 b -3 3 3 d -4 4 4 e -5 5 5 f +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 6 Using where; Using filesort set engine_condition_pushdown = @old_ecpd; DROP TABLE t1,t2,t3,t4; diff --git a/mysql-test/r/query_cache.result b/mysql-test/r/query_cache.result index 3568be8cc12..6863534b2d8 100644 --- a/mysql-test/r/query_cache.result +++ b/mysql-test/r/query_cache.result @@ -957,3 +957,25 @@ drop table t1; select table_name from information_schema.tables where table_schema="test"; table_name +SET SESSION query_cache_type = 1; +set global query_cache_size=1024*1024; +flush query cache; +create table t1 ( a int ); +insert into t1 values (1); +select a from t1; +a +1 +select a from t1; +a +1 +show status like 'qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 1 +repair table t1; +Table Op Msg_type Msg_text +test.t1 repair status OK +show status like 'qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 0 +drop table t1; +set GLOBAL query_cache_size=0; diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result index 481057c751c..b2a88073cce 100644 --- a/mysql-test/r/select.result +++ b/mysql-test/r/select.result @@ -2423,3 +2423,26 @@ SELECT * FROM t1 WHERE city LIKE '%london%' AND city='London'; city London DROP TABLE t1; +create table t1 (a int(11) unsigned, b int(11) unsigned); +insert into t1 values (1,0), (1,1), (1,2); +select a-b from t1 order by 1; +a-b +0 +1 +18446744073709551615 +select a-b , (a-b < 0) from t1 order by 1; +a-b (a-b < 0) +0 0 +1 0 +18446744073709551615 0 +select a-b as d, (a-b >= 0), b from t1 group by b having d >= 0; +d (a-b >= 0) b +1 1 0 +0 1 1 +18446744073709551615 1 2 +select cast((a - b) as unsigned) from t1 order by 1; +cast((a - b) as unsigned) +0 +1 +18446744073709551615 +drop table t1; diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index acfc5797110..2984bd3975f 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -962,7 +962,7 @@ comment 'Characteristics procedure test' return 42| show create function chistics| Function sql_mode Create Function -chistics CREATE FUNCTION `test`.`chistics`() RETURNS int +chistics CREATE FUNCTION `test`.`chistics`() RETURNS int(11) DETERMINISTIC SQL SECURITY INVOKER COMMENT 'Characteristics procedure test' @@ -975,7 +975,7 @@ no sql comment 'Characteristics function test'| show create function chistics| Function sql_mode Create Function -chistics CREATE FUNCTION `test`.`chistics`() RETURNS int +chistics CREATE FUNCTION `test`.`chistics`() RETURNS int(11) NO SQL DETERMINISTIC SQL SECURITY INVOKER @@ -2026,11 +2026,11 @@ bug2564_2 ANSI_QUOTES CREATE PROCEDURE "test"."bug2564_2"() insert into "t1" values ('foo', 1) show create function bug2564_3| Function sql_mode Create Function -bug2564_3 CREATE FUNCTION `test`.`bug2564_3`(x int, y int) RETURNS int +bug2564_3 CREATE FUNCTION `test`.`bug2564_3`(x int, y int) RETURNS int(11) return x || y show create function bug2564_4| Function sql_mode Create Function -bug2564_4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI CREATE FUNCTION "test"."bug2564_4"(x int, y int) RETURNS int +bug2564_4 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI CREATE FUNCTION "test"."bug2564_4"(x int, y int) RETURNS int(11) return x || y drop procedure bug2564_1| drop procedure bug2564_2| @@ -2095,6 +2095,28 @@ drop procedure bug4579_1| drop procedure bug4579_2| drop table t3| drop table if exists t3| +drop procedure if exists bug2773| +create function bug2773() returns int return null| +create table t3 as select bug2773()| +show create table t3| +Table Create Table +t3 CREATE TABLE `t3` ( + `bug2773()` int(11) default NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +drop table t3| +drop function bug2773| +drop procedure if exists bug3788| +create function bug3788() returns date return cast("2005-03-04" as date)| +select bug3788()| +bug3788() +2005-03-04 +drop function bug3788| +create function bug3788() returns binary(5) return 5| +select bug3788()| +bug3788() +5 +drop function bug3788| +drop table if exists t3| create table t3 (f1 int, f2 int, f3 int)| insert into t3 values (1,1,1)| drop procedure if exists bug4726| diff --git a/mysql-test/r/strict.result b/mysql-test/r/strict.result index c28ea0fce02..c3d2533a2e3 100644 --- a/mysql-test/r/strict.result +++ b/mysql-test/r/strict.result @@ -1,7 +1,7 @@ set @@sql_mode='ansi,traditional'; select @@sql_mode; @@sql_mode -REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER +REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER DROP TABLE IF EXISTS t1; CREATE TABLE t1 (col1 date); INSERT INTO t1 VALUES('2004-01-01'),('0000-10-31'),('2004-02-29'); @@ -906,14 +906,14 @@ INSERT INTO t1 VALUES ('hello', 'hello'),('he', 'he'),('hello ', 'hello '); INSERT INTO t1 (col1) VALUES ('hellobob'); ERROR 22001: Data too long for column 'col1' at row 1 INSERT INTO t1 (col2) VALUES ('hellobob'); -ERROR 01000: Data truncated for column 'col2' at row 1 +ERROR 22001: Data too long for column 'col2' at row 1 INSERT INTO t1 (col2) VALUES ('hello '); Warnings: Note 1265 Data truncated for column 'col2' at row 1 UPDATE t1 SET col1 ='hellobob' WHERE col1 ='he'; ERROR 22001: Data too long for column 'col1' at row 2 UPDATE t1 SET col2 ='hellobob' WHERE col2 ='he'; -ERROR 01000: Data truncated for column 'col2' at row 2 +ERROR 22001: Data too long for column 'col2' at row 2 INSERT IGNORE INTO t1 VALUES ('hellobob', 'hellobob'); Warnings: Warning 1265 Data truncated for column 'col1' at row 1 @@ -1011,3 +1011,22 @@ col1 col2 3 99 DROP TABLE t1; +set sql_mode='traditional'; +create table t1 (charcol char(255), varcharcol varchar(255), +binarycol binary(255), varbinarycol varbinary(255), tinytextcol tinytext, +tinyblobcol tinyblob); +insert into t1 (charcol) values (repeat('x',256)); +ERROR 22001: Data too long for column 'charcol' at row 1 +insert into t1 (varcharcol) values (repeat('x',256)); +ERROR 22001: Data too long for column 'varcharcol' at row 1 +insert into t1 (binarycol) values (repeat('x',256)); +ERROR 22001: Data too long for column 'binarycol' at row 1 +insert into t1 (varbinarycol) values (repeat('x',256)); +ERROR 22001: Data too long for column 'varbinarycol' at row 1 +insert into t1 (tinytextcol) values (repeat('x',256)); +ERROR 22001: Data too long for column 'tinytextcol' at row 1 +insert into t1 (tinyblobcol) values (repeat('x',256)); +ERROR 22001: Data too long for column 'tinyblobcol' at row 1 +select * from t1; +charcol varcharcol binarycol varbinarycol tinytextcol tinyblobcol +drop table t1; diff --git a/mysql-test/r/sum_distinct.result b/mysql-test/r/sum_distinct.result index 34242817a54..0591943e800 100644 --- a/mysql-test/r/sum_distinct.result +++ b/mysql-test/r/sum_distinct.result @@ -98,60 +98,60 @@ DROP TABLE t1; CREATE TABLE t1 (id INTEGER); CREATE TABLE t2 (id INTEGER); INSERT INTO t1 (id) VALUES (1), (1), (1),(1); -INSERT INTO t2 (id) SELECT id FROM t1; -INSERT INTO t1 (id) SELECT id FROM t2; +INSERT INTO t1 (id) SELECT id FROM t1; /* 8 */ -INSERT INTO t1 (id) SELECT id FROM t2; +INSERT INTO t1 (id) SELECT id FROM t1; /* 12 */ -INSERT INTO t1 (id) SELECT id FROM t2; +INSERT INTO t1 (id) SELECT id FROM t1; /* 16 */ -INSERT INTO t1 (id) SELECT id FROM t2; +INSERT INTO t1 (id) SELECT id FROM t1; /* 20 */ -INSERT INTO t1 (id) SELECT id FROM t2; +INSERT INTO t1 (id) SELECT id FROM t1; /* 24 */ -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+1 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+2 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+4 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+8 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+16 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+32 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+64 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+128 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+256 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+512 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+1024 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+2048 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+4096 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+8192 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; +INSERT INTO t1 SELECT id+1 FROM t1; +INSERT INTO t1 SELECT id+2 FROM t1; +INSERT INTO t1 SELECT id+4 FROM t1; +INSERT INTO t1 SELECT id+8 FROM t1; +INSERT INTO t1 SELECT id+16 FROM t1; +INSERT INTO t1 SELECT id+32 FROM t1; +INSERT INTO t1 SELECT id+64 FROM t1; +INSERT INTO t1 SELECT id+128 FROM t1; +INSERT INTO t1 SELECT id+256 FROM t1; +INSERT INTO t1 SELECT id+512 FROM t1; +SELECT AVG(DISTINCT id) FROM t1 GROUP BY id % 13; +AVG(DISTINCT id) +513.5000 +508.0000 +509.0000 +510.0000 +511.0000 +512.0000 +513.0000 +514.0000 +515.0000 +516.0000 +517.0000 +511.5000 +512.5000 +SELECT SUM(DISTINCT id)/COUNT(DISTINCT id) FROM t1 GROUP BY id % 13; +SUM(DISTINCT id)/COUNT(DISTINCT id) +513.50000 +508.00000 +509.00000 +510.00000 +511.00000 +512.00000 +513.00000 +514.00000 +515.00000 +516.00000 +517.00000 +511.50000 +512.50000 +INSERT INTO t1 SELECT id+1024 FROM t1; +INSERT INTO t1 SELECT id+2048 FROM t1; +INSERT INTO t1 SELECT id+4096 FROM t1; +INSERT INTO t1 SELECT id+8192 FROM t1; INSERT INTO t2 SELECT id FROM t1 ORDER BY id*rand(); SELECT SUM(DISTINCT id) sm FROM t1; sm diff --git a/mysql-test/r/system_mysql_db.result b/mysql-test/r/system_mysql_db.result index 930acf68706..532f0eca014 100644 --- a/mysql-test/r/system_mysql_db.result +++ b/mysql-test/r/system_mysql_db.result @@ -154,5 +154,26 @@ procs_priv CREATE TABLE `procs_priv` ( PRIMARY KEY (`Host`,`Db`,`User`,`Routine_name`), KEY `Grantor` (`Grantor`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Procedure privileges' +show create table proc; +Table Create Table +proc CREATE TABLE `proc` ( + `db` char(64) character set latin1 collate latin1_bin NOT NULL default '', + `name` char(64) NOT NULL default '', + `type` enum('FUNCTION','PROCEDURE') NOT NULL default 'FUNCTION', + `specific_name` char(64) NOT NULL default '', + `language` enum('SQL') NOT NULL default 'SQL', + `sql_data_access` enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') NOT NULL default 'CONTAINS_SQL', + `is_deterministic` enum('YES','NO') NOT NULL default 'NO', + `security_type` enum('INVOKER','DEFINER') NOT NULL default 'DEFINER', + `param_list` blob NOT NULL, + `returns` char(64) NOT NULL default '', + `body` blob NOT NULL, + `definer` char(77) character set latin1 collate latin1_bin NOT NULL default '', + `created` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `modified` timestamp NOT NULL default '0000-00-00 00:00:00', + `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE') NOT NULL default '', + `comment` char(64) character set latin1 collate latin1_bin NOT NULL default '', + PRIMARY KEY (`db`,`name`,`type`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Stored Procedures' show tables; Tables_in_test diff --git a/mysql-test/t/ansi.test b/mysql-test/t/ansi.test index faf20f1e57e..9d235df5b46 100644 --- a/mysql-test/t/ansi.test +++ b/mysql-test/t/ansi.test @@ -19,7 +19,8 @@ SELECT 'A' || 'B'; CREATE TABLE t1 (id INT, id2 int); SELECT id,NULL,1,1.1,'a' FROM t1 GROUP BY id; ---error 1055 +#No --error 1055 error due to temporary fix for BUG#8510: +#ONLY_FULL_GROUP_BY is overly restrictive, so remove it from ANSI mode. SELECT id FROM t1 GROUP BY id2; drop table t1; diff --git a/mysql-test/t/count_distinct2.test b/mysql-test/t/count_distinct2.test index 9100f622dec..2b982e3e620 100644 --- a/mysql-test/t/count_distinct2.test +++ b/mysql-test/t/count_distinct2.test @@ -64,7 +64,7 @@ select count(distinct n) from t1; show status like 'Created_tmp_disk_tables'; drop table t1; -#test conversion from heap to MyISAM +# Test use of MyISAM tmp tables create table t1 (s text); let $1=5000; disable_query_log; diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def new file mode 100644 index 00000000000..d2ab8158c51 --- /dev/null +++ b/mysql-test/t/disabled.def @@ -0,0 +1,20 @@ +############################################################################## +# +# List the test cases that are to be disabled temporarely. +# +# Separate the test case name and the comment with ':'. +# +# : Comment test +# +# Don't use any TAB characters for whitespace. +# +############################################################################## + +ndb_alter_table : NDB team needs to fix +ndb_autodiscover : NDB team needs to fix +ndb_autodiscover2 : NDB team needs to fix +ndb_cache_multi : NDB team needs to fix +ndb_cache_multi2 : NDB team needs to fix +ndb_multi : NDB team needs to fix +ndb_restore : NDB team needs to fix + diff --git a/mysql-test/t/federated.test b/mysql-test/t/federated.test index 5c6eb8db179..850213e6916 100644 --- a/mysql-test/t/federated.test +++ b/mysql-test/t/federated.test @@ -14,7 +14,136 @@ DROP DATABASE IF EXISTS federated; --enable_warnings CREATE DATABASE federated; +CREATE TABLE federated.t1 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + DEFAULT CHARSET=latin1; + +connection master; +--disable_warnings +DROP DATABASE IF EXISTS federated; +--enable_warnings +CREATE DATABASE federated; + +# test too many items (malformed) in the comment string url +--error 1005 +eval CREATE TABLE federated.t1 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://root@127.0.0.1:@/too/many/items/federated/t1'; + +# test not enough items (malformed) in the comment string url +--error 1005 +eval CREATE TABLE federated.t1 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://root@127.0.0.1'; + +# test non-existant table +--replace_result $SLAVE_MYPORT SLAVE_PORT +--error 1219 +eval CREATE TABLE federated.t1 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t3'; + +# test bad user/password +--replace_result $SLAVE_MYPORT SLAVE_PORT +--error 1218 +eval CREATE TABLE federated.t1 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://user:pass@127.0.0.1:$SLAVE_MYPORT/federated/t1'; + +DROP TABLE IF EXISTS federated.t1; +# # correct connection, same named tables +--replace_result $SLAVE_MYPORT SLAVE_PORT +eval CREATE TABLE federated.t1 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1'; + +INSERT INTO federated.t1 (id, name) VALUES (1, 'foo'); +INSERT INTO federated.t1 (id, name) VALUES (2, 'fee'); + +SELECT * FROM federated.t1; +DELETE FROM federated.t1; +DROP TABLE federated.t1; + +# correct connection, differently named tables +DROP TABLE IF EXISTS federated.t2; +--replace_result $SLAVE_MYPORT SLAVE_PORT +eval CREATE TABLE federated.t2 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1'; + +INSERT INTO federated.t2 (id, name) VALUES (1, 'foo'); +INSERT INTO federated.t2 (id, name) VALUES (2, 'fee'); + +SELECT * FROM federated.t2; +DROP TABLE federated.t2; + +connection slave; +DROP TABLE IF EXISTS federated.t1; + +DROP TABLE IF EXISTS federated.`t1%`; +CREATE TABLE federated.`t1%` ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + DEFAULT CHARSET=latin1; + +connection master; +DROP TABLE IF EXISTS federated.t1; + +--replace_result $SLAVE_MYPORT SLAVE_PORT +eval CREATE TABLE federated.t1 ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1%'; + +INSERT INTO federated.t1 (id, name) VALUES (1, 'foo'); +INSERT INTO federated.t1 (id, name) VALUES (2, 'fee'); + +SELECT * FROM federated.t1; +DELETE FROM federated.t1; +DROP TABLE IF EXISTS federated.t1; + +eval CREATE TABLE federated.`t1%` ( + `id` int(20) NOT NULL, + `name` varchar(32) NOT NULL default '' + ) + ENGINE="FEDERATED" DEFAULT CHARSET=latin1 + COMMENT='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1%'; + +INSERT INTO federated.`t1%` (id, name) VALUES (1, 'foo'); +INSERT INTO federated.`t1%` (id, name) VALUES (2, 'fee'); + +SELECT * FROM federated.`t1%`; +DELETE FROM federated.`t1%`; +DROP TABLE IF EXISTS federated.`t1%`; + +connection slave; +DROP TABLE IF EXISTS federated.`t1%`; + # I wanted to use timestamp, but results will fail if so!!! +DROP TABLE IF EXISTS federated.t1; CREATE TABLE federated.t1 ( `id` int(20) NOT NULL auto_increment, `name` varchar(32) NOT NULL default '', @@ -25,12 +154,8 @@ CREATE TABLE federated.t1 ( KEY `other_key` (`other`)) DEFAULT CHARSET=latin1; -connection master; ---disable_warnings -DROP DATABASE IF EXISTS federated; ---enable_warnings -CREATE DATABASE federated; +connection master; --replace_result $SLAVE_MYPORT SLAVE_PORT eval CREATE TABLE federated.t1 ( `id` int(20) NOT NULL auto_increment, @@ -660,33 +785,36 @@ INSERT INTO federated.t1 VALUES (0x0001); INSERT INTO federated.t1 VALUES (0x0100); SELECT HEX(a) FROM federated.t1; - -# TODO -# -# CREATE TABLE federated.t1 -# (a char(20)) charset=cp1251 -# ENGINE="FEDERATED" COMMENT="mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1"; -# -# connection slave; +# # simple tests for cyrillic, given to me by +# DROP TABLE IF EXISTS federated.t1; +# --replace_result $SLAVE_MYPORT SLAVE_PORT +# eval CREATE TABLE federated.t1 +# (a char(20)) charset=cp1251 +# ENGINE="FEDERATED" COMMENT="mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1"; +# # +# connection slave; # DROP TABLE IF EXISTS federated.t1; # CREATE TABLE federated.t1 (a char(20)) charset=cp1251; -# -# connection master; +# # +# connection master; # INSERT INTO federated.t1 values (_cp1251'Ŕ-ÁÂĂ-1'); # INSERT INTO federated.t1 values (_cp1251'Á-ÂĂÄ-2'); +# SELECT * FROM federated.t1; # SET names cp1251; # INSERT INTO federated.t1 values ('Â-ĂÄĹ-3'); # INSERT INTO federated.t1 values ('Ă-ŨĆ-4'); # SELECT * FROM federated.t1; -# select hex(a) from federated.t1; -# select hex(a) from federated.t1 ORDER BY a desc; -# update federated.t1 SET a='Ŕ-ÁÂĂ-1íîâűé' WHERE a='Ŕ-ÁÂĂ-1'; +# SELECT hex(a) from federated.t1; +# SELECT hex(a) from federated.t1 ORDER BY a desc; +# UPDATE federated.t1 SET a='Ŕ-ÁÂĂ-1íîâűé' WHERE a='Ŕ-ÁÂĂ-1'; # SELECT * FROM federated.t1; # DELETE FROM federated.t1 WHERE a='Ă-ŨĆ-4'; # SELECT * FROM federated.t1; # DELETE FROM federated.t1 WHERE a>'Â-'; # SELECT * FROM federated.t1; # SET names default; +# DROP TABLE IF EXISTS federated.t1; + # # DROP TABLE IF EXISTS federated.t1; # diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test index 4809f6f0357..2acf69dad76 100644 --- a/mysql-test/t/fulltext.test +++ b/mysql-test/t/fulltext.test @@ -59,6 +59,7 @@ select * from t1 where MATCH a,b AGAINST ("+call* +coll*" IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('"support now"' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE); +select * from t1 where MATCH a,b AGAINST ('"now support"' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('"text search" "now support"' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('"text search" -"now support"' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('"text search" +"now support"' IN BOOLEAN MODE); @@ -68,7 +69,6 @@ select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('+(support collections) +foobar*' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('+(+(support collections)) +foobar*' IN BOOLEAN MODE); select * from t1 where MATCH a,b AGAINST ('+collections -supp* -foobar*' IN BOOLEAN MODE); -select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE); # bug#2708, bug#3870 crash diff --git a/mysql-test/t/fulltext_order_by.test b/mysql-test/t/fulltext_order_by.test index 5856f68ec9e..5c1b4127d8c 100644 --- a/mysql-test/t/fulltext_order_by.test +++ b/mysql-test/t/fulltext_order_by.test @@ -31,6 +31,14 @@ SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE a=7 an SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) as rel FROM t1 ORDER BY rel; SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) as rel FROM t1 ORDER BY rel; +# +# BUG#6635 - test_if_skip_sort_order() thought it can skip filesort +# for fulltext searches too +# +alter table t1 add key m (message); +explain SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message; +SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message desc; + drop table t1; # diff --git a/mysql-test/t/func_group.test b/mysql-test/t/func_group.test index de9c7ff3ecb..0f03eae7e12 100644 --- a/mysql-test/t/func_group.test +++ b/mysql-test/t/func_group.test @@ -591,3 +591,13 @@ INSERT INTO t1 VALUES (1,1,4), (2,2,1), (3,1,3), (4,2,1), (5,1,1); SELECT MAX(id) FROM t1 WHERE id < 3 AND a=2 AND b=6; DROP TABLE t1; + +# +# Test that new VARCHAR correctly works with COUNT(DISTINCT) +# + +CREATE TABLE t1 (a VARCHAR(400)); +INSERT INTO t1 (a) VALUES ("A"), ("a"), ("a "), ("a "), + ("B"), ("b"), ("b "), ("b "); +SELECT COUNT(DISTINCT a) FROM t1; +DROP TABLE t1; diff --git a/mysql-test/t/func_str.test b/mysql-test/t/func_str.test index a69febef340..2fa6b603155 100644 --- a/mysql-test/t/func_str.test +++ b/mysql-test/t/func_str.test @@ -485,3 +485,19 @@ DROP TABLE t1; # SELECT CHAR(NULL,121,83,81,'76') as my_column; SELECT CHAR_LENGTH(CHAR(NULL,121,83,81,'76')) as my_column; +# +# Test case for bug #8669: null aes_decrypt result in order by query +# + +CREATE TABLE t1 (id int PRIMARY KEY, str char(255) NOT NULL); +CREATE TABLE t2 (id int NOT NULL UNIQUE); +INSERT INTO t2 VALUES (1),(2); +INSERT INTO t1 VALUES (1, aes_encrypt('foo', 'bar')); +INSERT INTO t1 VALUES (2, 'not valid'); + +SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id; +SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id + ORDER BY t1.id; + +DROP TABLE t1, t2; + diff --git a/mysql-test/t/heap.test b/mysql-test/t/heap.test index 6353cd78d6a..b69649585ff 100644 --- a/mysql-test/t/heap.test +++ b/mysql-test/t/heap.test @@ -406,3 +406,32 @@ drop table t1; # Reset varchar test # eval set storage_engine=$default; + +# +# Bug #8489: Strange auto_increment behaviour +# + +create table t1 (a bigint unsigned auto_increment primary key, b int, + key (b, a)) engine=heap; +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +insert t1 (b) values (1); +select * from t1; +drop table t1; +create table t1 (a int not null, b int not null auto_increment, + primary key(a, b), key(b)) engine=heap; +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +insert t1 (a) values (1); +select * from t1; +drop table t1; diff --git a/mysql-test/t/innodb.test b/mysql-test/t/innodb.test index 3c9752bb928..91a2b5b0e54 100644 --- a/mysql-test/t/innodb.test +++ b/mysql-test/t/innodb.test @@ -130,17 +130,26 @@ insert into t1 values (6); insert into t1 values (4); select n from t1; set autocommit=0; +# +# savepoints +# begin; savepoint `my_savepoint`; insert into t1 values (7); savepoint `savept2`; insert into t1 values (3); select n from t1; -rollback to savepoint `savept2`; +savepoint savept3; +rollback to savepoint savept2; +--error 1305 +rollback to savepoint savept3; +rollback to savepoint savept2; release savepoint `my_savepoint`; select n from t1; -- error 1305 rollback to savepoint `my_savepoint`; +--error 1305 +rollback to savepoint savept2; insert into t1 values (8); savepoint sv; commit; diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test index 66de5e5a4c9..38b5ef6151f 100644 --- a/mysql-test/t/join_outer.test +++ b/mysql-test/t/join_outer.test @@ -430,6 +430,8 @@ insert into t1 values(1),(2); insert into t2 values(2),(3); insert into t3 values(2),(4); select * from t1 natural left join t2 natural left join t3; +select * from t1 natural left join t2 where (t2.i is not null)=0; +select * from t1 natural left join t2 where (t2.i is not null) is not null; drop table t1,t2,t3; # @@ -457,6 +459,19 @@ explain select * from t1 left join t2 on b1 = a1 left join t3 on c1 = a1 an drop table t1, t2, t3; +# Test for BUG#8711 '<=>' was considered to be a NULL-rejecting predicate. +create table t1 ( + a int(11), + b char(10), + key (a) +); +insert into t1 (a) values (1),(2),(3),(4); +create table t2 (a int); + +select * from t1 left join t2 on t1.a=t2.a where not (t2.a <=> t1.a); +select * from t1 left join t2 on t1.a=t2.a having not (t2.a <=> t1.a); +drop table t1,t2; + # Test for BUG#5088 create table t1 ( @@ -617,3 +632,23 @@ select * from t2 right join t1 on t2.a=t1.a; select straight_join * from t2 right join t1 on t2.a=t1.a; DROP TABLE t0,t1,t2,t3; + +# +# Test for bug #9017: left join mistakingly converted to inner join +# + +CREATE TABLE t1 (a int PRIMARY KEY, b int); +CREATE TABLE t2 (a int PRIMARY KEY, b int); + +INSERT INTO t1 VALUES (1,1), (2,1), (3,1), (4,2); +INSERT INTO t2 VALUES (1,2), (2,2); + +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a; +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a WHERE t1.b=1; +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a + WHERE t1.b=1 XOR (NOT ISNULL(t2.a) AND t2.b=1); +SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a WHERE not(0+(t1.a=30 and t2.b=1)); + +DROP TABLE t1,t2; + + diff --git a/mysql-test/t/mysqldump.test b/mysql-test/t/mysqldump.test index be24c380e0d..89f578dbb20 100644 --- a/mysql-test/t/mysqldump.test +++ b/mysql-test/t/mysqldump.test @@ -183,3 +183,13 @@ INSERT INTO t2 VALUES (4),(5),(6); --exec $MYSQL_DUMP --skip-comments --ignore-table=test.t1 test DROP TABLE t1; DROP TABLE t2; + +# +# Bug #8830 +# + +CREATE TABLE t1 (`b` blob); +INSERT INTO `t1` VALUES (0x602010000280100005E71A); +--exec $MYSQL_DUMP --skip-extended-insert --hex-blob test --skip-comments t1 +DROP TABLE t1; + diff --git a/mysql-test/t/ndb_alter_table.test b/mysql-test/t/ndb_alter_table.test index 3544a50c3e1..2edb358d386 100644 --- a/mysql-test/t/ndb_alter_table.test +++ b/mysql-test/t/ndb_alter_table.test @@ -1,4 +1,5 @@ -- source include/have_ndb.inc +-- source include/have_multi_ndb.inc --disable_warnings DROP TABLE IF EXISTS t1; @@ -137,6 +138,21 @@ INSERT INTO t1 VALUES (1,2,0),(18,19,4),(20,21,0); select c from t1 order by c; drop table t1; +create table t1 ( a int primary key, b varchar(10), c varchar(10), index (b) ) +engine=ndb; +insert into t1 values (1,'one','one'), (2,'two','two'), (3,'three','three'); +create index c on t1(c); +connection server2; +select * from t1 where b = 'two'; +connection server1; +alter table t1 drop index c; +connection server2; +--error 1146 +select * from t1 where b = 'two'; +select * from t1 where b = 'two'; +connection server1; +drop table t1; + #--disable_warnings #DROP TABLE IF EXISTS t2; #--enable_warnings diff --git a/mysql-test/t/ndb_cache2.test b/mysql-test/t/ndb_cache2.test index 173095e9f1f..7f960e5ef3a 100644 --- a/mysql-test/t/ndb_cache2.test +++ b/mysql-test/t/ndb_cache2.test @@ -2,7 +2,7 @@ -- source include/have_ndb.inc --disable_warnings -drop table if exists t1; +drop table if exists t1, t2, t3, t4, t5; --enable_warnings @@ -10,19 +10,47 @@ drop table if exists t1; set GLOBAL query_cache_type=on; set GLOBAL query_cache_size=1355776; # Turn on thread that will fetch commit count for open tables -set GLOBAL ndb_cache_check_time=1; +set GLOBAL ndb_cache_check_time=100; reset query cache; flush status; -# Wait for thread to wake up and start "working" -sleep 20; - -# Create test table in NDB -CREATE TABLE t1 ( pk int not null primary key, - a int, b int not null, c varchar(20)) ENGINE=ndbcluster; +# Create test tables in NDB +CREATE TABLE t1 ( + pk int not null primary key, + a1 int, + b1 int not null, + c1 varchar(20) +) ENGINE=ndb; +CREATE TABLE t2 ( + pk int not null primary key, + a2 int, + b2 int not null +) ENGINE=ndb; +CREATE TABLE t3 ( + pk int not null primary key, + a3 int, + b3 int not null, + c3 int not null, + d3 varchar(20) +) ENGINE=ndb; +CREATE TABLE t4 ( + a4 int, + b4 int not null, + c4 char(20) +) ENGINE=ndbcluster; +CREATE TABLE t5 ( + pk int not null primary key, + a5 int, + b5 int not null, + c5 varchar(255) +) ENGINE=ndbcluster; insert into t1 value (1, 2, 3, 'First row'); +insert into t2 value (1, 2, 3); +insert into t3 value (1, 2, 3, 4, '3 - First row'); +insert into t4 value (2, 3, '4 - First row'); +insert into t5 value (1, 2, 3, '5 - First row'); -# Perform one query which should be inerted in query cache +# Perform one query which should be inserted in query cache select * from t1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; @@ -33,7 +61,7 @@ select * from t1; show status like "Qcache_hits"; # Update the table and make sure the correct data is returned -update t1 set a=3 where pk=1; +update t1 set a1=3 where pk=1; select * from t1; show status like "Qcache_inserts"; show status like "Qcache_hits"; @@ -48,18 +76,18 @@ select * from t1 order by pk desc; show status like "Qcache_hits"; # Perform a "new" query and make sure the query cache is not hit -select * from t1 where b=3; +select * from t1 where b1=3; show status like "Qcache_queries_in_cache"; show status like "Qcache_hits"; # Same query again... -select * from t1 where b=3; +select * from t1 where b1=3; show status like "Qcache_hits"; # Delete from the table -delete from t1 where c='Fourth row'; +delete from t1 where c1='Fourth row'; show status like "Qcache_queries_in_cache"; -select * from t1 where b=3; +select * from t1 where b1=3; show status like "Qcache_hits"; # Start another connection and check that the query cache is hit @@ -67,11 +95,11 @@ connect (con1,localhost,root,,); connection con1; use test; select * from t1 order by pk desc; -select * from t1 where b=3; +select * from t1 where b1=3; show status like "Qcache_hits"; -# Update the table and switch to other connection -update t1 set a=4 where b=3; +# Update the table and switch to other connection +update t1 set a1=4 where b1=3; connect (con2,localhost,root,,); connection con2; use test; @@ -87,10 +115,23 @@ show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; -# Use transactions and make sure the query cache is not updated until -# transaction is commited +# Load all tables into cache +select * from t2; +select * from t3; +select * from t4; +select * from t5; +show status like "Qcache_queries_in_cache"; + +##################################################################### +# Start transaction and perform update +# Switch to other transaction and check that update does not show up +# Switch back and commit transaction +# Switch to other transaction and check that update shows up +##################################################################### +connection con1; +flush status; begin; -update t1 set a=5 where pk=1; +update t1 set a1=5 where pk=1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; @@ -101,8 +142,6 @@ show status like "Qcache_inserts"; show status like "Qcache_hits"; connection con1; commit; -# Sleep to let the query cache thread update commit count -sleep 10; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; @@ -116,8 +155,203 @@ show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; -drop table t1; +##################################################################### +# Start transaction and perform update +# Switch to other transaction and check that update does not show up +# Switch back, perform selects and commit transaction +# Switch to other transaction and check that update shows up +##################################################################### +connection con1; +flush status; +begin; +update t1 set a1=6 where pk=1; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con2; +select * from t1 order by pk desc; +select * from t1 order by pk desc; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con1; +# The two queries below will not hit cache since transaction is ongoing +select * from t1 order by pk desc; +select * from t1 order by pk desc; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +commit; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con2; +select * from t1 order by pk desc; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con1; +select * from t1 order by pk desc; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; + +##################################################################### +# Start transaction and perform insert +# Switch to other transaction and check that insert does not show up +# Switch back, perform selects and commit transaction +# Switch to other transaction and check that update shows up +##################################################################### +connection con1; +flush status; +begin; +insert into t1 set pk=5, a1=6, b1=3, c1="New row"; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con2; +select * from t1 where pk=5; +select * from t1 order by pk desc; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con1; +# The below four queries will not be cached, trans is ongoing +select * from t1 where pk=5; +select * from t1 where pk=5; +select * from t1 order by pk desc; +select * from t1 order by pk desc; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +commit; + +connection con2; +select * from t1 order by pk desc; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; + +connection con1; + +##################################################################### +# Start transaction and perform delete +# Switch to other transaction and check that delete does not show up +# Switch back, perform selects and commit transaction +# Switch to other transaction and check that update shows up +##################################################################### +connection con1; +flush status; +begin; +delete from t1 where pk=2; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con2; +select * from t1 where pk=2; +select * from t1 order by pk desc; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con1; +# The below four queries will not be cached, trans is ongoing +select * from t1 where pk=2; +select * from t1 order by pk desc; +select * from t1 order by pk desc; +select * from t1 where pk=2; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +commit; + +connection con2; +select * from t1 order by pk desc; +select * from t1 where pk=2; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; + +connection con1; + +##################################################################### +# Start a transaction which updates all tables +# Switch to other transaction and check updates does not show up +# Switch back, perform selects and commit transaction +# Switch to other transaction and check that update shows up +##################################################################### +flush status; +begin; +update t1 set a1=9 where pk=1; +update t2 set a2=9 where pk=1; +update t3 set a3=9 where pk=1; +update t4 set a4=9 where a4=2; +update t5 set a5=9 where pk=1; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con2; +select * from t1 order by pk desc; +select * from t2; +select * from t3; +select * from t4; +select * from t5; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +connection con1; +# The below five queries will not be cached, trans is ongoing +select * from t1 order by pk desc; +select * from t1 order by pk desc; +select * from t2; +select * from t3; +select * from t4; +select * from t5; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +commit; + +connection con2; +select * from t1 order by pk desc; +select * from t2; +select * from t3; +select * from t4; +select * from t5; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; + +connection con1; +select * from t1 order by pk desc; +select * from t2; +select * from t3; +select * from t4; +select * from t5; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; +select * from t1 order by pk desc; +select * from t2; +select * from t3; +select * from t4; +select * from t5; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; + +connection con2; +select * from t1 order by pk desc; +select * from t2; +select * from t3; +select * from t4; +select * from t5; +show status like "Qcache_queries_in_cache"; +show status like "Qcache_inserts"; +show status like "Qcache_hits"; + +drop table t1, t2, t3, t4, t5; + +# There should be no queries in cache, when tables have been dropped show status like "Qcache_queries_in_cache"; SET GLOBAL query_cache_size=0; diff --git a/mysql-test/t/ndb_condition_pushdown.test b/mysql-test/t/ndb_condition_pushdown.test index 5fd9def3327..540e018ad04 100644 --- a/mysql-test/t/ndb_condition_pushdown.test +++ b/mysql-test/t/ndb_condition_pushdown.test @@ -259,6 +259,7 @@ select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 set engine_condition_pushdown = on; # Test all types and compare operators +explain select auto from t1 where string = "aaaa" and vstring = "aaaa" and @@ -286,6 +287,61 @@ time_field = '01:01:01' and date_time = '1901-01-01 01:01:01' order by auto; +select auto from t1 where +string = "aaaa" and +vstring = "aaaa" and +bin = 0xAAAA and +vbin = 0xAAAA and +tiny = -1 and +short = -1 and +medium = -1 and +long_int = -1 and +longlong = -1 and +real_float > 1.0 and real_float < 2.0 and +real_double > 1.0 and real_double < 2.0 and +real_decimal > 1.0 and real_decimal < 2.0 and +utiny = 1 and +ushort = 1 and +umedium = 1 and +ulong = 1 and +ulonglong = 1 and +/* bits = b'001' and */ +options = 'one' and +flags = 'one' and +date_field = '1901-01-01' and +year_field = '1901' and +time_field = '01:01:01' and +date_time = '1901-01-01 01:01:01' +order by auto; + +explain +select auto from t1 where +string != "aaaa" and +vstring != "aaaa" and +bin != 0xAAAA and +vbin != 0xAAAA and +tiny != -1 and +short != -1 and +medium != -1 and +long_int != -1 and +longlong != -1 and +(real_float < 1.0 or real_float > 2.0) and +(real_double < 1.0 or real_double > 2.0) and +(real_decimal < 1.0 or real_decimal > 2.0) and +utiny != 1 and +ushort != 1 and +umedium != 1 and +ulong != 1 and +ulonglong != 1 and +/* bits != b'001' and */ +options != 'one' and +flags != 'one' and +date_field != '1901-01-01' and +year_field != '1901' and +time_field != '01:01:01' and +date_time != '1901-01-01 01:01:01' +order by auto; + select auto from t1 where string != "aaaa" and vstring != "aaaa" and @@ -313,6 +369,7 @@ time_field != '01:01:01' and date_time != '1901-01-01 01:01:01' order by auto; +explain select auto from t1 where string > "aaaa" and vstring > "aaaa" and @@ -340,6 +397,61 @@ time_field > '01:01:01' and date_time > '1901-01-01 01:01:01' order by auto; +select auto from t1 where +string > "aaaa" and +vstring > "aaaa" and +bin > 0xAAAA and +vbin > 0xAAAA and +tiny < -1 and +short < -1 and +medium < -1 and +long_int < -1 and +longlong < -1 and +real_float > 1.1 and +real_double > 1.1 and +real_decimal > 1.1 and +utiny > 1 and +ushort > 1 and +umedium > 1 and +ulong > 1 and +ulonglong > 1 and +/* bits > b'001' and */ +(options = 'two' or options = 'three' or options = 'four') and +(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field > '1901-01-01' and +year_field > '1901' and +time_field > '01:01:01' and +date_time > '1901-01-01 01:01:01' +order by auto; + +explain +select auto from t1 where +string >= "aaaa" and +vstring >= "aaaa" and +bin >= 0xAAAA and +vbin >= 0xAAAA and +tiny <= -1 and +short <= -1 and +medium <= -1 and +long_int <= -1 and +longlong <= -1 and +real_float >= 1.0 and +real_double >= 1.0 and +real_decimal >= 1.0 and +utiny >= 1 and +ushort >= 1 and +umedium >= 1 and +ulong >= 1 and +ulonglong >= 1 and +/* bits >= b'001' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field >= '1901-01-01' and +year_field >= '1901' and +time_field >= '01:01:01' and +date_time >= '1901-01-01 01:01:01' +order by auto; + select auto from t1 where string >= "aaaa" and vstring >= "aaaa" and @@ -367,6 +479,7 @@ time_field >= '01:01:01' and date_time >= '1901-01-01 01:01:01' order by auto; +explain select auto from t1 where string < "dddd" and vstring < "dddd" and @@ -394,6 +507,61 @@ time_field < '04:04:04' and date_time < '1904-04-04 04:04:04' order by auto; +select auto from t1 where +string < "dddd" and +vstring < "dddd" and +bin < 0xDDDD and +vbin < 0xDDDD and +tiny > -4 and +short > -4 and +medium > -4 and +long_int > -4 and +longlong > -4 and +real_float < 4.4 and +real_double < 4.4 and +real_decimal < 4.4 and +utiny < 4 and +ushort < 4 and +umedium < 4 and +ulong < 4 and +ulonglong < 4 and +/* bits < b'100' and */ +(options = 'one' or options = 'two' or options = 'three') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and +date_field < '1904-01-01' and +year_field < '1904' and +time_field < '04:04:04' and +date_time < '1904-04-04 04:04:04' +order by auto; + +explain +select auto from t1 where +string <= "dddd" and +vstring <= "dddd" and +bin <= 0xDDDD and +vbin <= 0xDDDD and +tiny >= -4 and +short >= -4 and +medium >= -4 and +long_int >= -4 and +longlong >= -4 and +real_float <= 4.5 and +real_double <= 4.5 and +real_decimal <= 4.5 and +utiny <= 4 - 1 + 1 and /* Checking function composition */ +ushort <= 4 and +umedium <= 4 and +ulong <= 4 and +ulonglong <= 4 and +/* bits <= b'100' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field <= '1904-04-04' and +year_field <= '1904' and +time_field <= '04:04:04' and +date_time <= '1904-04-04 04:04:04' +order by auto; + select auto from t1 where string <= "dddd" and vstring <= "dddd" and @@ -425,6 +593,7 @@ order by auto; create index medium_index on t1(medium); # Test all types and compare operators +explain select auto from t1 where string = "aaaa" and vstring = "aaaa" and @@ -452,6 +621,61 @@ time_field = '01:01:01' and date_time = '1901-01-01 01:01:01' order by auto; +select auto from t1 where +string = "aaaa" and +vstring = "aaaa" and +bin = 0xAAAA and +vbin = 0xAAAA and +tiny = -1 and +short = -1 and +medium = -1 and +long_int = -1 and +longlong = -1 and +real_float > 1.0 and real_float < 2.0 and +real_double > 1.0 and real_double < 2.0 and +real_decimal > 1.0 and real_decimal < 2.0 and +utiny = 1 and +ushort = 1 and +umedium = 1 and +ulong = 1 and +ulonglong = 1 and +/* bits = b'001' and */ +options = 'one' and +flags = 'one' and +date_field = '1901-01-01' and +year_field = '1901' and +time_field = '01:01:01' and +date_time = '1901-01-01 01:01:01' +order by auto; + +explain +select auto from t1 where +string != "aaaa" and +vstring != "aaaa" and +bin != 0xAAAA and +vbin != 0xAAAA and +tiny != -1 and +short != -1 and +medium != -1 and +long_int != -1 and +longlong != -1 and +(real_float < 1.0 or real_float > 2.0) and +(real_double < 1.0 or real_double > 2.0) and +(real_decimal < 1.0 or real_decimal > 2.0) and +utiny != 1 and +ushort != 1 and +umedium != 1 and +ulong != 1 and +ulonglong != 1 and +/* bits != b'001' and */ +options != 'one' and +flags != 'one' and +date_field != '1901-01-01' and +year_field != '1901' and +time_field != '01:01:01' and +date_time != '1901-01-01 01:01:01' +order by auto; + select auto from t1 where string != "aaaa" and vstring != "aaaa" and @@ -479,6 +703,7 @@ time_field != '01:01:01' and date_time != '1901-01-01 01:01:01' order by auto; +explain select auto from t1 where string > "aaaa" and vstring > "aaaa" and @@ -506,6 +731,61 @@ time_field > '01:01:01' and date_time > '1901-01-01 01:01:01' order by auto; +select auto from t1 where +string > "aaaa" and +vstring > "aaaa" and +bin > 0xAAAA and +vbin > 0xAAAA and +tiny < -1 and +short < -1 and +medium < -1 and +long_int < -1 and +longlong < -1 and +real_float > 1.1 and +real_double > 1.1 and +real_decimal > 1.1 and +utiny > 1 and +ushort > 1 and +umedium > 1 and +ulong > 1 and +ulonglong > 1 and +/* bits > b'001' and */ +(options = 'two' or options = 'three' or options = 'four') and +(flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field > '1901-01-01' and +year_field > '1901' and +time_field > '01:01:01' and +date_time > '1901-01-01 01:01:01' +order by auto; + +explain +select auto from t1 where +string >= "aaaa" and +vstring >= "aaaa" and +bin >= 0xAAAA and +vbin >= 0xAAAA and +tiny <= -1 and +short <= -1 and +medium <= -1 and +long_int <= -1 and +longlong <= -1 and +real_float >= 1.0 and +real_double >= 1.0 and +real_decimal >= 1.0 and +utiny >= 1 and +ushort >= 1 and +umedium >= 1 and +ulong >= 1 and +ulonglong >= 1 and +/* bits >= b'001' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field >= '1901-01-01' and +year_field >= '1901' and +time_field >= '01:01:01' and +date_time >= '1901-01-01 01:01:01' +order by auto; + select auto from t1 where string >= "aaaa" and vstring >= "aaaa" and @@ -533,6 +813,7 @@ time_field >= '01:01:01' and date_time >= '1901-01-01 01:01:01' order by auto; +explain select auto from t1 where string < "dddd" and vstring < "dddd" and @@ -560,6 +841,61 @@ time_field < '04:04:04' and date_time < '1904-04-04 04:04:04' order by auto; +select auto from t1 where +string < "dddd" and +vstring < "dddd" and +bin < 0xDDDD and +vbin < 0xDDDD and +tiny > -4 and +short > -4 and +medium > -4 and +long_int > -4 and +longlong > -4 and +real_float < 4.4 and +real_double < 4.4 and +real_decimal < 4.4 and +utiny < 4 and +ushort < 4 and +umedium < 4 and +ulong < 4 and +ulonglong < 4 and +/* bits < b'100' and */ +(options = 'one' or options = 'two' or options = 'three') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three') and +date_field < '1904-01-01' and +year_field < '1904' and +time_field < '04:04:04' and +date_time < '1904-04-04 04:04:04' +order by auto; + +explain +select auto from t1 where +string <= "dddd" and +vstring <= "dddd" and +bin <= 0xDDDD and +vbin <= 0xDDDD and +tiny >= -4 and +short >= -4 and +medium >= -4 and +long_int >= -4 and +longlong >= -4 and +real_float <= 4.5 and +real_double <= 4.5 and +real_decimal <= 4.5 and +utiny <= 4 - 1 + 1 and /* Checking function composition */ +ushort <= 4 and +umedium <= 4 and +ulong <= 4 and +ulonglong <= 4 and +/* bits <= b'100' and */ +(options = 'one' or options = 'two' or options = 'three' or options = 'four') and +(flags = 'one' or flags = 'one,two' or flags = 'one,two,three' or flags = 'one,two,three,four') and +date_field <= '1904-04-04' and +year_field <= '1904' and +time_field <= '04:04:04' and +date_time <= '1904-04-04 04:04:04' +order by auto; + select auto from t1 where string <= "dddd" and vstring <= "dddd" and @@ -588,6 +924,7 @@ date_time <= '1904-04-04 04:04:04' order by auto; # Test LIKE/NOT LIKE +explain select auto from t1 where string like "b%" and vstring like "b%" and @@ -595,6 +932,21 @@ bin like concat(0xBB, '%') and vbin like concat(0xBB, '%') order by auto; +select auto from t1 where +string like "b%" and +vstring like "b%" and +bin like concat(0xBB, '%') and +vbin like concat(0xBB, '%') +order by auto; + +explain +select auto from t1 where +string not like "b%" and +vstring not like "b%" and +bin not like concat(0xBB, '%') and +vbin not like concat(0xBB, '%') +order by auto; + select auto from t1 where string not like "b%" and vstring not like "b%" and @@ -603,15 +955,34 @@ vbin not like concat(0xBB, '%') order by auto; # Various tests +explain select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1; +select * from t2 where attr3 is null or attr1 > 2 and pk1= 3 order by pk1; + +explain select * from t2 where attr3 is not null and attr1 > 2 order by pk1; +select * from t2 where attr3 is not null and attr1 > 2 order by pk1; + +explain select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1; +select * from t3 where attr2 > 9223372036854775803 and attr3 != 3 order by pk1; + +explain select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1; +select * from t2,t3 where t2.attr1 < 1 and t2.attr2 = t3.attr2 and t3.attr1 < 5 order by t2.pk1; + +explain select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1; +select * from t4 where attr1 < 5 and attr2 > 9223372036854775803 and attr3 != 3 order by t4.pk1; + +explain +select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; select * from t3,t4 where t4.attr1 > 1 and t4.attr2 = t3.attr2 and t4.attr3 < 5 order by t4.pk1; # Some tests that are currently not supported and should not push condition +explain select auto from t1 where string = "aaaa" collate latin1_general_ci order by auto; +explain select * from t2 where (attr1 < 2) = (attr2 < 2) order by pk1; set engine_condition_pushdown = @old_ecpd; diff --git a/mysql-test/t/query_cache.test b/mysql-test/t/query_cache.test index 26f939582e5..6a3d22d2695 100644 --- a/mysql-test/t/query_cache.test +++ b/mysql-test/t/query_cache.test @@ -697,3 +697,17 @@ where table_schema="test"; drop table t1; select table_name from information_schema.tables where table_schema="test"; +# Bug #8480: REPAIR TABLE needs to flush the table from the query cache +SET SESSION query_cache_type = 1; +set global query_cache_size=1024*1024; +flush query cache; +create table t1 ( a int ); +insert into t1 values (1); +select a from t1; +select a from t1; +show status like 'qcache_queries_in_cache'; +repair table t1; +show status like 'qcache_queries_in_cache'; +drop table t1; + +set GLOBAL query_cache_size=0; diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test index 4c761c8d0f3..376a23c06e5 100644 --- a/mysql-test/t/select.test +++ b/mysql-test/t/select.test @@ -2004,3 +2004,14 @@ SELECT * FROM t1 WHERE city LIKE '%london%' AND city='London'; DROP TABLE t1; +# +# Bug#7425 inconsistent sort order on unsigned columns result of substraction +# + +create table t1 (a int(11) unsigned, b int(11) unsigned); +insert into t1 values (1,0), (1,1), (1,2); +select a-b from t1 order by 1; +select a-b , (a-b < 0) from t1 order by 1; +select a-b as d, (a-b >= 0), b from t1 group by b having d >= 0; +select cast((a - b) as unsigned) from t1 order by 1; +drop table t1; diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test index 14c6f2d0694..31c6a16580f 100644 --- a/mysql-test/t/sp.test +++ b/mysql-test/t/sp.test @@ -2546,6 +2546,35 @@ drop procedure bug4579_1| drop procedure bug4579_2| drop table t3| +# +# BUG#2773: Function's data type ignored in stored procedures +# +--disable_warnings +drop table if exists t3| +drop procedure if exists bug2773| +--enable_warnings + +create function bug2773() returns int return null| +create table t3 as select bug2773()| +show create table t3| +drop table t3| +drop function bug2773| + +# +# BUG#3788: Stored procedure packet error +# +--disable_warnings +drop procedure if exists bug3788| +--enable_warnings + +create function bug3788() returns date return cast("2005-03-04" as date)| +select bug3788()| +drop function bug3788| + +create function bug3788() returns binary(5) return 5| +select bug3788()| +drop function bug3788| + # # BUG#4726 diff --git a/mysql-test/t/strict.test b/mysql-test/t/strict.test index d3928a623f4..8af0d632f7c 100644 --- a/mysql-test/t/strict.test +++ b/mysql-test/t/strict.test @@ -868,12 +868,12 @@ CREATE TABLE t1 (col1 CHAR(5), col2 VARCHAR(6)); INSERT INTO t1 VALUES ('hello', 'hello'),('he', 'he'),('hello ', 'hello '); --error 1406 INSERT INTO t1 (col1) VALUES ('hellobob'); ---error 1265 +--error 1406 INSERT INTO t1 (col2) VALUES ('hellobob'); INSERT INTO t1 (col2) VALUES ('hello '); --error 1406 UPDATE t1 SET col1 ='hellobob' WHERE col1 ='he'; ---error 1265 +--error 1406 UPDATE t1 SET col2 ='hellobob' WHERE col2 ='he'; INSERT IGNORE INTO t1 VALUES ('hellobob', 'hellobob'); UPDATE IGNORE t1 SET col2 ='hellotrudy' WHERE col2 ='he'; @@ -939,3 +939,26 @@ INSERT IGNORE INTO t1 (col1) values (3); INSERT IGNORE INTO t1 () values (); SELECT * FROM t1; DROP TABLE t1; + +# +# Bug #9029 Traditional: Wrong SQLSTATE returned for string truncation +# + +set sql_mode='traditional'; +create table t1 (charcol char(255), varcharcol varchar(255), +binarycol binary(255), varbinarycol varbinary(255), tinytextcol tinytext, +tinyblobcol tinyblob); +--error 1406 +insert into t1 (charcol) values (repeat('x',256)); +--error 1406 +insert into t1 (varcharcol) values (repeat('x',256)); +--error 1406 +insert into t1 (binarycol) values (repeat('x',256)); +--error 1406 +insert into t1 (varbinarycol) values (repeat('x',256)); +--error 1406 +insert into t1 (tinytextcol) values (repeat('x',256)); +--error 1406 +insert into t1 (tinyblobcol) values (repeat('x',256)); +select * from t1; +drop table t1; diff --git a/mysql-test/t/sum_distinct.test b/mysql-test/t/sum_distinct.test index 964da9defa6..3b9f12354e8 100644 --- a/mysql-test/t/sum_distinct.test +++ b/mysql-test/t/sum_distinct.test @@ -103,64 +103,30 @@ CREATE TABLE t1 (id INTEGER); CREATE TABLE t2 (id INTEGER); INSERT INTO t1 (id) VALUES (1), (1), (1),(1); -INSERT INTO t2 (id) SELECT id FROM t1; -INSERT INTO t1 (id) SELECT id FROM t2; /* 8 */ -INSERT INTO t1 (id) SELECT id FROM t2; /* 12 */ -INSERT INTO t1 (id) SELECT id FROM t2; /* 16 */ -INSERT INTO t1 (id) SELECT id FROM t2; /* 20 */ -INSERT INTO t1 (id) SELECT id FROM t2; /* 24 */ -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+1 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+2 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+4 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+8 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+16 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+32 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+64 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+128 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+256 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+512 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+1024 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+2048 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+4096 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -INSERT INTO t2 (id) SELECT id+8192 FROM t1; -INSERT INTO t1 SELECT id FROM t2; -DELETE FROM t2; -#INSERT INTO t2 (id) SELECT id+16384 FROM t1; -#INSERT INTO t1 SELECT id FROM t2; -#DELETE FROM t2; -#INSERT INTO t2 (id) SELECT id+32768 FROM t1; -#INSERT INTO t1 SELECT id FROM t2; -#DELETE FROM t2; -#INSERT INTO t2 (id) SELECT id+65536 FROM t1; -#INSERT INTO t1 SELECT id FROM t2; -#DELETE FROM t2; +INSERT INTO t1 (id) SELECT id FROM t1; /* 8 */ +INSERT INTO t1 (id) SELECT id FROM t1; /* 12 */ +INSERT INTO t1 (id) SELECT id FROM t1; /* 16 */ +INSERT INTO t1 (id) SELECT id FROM t1; /* 20 */ +INSERT INTO t1 (id) SELECT id FROM t1; /* 24 */ +INSERT INTO t1 SELECT id+1 FROM t1; +INSERT INTO t1 SELECT id+2 FROM t1; +INSERT INTO t1 SELECT id+4 FROM t1; +INSERT INTO t1 SELECT id+8 FROM t1; +INSERT INTO t1 SELECT id+16 FROM t1; +INSERT INTO t1 SELECT id+32 FROM t1; +INSERT INTO t1 SELECT id+64 FROM t1; +INSERT INTO t1 SELECT id+128 FROM t1; +INSERT INTO t1 SELECT id+256 FROM t1; +INSERT INTO t1 SELECT id+512 FROM t1; + +# Just test that AVG(DISTINCT) is there +SELECT AVG(DISTINCT id) FROM t1 GROUP BY id % 13; +SELECT SUM(DISTINCT id)/COUNT(DISTINCT id) FROM t1 GROUP BY id % 13; + +INSERT INTO t1 SELECT id+1024 FROM t1; +INSERT INTO t1 SELECT id+2048 FROM t1; +INSERT INTO t1 SELECT id+4096 FROM t1; +INSERT INTO t1 SELECT id+8192 FROM t1; INSERT INTO t2 SELECT id FROM t1 ORDER BY id*rand(); # SELECT '++++++++++++++++++++++++++++++++++++++++++++++++++'; diff --git a/mysys/my_bitmap.c b/mysys/my_bitmap.c index 1d98204ff8e..c0eb6f15548 100644 --- a/mysys/my_bitmap.c +++ b/mysys/my_bitmap.c @@ -28,8 +28,8 @@ * when both arguments are bitmaps, they must be of the same size * bitmap_intersect() is an exception :) (for for Bitmap::intersect(ulonglong map2buff)) - - If THREAD is defined all bitmap operations except bitmap_init/bitmap_free + + If THREAD is defined all bitmap operations except bitmap_init/bitmap_free are thread-safe. TODO: @@ -40,7 +40,6 @@ #include #include - static inline void bitmap_lock(MY_BITMAP *map) { #ifdef THREAD @@ -49,7 +48,6 @@ static inline void bitmap_lock(MY_BITMAP *map) #endif } - static inline void bitmap_unlock(MY_BITMAP *map) { #ifdef THREAD diff --git a/mysys/my_symlink2.c b/mysys/my_symlink2.c index 80dca7d56ac..603248e186b 100644 --- a/mysys/my_symlink2.c +++ b/mysys/my_symlink2.c @@ -45,7 +45,7 @@ File my_create_with_symlink(const char *linkname, const char *filename, else { if (linkname) - my_realpath(&abs_linkname, linkname, MYF(0)); + my_realpath(abs_linkname, linkname, MYF(0)); create_link= (linkname && strcmp(abs_linkname,filename)); } diff --git a/ndb/include/mgmapi/mgmapi_config_parameters.h b/ndb/include/mgmapi/mgmapi_config_parameters.h index 68b63d78fa8..33134899d1e 100644 --- a/ndb/include/mgmapi/mgmapi_config_parameters.h +++ b/ndb/include/mgmapi/mgmapi_config_parameters.h @@ -81,6 +81,8 @@ #define CFG_DB_BACKUP_DATADIR 158 +#define CFG_DB_MAX_OPEN_FILES 159 + #define CFG_NODE_ARBIT_RANK 200 #define CFG_NODE_ARBIT_DELAY 201 diff --git a/ndb/include/ndbapi/Ndb.hpp b/ndb/include/ndbapi/Ndb.hpp index 85810587e3b..41085e6e06a 100644 --- a/ndb/include/ndbapi/Ndb.hpp +++ b/ndb/include/ndbapi/Ndb.hpp @@ -1218,12 +1218,12 @@ public: /** * Drop a subscription to an event * - * @param eventName - * unique identifier of the event + * @param eventOp + * Event operation * * @return 0 on success */ - int dropEventOperation(NdbEventOperation* eventName); + int dropEventOperation(NdbEventOperation* eventOp); /** * Wait for an event to occur. Will return as soon as an event diff --git a/ndb/src/common/transporter/Transporter.cpp b/ndb/src/common/transporter/Transporter.cpp index 86e9b8c8171..124ed5f7241 100644 --- a/ndb/src/common/transporter/Transporter.cpp +++ b/ndb/src/common/transporter/Transporter.cpp @@ -124,7 +124,7 @@ Transporter::connect_client() { else sockfd= m_socket_client->connect(); - connect_client(sockfd); + return connect_client(sockfd); } bool diff --git a/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp b/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp index dd68599f4f6..a16c0da369b 100644 --- a/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp +++ b/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp @@ -2449,14 +2449,14 @@ void Dbacc::execACC_COMMITREQ(Signal* signal) operationRecPtr.p->transactionstate = IDLE; operationRecPtr.p->operation = ZUNDEFINED_OP; if(Toperation != ZREAD){ + rootfragrecptr.i = fragrecptr.p->myroot; + ptrCheckGuard(rootfragrecptr, crootfragmentsize, rootfragmentrec); rootfragrecptr.p->m_commit_count++; if (Toperation != ZINSERT) { if (Toperation != ZDELETE) { return; } else { jam(); - rootfragrecptr.i = fragrecptr.p->myroot; - ptrCheckGuard(rootfragrecptr, crootfragmentsize, rootfragmentrec); rootfragrecptr.p->noOfElements--; fragrecptr.p->slack += operationRecPtr.p->insertDeleteLen; if (fragrecptr.p->slack > fragrecptr.p->slackCheck) { @@ -2476,8 +2476,6 @@ void Dbacc::execACC_COMMITREQ(Signal* signal) }//if } else { jam(); /* EXPAND PROCESS HANDLING */ - rootfragrecptr.i = fragrecptr.p->myroot; - ptrCheckGuard(rootfragrecptr, crootfragmentsize, rootfragmentrec); rootfragrecptr.p->noOfElements++; fragrecptr.p->slack -= operationRecPtr.p->insertDeleteLen; if (fragrecptr.p->slack >= (1u << 31)) { diff --git a/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp b/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp index 3806f553b3a..524a40697bf 100644 --- a/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp +++ b/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp @@ -103,8 +103,22 @@ void Ndbcntr::execCONTINUEB(Signal* signal) } Uint64 now = NdbTick_CurrentMillisecond(); - if(now > c_start.m_startFailureTimeout){ - ndbrequire(false); + if(now > c_start.m_startFailureTimeout) + { + jam(); + Uint32 to_3= 0; + const ndb_mgm_configuration_iterator * p = + theConfiguration.getOwnConfigIterator(); + ndb_mgm_get_int_parameter(p, CFG_DB_START_FAILURE_TIMEOUT, &to_3); + BaseString tmp; + tmp.append("Shutting down node as total restart time exceeds " + " StartFailureTimeout as set in config file "); + if(to_3 == 0) + tmp.append(" 0 (inifinite)"); + else + tmp.appfmt(" %d", to_3); + + progError(__LINE__, ERR_SYSTEM_ERROR, tmp.c_str()); } signal->theData[0] = ZSTARTUP; @@ -413,7 +427,7 @@ inline Uint64 setTimeout(Uint64 time, Uint32 timeoutValue){ if(timeoutValue == 0) - return ~0; + return ~(Uint64)0; return time + timeoutValue; } diff --git a/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp b/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp index 9c943760e31..9750e1c5179 100644 --- a/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp +++ b/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp @@ -66,10 +66,10 @@ Ndbfs::Ndbfs(const Configuration & conf) : ndbrequire(p != 0); m_maxFiles = 40; - //ndb_mgm_get_int_parameter(p, CFG_DB_MAX_OPEN_FILES, &m_maxFiles); - + ndb_mgm_get_int_parameter(p, CFG_DB_MAX_OPEN_FILES, &m_maxFiles); + // Create idle AsyncFiles - Uint32 noIdleFiles = 27; + Uint32 noIdleFiles = m_maxFiles > 27 ? 27 : m_maxFiles ; for (Uint32 i = 0; i < noIdleFiles; i++){ theIdleFiles.push_back(createAsyncFile()); } diff --git a/ndb/src/kernel/blocks/suma/Suma.cpp b/ndb/src/kernel/blocks/suma/Suma.cpp index d982c2b96f8..ed54505b729 100644 --- a/ndb/src/kernel/blocks/suma/Suma.cpp +++ b/ndb/src/kernel/blocks/suma/Suma.cpp @@ -50,6 +50,17 @@ //#define EVENT_DEBUG //#define EVENT_PH3_DEBUG //#define EVENT_DEBUG2 +#if 0 +#undef DBUG_ENTER +#undef DBUG_PRINT +#undef DBUG_RETURN +#undef DBUG_VOID_RETURN + +#define DBUG_ENTER(a) {ndbout_c("%s:%d >%s", __FILE__, __LINE__, a);} +#define DBUG_PRINT(a,b) {ndbout << __FILE__ << ":" << __LINE__ << " " << a << ": "; ndbout_c b ;} +#define DBUG_RETURN(a) { ndbout_c("%s:%d <", __FILE__, __LINE__); return(a); } +#define DBUG_VOID_RETURN { ndbout_c("%s:%d <", __FILE__, __LINE__); return; } +#endif /** * @todo: @@ -112,15 +123,12 @@ Suma::getNodeGroupMembers(Signal* signal) { void Suma::execSTTOR(Signal* signal) { jamEntry(); - + + DBUG_ENTER("Suma::execSTTOR"); const Uint32 startphase = signal->theData[1]; const Uint32 typeOfStart = signal->theData[7]; -#ifdef NODEFAIL_DEBUG - ndbout_c ("SUMA::execSTTOR startphase = %u, typeOfStart = %u", - startphase, typeOfStart); - -#endif + DBUG_PRINT("info",("startphase = %u, typeOfStart = %u", startphase, typeOfStart)); if(startphase == 1){ jam(); @@ -155,7 +163,7 @@ Suma::execSTTOR(Signal* signal) { g_subPtrI = subPtr.i; // sendSTTORRY(signal); #endif - return; + DBUG_VOID_RETURN; } if(startphase == 5) { @@ -178,9 +186,7 @@ Suma::execSTTOR(Signal* signal) { for( int i = 0; i < NO_OF_BUCKETS; i++) { if (getResponsibleSumaNodeId(i) == refToNode(reference())) { // I'm running this bucket -#ifdef EVENT_DEBUG - ndbout_c("bucket %u set to true", i); -#endif + DBUG_PRINT("info",("bucket %u set to true", i)); c_buckets[i].active = true; } } @@ -190,32 +196,31 @@ Suma::execSTTOR(Signal* signal) { c_masterNodeId == getOwnNodeId()) { jam(); createSequence(signal); - return; + DBUG_VOID_RETURN; }//if }//if sendSTTORRY(signal); - return; + DBUG_VOID_RETURN; } void Suma::createSequence(Signal* signal) { jam(); + DBUG_ENTER("Suma::createSequence"); UtilSequenceReq * req = (UtilSequenceReq*)signal->getDataPtrSend(); req->senderData = RNIL; req->sequenceId = SUMA_SEQUENCE; req->requestType = UtilSequenceReq::Create; -#ifdef DEBUG_SUMA_SEQUENCE - ndbout_c("SUMA: Create sequence"); -#endif sendSignal(DBUTIL_REF, GSN_UTIL_SEQUENCE_REQ, signal, UtilSequenceReq::SignalLength, JBB); // execUTIL_SEQUENCE_CONF will call createSequenceReply() + DBUG_VOID_RETURN; } void @@ -379,7 +384,7 @@ SumaParticipant::removeSubscribersOnNode(Signal *signal, Uint32 nodeId) } void -SumaParticipant::sendSubStopReq(Signal *signal){ +SumaParticipant::sendSubStopReq(Signal *signal, bool unlock){ DBUG_ENTER("SumaParticipant::sendSubStopReq"); static bool remove_lock = false; jam(); @@ -399,7 +404,7 @@ SumaParticipant::sendSubStopReq(Signal *signal){ DBUG_VOID_RETURN; } - if(remove_lock) { + if(remove_lock && !unlock) { jam(); DBUG_VOID_RETURN; } @@ -424,6 +429,7 @@ SumaParticipant::sendSubStopReq(Signal *signal){ void SumaParticipant::execSUB_STOP_CONF(Signal* signal){ jamEntry(); + DBUG_ENTER("SumaParticipant::execSUB_STOP_CONF"); SubStopConf * const conf = (SubStopConf*)signal->getDataPtr(); @@ -449,16 +455,17 @@ SumaParticipant::execSUB_STOP_CONF(Signal* signal){ } } - sendSubStopReq(signal); + sendSubStopReq(signal,true); + DBUG_VOID_RETURN; } void SumaParticipant::execSUB_STOP_REF(Signal* signal){ jamEntry(); - SubStopRef * const ref = (SubStopRef*)signal->getDataPtr(); - DBUG_ENTER("SumaParticipant::execSUB_STOP_REF"); + SubStopRef * const ref = (SubStopRef*)signal->getDataPtr(); + Uint32 subscriptionId = ref->subscriptionId; Uint32 subscriptionKey = ref->subscriptionKey; Uint32 part = ref->part; @@ -845,16 +852,14 @@ Suma::execUTIL_SEQUENCE_CONF(Signal* signal) { jamEntry(); + DBUG_ENTER("Suma::execUTIL_SEQUENCE_CONF"); CRASH_INSERTION(13002); UtilSequenceConf * conf = (UtilSequenceConf*)signal->getDataPtr(); -#ifdef DEBUG_SUMA_SEQUENCE - ndbout_c("SUMA: Create sequence conf"); -#endif if(conf->requestType == UtilSequenceReq::Create) { jam(); createSequenceReply(signal, conf, NULL); - return; + DBUG_VOID_RETURN; } Uint64 subId; @@ -874,18 +879,21 @@ Suma::execUTIL_SEQUENCE_CONF(Signal* signal) CreateSubscriptionIdConf::SignalLength, JBB); c_subscriberPool.release(subbPtr); + + DBUG_VOID_RETURN; } void Suma::execUTIL_SEQUENCE_REF(Signal* signal) { jamEntry(); + DBUG_ENTER("Suma::execUTIL_SEQUENCE_REF"); UtilSequenceRef * ref = (UtilSequenceRef*)signal->getDataPtr(); if(ref->requestType == UtilSequenceReq::Create) { jam(); createSequenceReply(signal, NULL, ref); - return; + DBUG_VOID_RETURN; } Uint32 subData = ref->senderData; @@ -894,7 +902,7 @@ Suma::execUTIL_SEQUENCE_REF(Signal* signal) c_subscriberPool.getPtr(subbPtr,subData); sendSubIdRef(signal, GrepError::SEQUENCE_ERROR); c_subscriberPool.release(subbPtr); - return; + DBUG_VOID_RETURN; }//execUTIL_SEQUENCE_REF() @@ -2091,9 +2099,7 @@ SumaParticipant::execSCAN_HBREP(Signal* signal){ void SumaParticipant::execSUB_START_REQ(Signal* signal){ jamEntry(); -#ifdef NODEFAIL_DEBUG - ndbout_c("Suma::execSUB_START_REQ"); -#endif + DBUG_ENTER("SumaParticipant::execSUB_START_REQ"); CRASH_INSERTION(13013); @@ -2103,7 +2109,7 @@ SumaParticipant::execSUB_START_REQ(Signal* signal){ if (RtoI(signal->getSendersBlockRef(), false) == RNIL) { jam(); sendSubStartRef(signal, /** Error Code */ 0, true); - return; + DBUG_VOID_RETURN; } // only allow other Suma's in the nodegroup to come through for restart purposes } @@ -2124,7 +2130,7 @@ SumaParticipant::execSUB_START_REQ(Signal* signal){ if(!c_subscriptions.find(subPtr, key)){ jam(); sendSubStartRef(signal, /** Error Code */ 0); - return; + DBUG_VOID_RETURN; } Ptr syncPtr; @@ -2135,7 +2141,7 @@ SumaParticipant::execSUB_START_REQ(Signal* signal){ ndbout_c("Locked"); #endif sendSubStartRef(signal, /** Error Code */ 0, true); - return; + DBUG_VOID_RETURN; } syncPtr.p->m_locked = true; @@ -2144,7 +2150,7 @@ SumaParticipant::execSUB_START_REQ(Signal* signal){ jam(); syncPtr.p->m_locked = false; sendSubStartRef(signal, /** Error Code */ 0); - return; + DBUG_VOID_RETURN; } Uint32 type = subPtr.p->m_subscriptionType; @@ -2211,6 +2217,7 @@ SumaParticipant::execSUB_START_REQ(Signal* signal){ break; } ndbrequire(ok); + DBUG_VOID_RETURN; } void @@ -2963,6 +2970,7 @@ SumaParticipant::execFIRE_TRIG_ORD(Signal* signal){ } } #endif + DBUG_PRINT("info",("GSN_SUB_TABLE_DATA to node %d", refToNode(ref))); sendSignal(ref, GSN_SUB_TABLE_DATA, signal, SubTableData::SignalLength, JBB, ptr, nptr); data->logType = tmp; @@ -3263,6 +3271,7 @@ bool SumaParticipant::FailoverBuffer::nodeFailRep() void SumaParticipant::execSUB_STOP_REQ(Signal* signal){ jamEntry(); + DBUG_ENTER("SumaParticipant::execSUB_STOP_REQ"); CRASH_INSERTION(13019); @@ -3292,7 +3301,7 @@ SumaParticipant::execSUB_STOP_REQ(Signal* signal){ SubStopConf::SignalLength, JBB); removeSubscribersOnNode(signal, refToNode(subscriberRef)); - return; + DBUG_VOID_RETURN; } if(!c_subscriptions.find(subPtr, key)){ @@ -3333,7 +3342,7 @@ SumaParticipant::execSUB_STOP_REQ(Signal* signal){ if (!found) { jam(); sendSubStopRef(signal, GrepError::SUBSCRIBER_NOT_FOUND); - return; + DBUG_VOID_RETURN; } } @@ -3346,11 +3355,12 @@ SumaParticipant::execSUB_STOP_REQ(Signal* signal){ if (syncPtr.p->m_locked) { jam(); sendSubStopRef(signal, /** Error Code */ 0, true); - return; + DBUG_VOID_RETURN; } syncPtr.p->m_locked = true; syncPtr.p->startDropTrigger(signal); + DBUG_VOID_RETURN; } void diff --git a/ndb/src/kernel/blocks/suma/Suma.hpp b/ndb/src/kernel/blocks/suma/Suma.hpp index 08987fa9420..65869f44423 100644 --- a/ndb/src/kernel/blocks/suma/Suma.hpp +++ b/ndb/src/kernel/blocks/suma/Suma.hpp @@ -376,7 +376,7 @@ public: void sendSubStartComplete(Signal*, SubscriberPtr, Uint32, SubscriptionData::Part); void sendSubStopComplete(Signal*, SubscriberPtr); - void sendSubStopReq(Signal* signal); + void sendSubStopReq(Signal* signal, bool unlock= false); void completeSubRemoveReq(Signal* signal, SubscriptionPtr subPtr); diff --git a/ndb/src/kernel/blocks/trix/Trix.cpp b/ndb/src/kernel/blocks/trix/Trix.cpp index 75bc19b6a20..cd11cb4d575 100644 --- a/ndb/src/kernel/blocks/trix/Trix.cpp +++ b/ndb/src/kernel/blocks/trix/Trix.cpp @@ -712,7 +712,7 @@ void Trix::setupSubscription(Signal* signal, SubscriptionRecPtr subRecPtr) subCreateReq->subscriptionType = SubCreateReq::SingleTableScan; sendSignal(SUMA_REF, GSN_SUB_CREATE_REQ, - signal, SubCreateReq::SignalLength, JBB, orderPtr, 1); + signal, SubCreateReq::SignalLength+1, JBB, orderPtr, 1); } void Trix::setupTableScan(Signal* signal, SubscriptionRecPtr subRecPtr) diff --git a/ndb/src/mgmsrv/ConfigInfo.cpp b/ndb/src/mgmsrv/ConfigInfo.cpp index 5556855b9f7..67bf09fab10 100644 --- a/ndb/src/mgmsrv/ConfigInfo.cpp +++ b/ndb/src/mgmsrv/ConfigInfo.cpp @@ -873,7 +873,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { STR_VALUE(MAX_INT_RNIL) }, { - KEY_INTERNAL, + CFG_DB_MAX_OPEN_FILES, "MaxNoOfOpenFiles", DB_TOKEN, "Max number of files open per "DB_TOKEN_PRINT" node.(One thread is created per file)", @@ -882,8 +882,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::CI_INT, "40", "20", - "256" }, - + STR_VALUE(MAX_INT_RNIL) }, { CFG_DB_TRANSACTION_CHECK_INTERVAL, diff --git a/ndb/src/ndbapi/NdbEventOperationImpl.cpp b/ndb/src/ndbapi/NdbEventOperationImpl.cpp index b00b0d82cba..e74bd93205c 100644 --- a/ndb/src/ndbapi/NdbEventOperationImpl.cpp +++ b/ndb/src/ndbapi/NdbEventOperationImpl.cpp @@ -536,9 +536,10 @@ NdbEventOperationImpl::getEventType() void NdbEventOperationImpl::print() { + int i; ndbout << "EventId " << m_eventId << "\n"; - for (int i = 0; i < 2; i++) { + for (i = 0; i < 2; i++) { NdbRecAttr *p = theFirstPkAttrs[i]; ndbout << " %u " << i; while (p) { @@ -547,7 +548,7 @@ NdbEventOperationImpl::print() } ndbout << "\n"; } - for (int i = 0; i < 2; i++) { + for (i = 0; i < 2; i++) { NdbRecAttr *p = theFirstDataAttrs[i]; ndbout << " %u " << i; while (p) { diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index 0e28d27ee43..ddce55c063d 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -66,7 +66,7 @@ esac mkdir $BASE $BASE/bin $BASE/docs \ $BASE/include $BASE/lib $BASE/support-files $BASE/share $BASE/scripts \ $BASE/mysql-test $BASE/mysql-test/t $BASE/mysql-test/r \ - $BASE/mysql-test/include $BASE/mysql-test/std_data + $BASE/mysql-test/include $BASE/mysql-test/std_data $BASE/mysql-test/lib if [ $BASE_SYSTEM != "netware" ] ; then mkdir $BASE/share/mysql $BASE/tests $BASE/sql-bench $BASE/man \ @@ -206,7 +206,7 @@ $CP -r sql/share/* $MYSQL_SHARE rm -f $MYSQL_SHARE/Makefile* $MYSQL_SHARE/*/*.OLD for i in mysql-test/mysql-test-run mysql-test/install_test_db \ - mysql-test/README \ + mysql-test/mysql-test-run.pl mysql-test/README \ netware/mysql_test_run.nlm netware/install_test_db.ncf do if [ -f $i ] @@ -215,6 +215,8 @@ do fi done +$CP mysql-test/lib/*.pl $BASE/mysql-test/lib +$CP mysql-test/lib/*.sql $BASE/mysql-test/lib $CP mysql-test/include/*.inc $BASE/mysql-test/include $CP mysql-test/std_data/*.dat mysql-test/std_data/*.frm \ mysql-test/std_data/*.pem mysql-test/std_data/Moscow_leap \ diff --git a/scripts/make_win_binary_distribution.sh b/scripts/make_win_binary_distribution.sh index 9b2cc2d7d22..c611454450c 100644 --- a/scripts/make_win_binary_distribution.sh +++ b/scripts/make_win_binary_distribution.sh @@ -110,6 +110,10 @@ print_debug "Copying sql-bench to $DIRNAME/bench" mkdir $DIRNAME/bench cp -fr sql-bench/* $DIRNAME/bench +print_debug "Copying mysql-test to $DIRNAME/mysql-test" +mkdir $DIRNAME/mysql-test +cp -fr mysql-test/* $DIRNAME/mysql-test + print_debug "Copying support-files to $DIRNAME" cp support-files/* $DIRNAME diff --git a/scripts/make_win_src_distribution.sh b/scripts/make_win_src_distribution.sh index 8883021abcc..efcbeffeb11 100644 --- a/scripts/make_win_src_distribution.sh +++ b/scripts/make_win_src_distribution.sh @@ -15,13 +15,26 @@ DIRNAME="" OUTTAR="0" OUTZIP="0" +# +# An "abort" function taking a variable number of strings (one per line) +# + +abort() +{ + for line + do + echo "$line" + done + exit 1 +} + + # # This script must run from MySQL top directory # if [ ! -f scripts/make_win_src_distribution ]; then - echo "ERROR : You must run this script from the MySQL top-level directory" - exit 1 + abort "ERROR : You must run this script from the MySQL top-level directory" fi SOURCE=`pwd` @@ -30,9 +43,8 @@ SOURCE=`pwd` # if [ ! -f sql/sql_yacc.cc ]; then - echo "ERROR : Sorry, you must run this script after the complete build," - echo " hope you know what you are trying to do !!" - exit 1 + abort "ERROR : Sorry, you must run this script after the complete build," \ + " hope you know what you are trying to do !!" fi # @@ -86,9 +98,7 @@ parse_arguments() { --tar) OUTTAR=1 ;; --zip) OUTZIP=1 ;; --help) show_usage ;; - *) - echo "Unknown argument '$arg'" - exit 1 + *) abort "Unknown argument '$arg'" ;; esac done @@ -138,6 +148,7 @@ if [ -d $BASE ] ; then fi $CP -r $SOURCE/VC++Files $BASE +# This includes an implicit 'mkdir $BASE' ! # # Process version tags in InstallShield files @@ -255,7 +266,7 @@ make -C $SOURCE/ndb windoze # Input directories to be copied recursively # -for i in bdb innobase mysql-test ndb +for i in bdb innobase ndb do copy_dir_dirs $i done @@ -307,12 +318,17 @@ done # Raw dirs from source tree # -for i in scripts sql-bench SSL tests +for i in scripts sql-bench mysql-test SSL tests do print_debug "Copying directory '$i'" if [ -d $i ] then - $CP -R $i $BASE/$i + if [ -d $BASE/$i ] + then + $CP -R $i $BASE + else + $CP -R $i $BASE/$i + fi fi done diff --git a/scripts/mysql_create_system_tables.sh b/scripts/mysql_create_system_tables.sh index ea4c85d7a2c..d87113d3656 100644 --- a/scripts/mysql_create_system_tables.sh +++ b/scripts/mysql_create_system_tables.sh @@ -702,7 +702,17 @@ then c_p="$c_p 'MYSQL323'," c_p="$c_p 'MYSQL40'," c_p="$c_p 'ANSI'," - c_p="$c_p 'NO_AUTO_VALUE_ON_ZERO'" + c_p="$c_p 'NO_AUTO_VALUE_ON_ZERO'," + c_p="$c_p 'NO_BACKSLASH_ESCAPES'," + c_p="$c_p 'STRICT_TRANS_TABLES'," + c_p="$c_p 'STRICT_ALL_TABLES'," + c_p="$c_p 'NO_ZERO_IN_DATE'," + c_p="$c_p 'NO_ZERO_DATE'," + c_p="$c_p 'INVALID_DATES'," + c_p="$c_p 'ERROR_FOR_DIVISION_BY_ZERO'," + c_p="$c_p 'TRADITIONAL'," + c_p="$c_p 'NO_AUTO_CREATE_USER'," + c_p="$c_p 'HIGH_NOT_PRECEDENCE'" c_p="$c_p ) DEFAULT 0 NOT NULL," c_p="$c_p comment char(64) binary DEFAULT '' NOT NULL," c_p="$c_p PRIMARY KEY (db,name,type)" diff --git a/scripts/mysql_fix_privilege_tables.sql b/scripts/mysql_fix_privilege_tables.sql index de86d857c65..8afae9b5720 100644 --- a/scripts/mysql_fix_privilege_tables.sql +++ b/scripts/mysql_fix_privilege_tables.sql @@ -435,7 +435,17 @@ CREATE TABLE IF NOT EXISTS proc ( 'MYSQL323', 'MYSQL40', 'ANSI', - 'NO_AUTO_VALUE_ON_ZERO' + 'NO_AUTO_VALUE_ON_ZERO', + 'NO_BACKSLASH_ESCAPES', + 'STRICT_TRANS_TABLES', + 'STRICT_ALL_TABLES', + 'NO_ZERO_IN_DATE', + 'NO_ZERO_DATE', + 'INVALID_DATES', + 'ERROR_FOR_DIVISION_BY_ZERO', + 'TRADITIONAL', + 'NO_AUTO_CREATE_USER', + 'HIGH_NOT_PRECEDENCE' ) DEFAULT 0 NOT NULL, comment char(64) binary DEFAULT '' NOT NULL, PRIMARY KEY (db,name,type) @@ -449,4 +459,36 @@ ALTER TABLE proc MODIFY name char(64) DEFAULT '' NOT NULL, 'NO_SQL', 'READS_SQL_DATA', 'MODIFIES_SQL_DATA' - ) DEFAULT 'CONTAINS_SQL' NOT NULL; + ) DEFAULT 'CONTAINS_SQL' NOT NULL, + MODIFY sql_mode + set('REAL_AS_FLOAT', + 'PIPES_AS_CONCAT', + 'ANSI_QUOTES', + 'IGNORE_SPACE', + 'NOT_USED', + 'ONLY_FULL_GROUP_BY', + 'NO_UNSIGNED_SUBTRACTION', + 'NO_DIR_IN_CREATE', + 'POSTGRESQL', + 'ORACLE', + 'MSSQL', + 'DB2', + 'MAXDB', + 'NO_KEY_OPTIONS', + 'NO_TABLE_OPTIONS', + 'NO_FIELD_OPTIONS', + 'MYSQL323', + 'MYSQL40', + 'ANSI', + 'NO_AUTO_VALUE_ON_ZERO', + 'NO_BACKSLASH_ESCAPES', + 'STRICT_TRANS_TABLES', + 'STRICT_ALL_TABLES', + 'NO_ZERO_IN_DATE', + 'NO_ZERO_DATE', + 'INVALID_DATES', + 'ERROR_FOR_DIVISION_BY_ZERO', + 'TRADITIONAL', + 'NO_AUTO_CREATE_USER', + 'HIGH_NOT_PRECEDENCE' + ) DEFAULT 0 NOT NULL; diff --git a/scripts/mysqld_safe.sh b/scripts/mysqld_safe.sh index e38127ffd8e..10983d2850f 100644 --- a/scripts/mysqld_safe.sh +++ b/scripts/mysqld_safe.sh @@ -194,6 +194,15 @@ parse_arguments `$print_defaults $defaults --loose-verbose mysqld_safe safe_mysq parse_arguments PICK-ARGS-FROM-ARGV "$@" safe_mysql_unix_port=${mysql_unix_port:-${MYSQL_UNIX_PORT:-@MYSQL_UNIX_ADDR@}} +# Make sure that directory for $safe_mysql_unix_port exists +mysql_unix_port_dir=`dirname $safe_mysql_unix_port` +if [ ! -d $mysql_unix_port_dir ] +then + mkdir $mysql_unix_port_dir + chown $user $mysql_unix_port_dir +fi + + if test ! -x $ledir/$MYSQLD then echo "The file $ledir/$MYSQLD doesn't exist or is not executable" diff --git a/scripts/mysqldumpslow.sh b/scripts/mysqldumpslow.sh index e8f73c25b55..ccb006f692d 100644 --- a/scripts/mysqldumpslow.sh +++ b/scripts/mysqldumpslow.sh @@ -17,8 +17,9 @@ my %opt = ( ); GetOptions(\%opt, - 'v+', # verbose - 'd+', # debug + 'verbose|v+',# verbose + 'help+', # write usage info + 'debug|d+', # debug 's=s', # what to sort by (t, at, l, al, r, ar etc) 'r!', # reverse the sort order (largest last instead of first) 't=i', # just show the top n queries @@ -28,8 +29,9 @@ GetOptions(\%opt, 'h=s', # hostname of db server for *-slow.log filename (can be wildcard) 'i=s', # name of server instance (if using mysql.server startup script) 'l!', # don't subtract lock time from total time -) or die "Bad option"; +) or usage("bad option"); +$opt{'help'} and usage(); unless (@ARGV) { my $defaults = `my_print_defaults mysqld`; @@ -141,3 +143,38 @@ foreach (@sorted) { printf "Count: %d Time=%.2fs (%ds) Lock=%.2fs (%ds) Rows=%.1f (%d), $user\@$host\n%s\n\n", $c, $at,$t, $al,$l, $ar,$r, $_; } + +sub usage { + my $str= shift; + my $text= <in_use->abort_on_warning) + set_warning(MYSQL_ERROR::WARN_LEVEL_ERROR, ER_DATA_TOO_LONG, 1); + else + set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, WARN_DATA_TRUNCATED, 1); + } return error; } @@ -5971,7 +5978,12 @@ int Field_blob::store(const char *from,uint length,CHARSET_INFO *cs) bmove(ptr+packlength,(char*) &from,sizeof(char*)); } if (error) - set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, WARN_DATA_TRUNCATED, 1); + { + if (table->in_use->abort_on_warning) + set_warning(MYSQL_ERROR::WARN_LEVEL_ERROR, ER_DATA_TOO_LONG, 1); + else + set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, WARN_DATA_TRUNCATED, 1); + } return 0; } @@ -7150,6 +7162,24 @@ void create_field::create_length_to_internal_length(void) } +void create_field::init_for_tmp_table(enum_field_types sql_type_arg, + uint32 length_arg, uint32 decimals, + bool maybe_null, bool is_unsigned) +{ + field_name= ""; + sql_type= sql_type_arg; + length= length_arg;; + unireg_check= Field::NONE; + interval= 0; + charset= &my_charset_bin; + geom_type= Field::GEOM_GEOMETRY; + pack_flag= (FIELDFLAG_NUMBER | + ((decimals & FIELDFLAG_MAX_DEC) << FIELDFLAG_DEC_SHIFT) | + (maybe_null ? FIELDFLAG_MAYBE_NULL : 0) | + (is_unsigned ? 0 : FIELDFLAG_DECIMAL)); +} + + enum_field_types get_blob_type_from_length(ulong length) { enum_field_types type; diff --git a/sql/field.h b/sql/field.h index a92ef1db297..083af27d6d9 100644 --- a/sql/field.h +++ b/sql/field.h @@ -1340,7 +1340,8 @@ public: Create field class for CREATE TABLE */ -class create_field :public Sql_alloc { +class create_field :public Sql_alloc +{ public: const char *field_name; const char *change; // If done with alter table @@ -1362,6 +1363,11 @@ public: create_field() :after(0) {} create_field(Field *field, Field *orig_field); void create_length_to_internal_length(void); + + /* Init for a tmp table field. To be extended if need be. */ + void init_for_tmp_table(enum_field_types sql_type_arg, + uint32 max_length, uint32 decimals, + bool maybe_null, bool is_unsigned); }; diff --git a/sql/filesort.cc b/sql/filesort.cc index 751640af192..c50f1daa6ef 100644 --- a/sql/filesort.cc +++ b/sql/filesort.cc @@ -475,8 +475,11 @@ static ha_rows find_all_keys(SORTPARAM *param, SQL_SELECT *select, if (*killed) { DBUG_PRINT("info",("Sort killed by user")); - (void) file->extra(HA_EXTRA_NO_CACHE); - file->ha_rnd_end(); + if (!indexfile && !quick_select) + { + (void) file->extra(HA_EXTRA_NO_CACHE); + file->ha_rnd_end(); + } DBUG_RETURN(HA_POS_ERROR); /* purecov: inspected */ } if (error == 0) @@ -694,12 +697,18 @@ static void make_sortkey(register SORTPARAM *param, to[3]= (uchar) (value >> 32); to[2]= (uchar) (value >> 40); to[1]= (uchar) (value >> 48); - to[0]= (uchar) (value >> 56) ^ 128; // Fix sign + if (item->unsigned_flag) /* Fix sign */ + to[0]= (uchar) (value >> 56); + else + to[0]= (uchar) (value >> 56) ^ 128; /* Reverse signbit */ #else to[3]= (uchar) value; to[2]= (uchar) (value >> 8); to[1]= (uchar) (value >> 16); - to[0]= (uchar) (value >> 24) ^ 128; // Fix sign + if (item->unsigned_flag) /* Fix sign */ + to[0]= (uchar) (value >> 24); + else + to[0]= (uchar) (value >> 24) ^ 128; /* Reverse signbit */ #endif break; } diff --git a/sql/ha_berkeley.cc b/sql/ha_berkeley.cc index f8e14844875..a6cc05e1fdb 100644 --- a/sql/ha_berkeley.cc +++ b/sql/ha_berkeley.cc @@ -107,6 +107,7 @@ static int berkeley_commit(THD *thd, bool all); static int berkeley_rollback(THD *thd, bool all); static handlerton berkeley_hton = { + "BerkeleyDB", 0, /* slot */ 0, /* savepoint size */ berkeley_close_connection, @@ -371,8 +372,9 @@ void berkeley_cleanup_log_files(void) ** Berkeley DB tables *****************************************************************************/ +static const char *ha_bdb_bas_exts[]= { ha_berkeley_ext, NullS }; const char **ha_berkeley::bas_ext() const -{ static const char *ext[]= { ha_berkeley_ext, NullS }; return ext; } +{ return ha_bdb_bas_exts; } ulong ha_berkeley::index_flags(uint idx, uint part, bool all_parts) const diff --git a/sql/ha_federated.cc b/sql/ha_federated.cc index 06e7a2f0aa6..215a8daf200 100644 --- a/sql/ha_federated.cc +++ b/sql/ha_federated.cc @@ -414,6 +414,99 @@ bool federated_db_end() return FALSE; } + +/* + Check (in create) whether the tables exists, and that it can be connected to + + SYNOPSIS + check_foreign_data_source() + share pointer to FEDERATED share + + DESCRIPTION + This method first checks that the connection information that parse url + has populated into the share will be sufficient to connect to the foreign + table, and if so, does the foreign table exist. +*/ + +static int check_foreign_data_source(FEDERATED_SHARE *share) +{ + char escaped_table_base_name[IO_SIZE]; + MYSQL *mysql; + MYSQL_RES *result=0; + uint error_code; + char query_buffer[IO_SIZE]; + char error_buffer[IO_SIZE]; + String query(query_buffer, sizeof(query_buffer), &my_charset_bin); + DBUG_ENTER("ha_federated::check_foreign_data_source"); + query.length(0); + + /* error out if we can't alloc memory for mysql_init(NULL) (per Georg) */ + if (! (mysql= mysql_init(NULL))) + { + DBUG_RETURN(HA_ERR_OUT_OF_MEM); + } + /* check if we can connect */ + if (!mysql_real_connect(mysql, + share->hostname, + share->username, + share->password, + share->database, + share->port, + share->socket, 0)) + { + my_sprintf(error_buffer, + (error_buffer, + "unable to connect to database '%s' on host '%s as user '%s' !", + share->database, share->hostname, share->username)); + error_code= ER_CONNECT_TO_MASTER; + goto error; + } + else + { + /* + Note: I am not using INORMATION_SCHEMA because this needs to work with < 5.0 + if we can connect, then make sure the table exists + */ + query.append("SHOW TABLES LIKE '"); + escape_string_for_mysql(&my_charset_bin, (char *)escaped_table_base_name, + share->table_base_name, + share->table_base_name_length); + query.append(escaped_table_base_name); + query.append("'"); + + error_code= ER_QUERY_ON_MASTER; + if (mysql_real_query(mysql, query.ptr(), query.length())) + goto error; + + result= mysql_store_result(mysql); + if (! result) + goto error; + + /* if ! mysql_num_rows, the table doesn't exist, send error */ + if (! mysql_num_rows(result)) + { + my_sprintf(error_buffer, + (error_buffer, "foreign table '%s' does not exist!", + share->table_base_name)); + goto error; + } + mysql_free_result(result); + result= 0; + mysql_close(mysql); + + } + DBUG_RETURN(0); + +error: + if (result) + mysql_free_result(result); + mysql_close(mysql); + my_error(error_code, MYF(0), error_buffer); + DBUG_RETURN(error_code); + +} + + /* Parse connection info from table->s->comment @@ -521,6 +614,8 @@ static int parse_url(FEDERATED_SHARE *share, TABLE *table, } else goto error; + + share->table_base_name_length= strlen(share->table_base_name); } else goto error; @@ -545,6 +640,17 @@ static int parse_url(FEDERATED_SHARE *share, TABLE *table, share->scheme, share->username, share->password, share->hostname, share->port, share->database, share->table_base_name)); + + /* If creation, check first if we can connect and that the table exists */ + /*if (table_create_flag) + { + if (check_foreign_data_source(share)) + goto error; + */ + /* free share->schema even if no error, since this is a create */ + /* + my_free((gptr) share->scheme, MYF(0)); + }*/ } else goto error; @@ -561,6 +667,7 @@ error: } + /* Convert MySQL result set row to handler internal format @@ -778,15 +885,14 @@ static FEDERATED_SHARE *get_share(const char *table_name, TABLE *table) table_name_length))) { query.set_charset(system_charset_info); - query.append("SELECT * FROM "); - query.append(table_base_name); + query.append("SELECT * FROM `"); if (!(share= (FEDERATED_SHARE *) my_multi_malloc(MYF(MY_WME | MY_ZEROFILL), &share, sizeof(*share), &tmp_table_name, table_name_length + 1, - &tmp_table_base_name, table_base_name_length + 1, - &select_query, query.length() + 1, NullS))) + &select_query, query.length() + + strlen(table->s->comment) + 1, NullS))) { pthread_mutex_unlock(&federated_mutex); return NULL; @@ -795,14 +901,13 @@ static FEDERATED_SHARE *get_share(const char *table_name, TABLE *table) if (parse_url(share, table, 0)) goto error; + query.append(share->table_base_name); + query.append("`"); share->use_count= 0; share->table_name_length= table_name_length; share->table_name= tmp_table_name; - share->table_base_name_length= table_base_name_length; - share->table_base_name= tmp_table_base_name; share->select_query= select_query; strmov(share->table_name, table_name); - strmov(share->table_base_name, table_base_name); strmov(share->select_query, query.ptr()); DBUG_PRINT("ha_federated::get_share", ("share->select_query %s", share->select_query)); @@ -820,7 +925,6 @@ error: pthread_mutex_unlock(&federated_mutex); if (share->scheme) my_free((gptr) share->scheme, MYF(0)); - VOID(pthread_mutex_destroy(&share->mutex)); my_free((gptr) share, MYF(0)); return NULL; @@ -1016,6 +1120,8 @@ int ha_federated::write_row(byte *buf) insert_field_value_string.length(0); DBUG_ENTER("ha_federated::write_row"); + DBUG_PRINT("ha_federated::write_row", ("table charset name %s csname %s", + table->s->table_charset->name, table->s->table_charset->csname)); statistic_increment(table->in_use->status_var.ha_write_count, &LOCK_status); if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_INSERT) @@ -1031,8 +1137,9 @@ int ha_federated::write_row(byte *buf) current_query_id)); /* start off our string */ - insert_string.append("INSERT INTO "); + insert_string.append("INSERT INTO `"); insert_string.append(share->table_base_name); + insert_string.append("`"); /* start both our field and field values strings */ insert_string.append(" ("); values_string.append(" VALUES ("); @@ -1056,7 +1163,7 @@ int ha_federated::write_row(byte *buf) for (field= table->field; *field; field++, x++) { DBUG_PRINT("ha_federated::write_row", ("field type %d", (*field)->type())); - // if there is a query id and if it's equal to the current query id + /* if there is a query id and if it's equal to the current query id */ if (((*field)->query_id && (*field)->query_id == current_query_id) || all_fields_have_same_query_id) { @@ -1076,8 +1183,7 @@ int ha_federated::write_row(byte *buf) current_query_id, (*field)->query_id)); (*field)->val_str(&insert_field_value_string); /* quote these fields if they require it */ - (*field)->quote_data(&insert_field_value_string); - } + (*field)->quote_data(&insert_field_value_string); } /* append the field name */ insert_string.append((*field)->field_name); @@ -1162,20 +1268,19 @@ int ha_federated::update_row(const byte *old_data, byte *new_data) /* stores the value to be replaced of the field were are updating */ String old_field_value(old_field_value_buffer, sizeof(old_field_value_buffer), &my_charset_bin); - old_field_value.length(0); /* stores the new value of the field */ String new_field_value(new_field_value_buffer, sizeof(new_field_value_buffer), &my_charset_bin); - new_field_value.length(0); /* stores the update query */ String update_string(update_buffer, sizeof(update_buffer), &my_charset_bin); - update_string.length(0); /* stores the WHERE clause */ String where_string(where_buffer, sizeof(where_buffer), &my_charset_bin); - where_string.length(0); DBUG_ENTER("ha_federated::update_row"); - + old_field_value.length(0); + new_field_value.length(0); + update_string.length(0); + where_string.length(0); has_a_primary_key= (table->s->primary_key == 0 ? 1 : 0); primary_key_field_num= has_a_primary_key ? @@ -1183,8 +1288,9 @@ int ha_federated::update_row(const byte *old_data, byte *new_data) if (has_a_primary_key) DBUG_PRINT("ha_federated::update_row", ("has a primary key")); - update_string.append("UPDATE "); + update_string.append("UPDATE `"); update_string.append(share->table_base_name); + update_string.append("`"); update_string.append(" SET "); /* @@ -1312,8 +1418,9 @@ int ha_federated::delete_row(const byte *buf) DBUG_ENTER("ha_federated::delete_row"); - delete_string.append("DELETE FROM "); + delete_string.append("DELETE FROM `"); delete_string.append(share->table_base_name); + delete_string.append("`"); delete_string.append(" WHERE "); for (Field **field= table->field; *field; field++, x++) @@ -1395,6 +1502,7 @@ int ha_federated::index_read_idx(byte *buf, uint index, const byte *key, sql_query.length(0); DBUG_ENTER("ha_federated::index_read_idx"); + statistic_increment(table->in_use->status_var.ha_read_key_count, &LOCK_status); @@ -1576,6 +1684,16 @@ int ha_federated::rnd_next(byte *buf) MYSQL_ROW row; DBUG_ENTER("ha_federated::rnd_next"); + if (result == 0) + { + /* + Return value of rnd_init is not always checked (see records.cc), + so we can get here _even_ if there is _no_ pre-fetched result-set! + TODO: fix it. + */ + DBUG_RETURN(1); + } + /* Fetch a row, insert it back in a row format. */ current_position= result->data_cursor; DBUG_PRINT("ha_federated::rnd_next", @@ -1716,8 +1834,9 @@ int ha_federated::delete_all_rows() query.length(0); query.set_charset(system_charset_info); - query.append("TRUNCATE "); + query.append("TRUNCATE `"); query.append(share->table_base_name); + query.append("`"); if (mysql_real_query(mysql, query.ptr(), query.length())) { @@ -1803,14 +1922,28 @@ THR_LOCK_DATA **ha_federated::store_lock(THD *thd, int ha_federated::create(const char *name, TABLE *table_arg, HA_CREATE_INFO *create_info) { + int connection_error=0; FEDERATED_SHARE tmp; DBUG_ENTER("ha_federated::create"); + if (parse_url(&tmp, table_arg, 1)) { - my_error(ER_CANT_CREATE_TABLE, MYF(0)); - DBUG_RETURN(ER_CANT_CREATE_TABLE); + my_error(ER_CANT_CREATE_TABLE, MYF(0), name, 1); + goto error; } + if ((connection_error= check_foreign_data_source(&tmp))) + { + my_error(connection_error, MYF(0), name, 1); + goto error; + } + my_free((gptr) tmp.scheme, MYF(0)); DBUG_RETURN(0); + +error: + DBUG_PRINT("ha_federated::create", ("errors, returning %d", ER_CANT_CREATE_TABLE)); + my_free((gptr) tmp.scheme, MYF(0)); + DBUG_RETURN(ER_CANT_CREATE_TABLE); + } #endif /* HAVE_FEDERATED_DB */ diff --git a/sql/ha_heap.cc b/sql/ha_heap.cc index b5884b17093..c8d0e5c1c18 100644 --- a/sql/ha_heap.cc +++ b/sql/ha_heap.cc @@ -457,6 +457,7 @@ int ha_heap::create(const char *name, TABLE *table_arg, char buff[FN_REFLEN]; int error; TABLE_SHARE *share= table_arg->s; + bool found_real_auto_increment= 0; for (key= parts= 0; key < keys; key++) parts+= table_arg->key_info[key].key_parts; @@ -489,8 +490,6 @@ int ha_heap::create(const char *name, TABLE *table_arg, default: DBUG_ASSERT(0); // cannot happen } - keydef[key].algorithm= ((pos->algorithm == HA_KEY_ALG_UNDEF) ? - HA_KEY_ALG_HASH : pos->algorithm); for (; key_part != key_part_end; key_part++, seg++) { @@ -522,19 +521,22 @@ int ha_heap::create(const char *name, TABLE *table_arg, seg->null_bit= 0; seg->null_pos= 0; } + // We have to store field->key_type() as seg->type can differ from it if (field->flags & AUTO_INCREMENT_FLAG) - { - auto_key= key + 1; auto_key_type= field->key_type(); - } } } mem_per_row+= MY_ALIGN(share->reclength + 1, sizeof(char*)); max_rows = (ha_rows) (table->in_use->variables.max_heap_table_size / mem_per_row); + if (table_arg->found_next_number_field) + { + keydef[share->next_number_index].flag|= HA_AUTO_KEY; + found_real_auto_increment= share->next_number_key_offset == 0; + } HP_CREATE_INFO hp_create_info; - hp_create_info.auto_key= auto_key; hp_create_info.auto_key_type= auto_key_type; + hp_create_info.with_auto_increment= found_real_auto_increment; hp_create_info.auto_increment= (create_info->auto_increment_value ? create_info->auto_increment_value - 1 : 0); hp_create_info.max_table_size=current_thd->variables.max_heap_table_size; diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index 4dee14c27b4..7132ab00bb9 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -21,6 +21,7 @@ have disables the InnoDB inlining in this file. */ /* TODO list for the InnoDB handler in 5.0: - Remove the flag trx->active_trans and look at the InnoDB trx struct state field + - fix savepoint functions to use savepoint storage area - Find out what kind of problems the OS X case-insensitivity causes to table and database names; should we 'normalize' the names like we do in Windows? @@ -157,6 +158,7 @@ static int innobase_savepoint(THD* thd, void *savepoint); static int innobase_release_savepoint(THD* thd, void *savepoint); static handlerton innobase_hton = { + "InnoDB", 0, /* slot */ sizeof(trx_named_savept_t), /* savepoint size. TODO: use it */ innobase_close_connection, @@ -690,6 +692,10 @@ check_trx_exists( trx->mysql_query_str = &(thd->query); trx->active_trans = 0; + /* Update the info whether we should skip XA steps that eat + CPU time */ + trx->support_xa = (ibool)(thd->variables.innodb_support_xa); + thd->ha_data[innobase_hton.slot] = trx; } else { if (trx->magic_n != TRX_MAGIC_N) { @@ -1068,6 +1074,8 @@ innobase_init(void) DBUG_ENTER("innobase_init"); + ut_a(DATA_MYSQL_TRUE_VARCHAR == (ulint)MYSQL_TYPE_VARCHAR); + os_innodb_umask = (ulint)my_umask; /* First calculate the default path for innodb_data_home_dir etc., @@ -1434,6 +1442,9 @@ innobase_commit( trx = check_trx_exists(thd); + /* Update the info whether we should skip XA steps that eat CPU time */ + trx->support_xa = (ibool)(thd->variables.innodb_support_xa); + /* Release a possible FIFO ticket and search latch. Since we will reserve the kernel mutex, we have to release the search system latch first to obey the latching order. */ @@ -1620,6 +1631,9 @@ innobase_rollback( trx = check_trx_exists(thd); + /* Update the info whether we should skip XA steps that eat CPU time */ + trx->support_xa = (ibool)(thd->variables.innodb_support_xa); + /* Release a possible FIFO ticket and search latch. Since we will reserve the kernel mutex, we have to release the search system latch first to obey the latching order. */ @@ -2232,7 +2246,9 @@ innobase_mysql_cmp( } /****************************************************************** -Converts a MySQL type to an InnoDB type. */ +Converts a MySQL type to an InnoDB type. Note that this function returns +the 'mtype' of InnoDB. InnoDB differentiates between MySQL's old <= 4.1 +VARCHAR and the new true VARCHAR in >= 5.0.3 by the 'prtype'. */ inline ulint get_innobase_type_from_mysql_type( @@ -2247,8 +2263,9 @@ get_innobase_type_from_mysql_type( switch (field->type()) { /* NOTE that we only allow string types in DATA_MYSQL and DATA_VARMYSQL */ - case MYSQL_TYPE_VAR_STRING: - case MYSQL_TYPE_VARCHAR: if (field->binary()) { + case MYSQL_TYPE_VAR_STRING: /* old <= 4.1 VARCHAR */ + case MYSQL_TYPE_VARCHAR: /* new >= 5.0.3 true VARCHAR */ + if (field->binary()) { return(DATA_BINARY); } else if (strcmp( field->charset()->name, @@ -2301,6 +2318,35 @@ get_innobase_type_from_mysql_type( return(0); } +/*********************************************************************** +Writes an unsigned integer value < 64k to 2 bytes, in the little-endian +storage format. */ +inline +void +innobase_write_to_2_little_endian( +/*==============================*/ + byte* buf, /* in: where to store */ + ulint val) /* in: value to write, must be < 64k */ +{ + ut_a(val < 256 * 256); + + buf[0] = (byte)(val & 0xFF); + buf[1] = (byte)(val / 256); +} + +/*********************************************************************** +Reads an unsigned integer value < 64k from 2 bytes, in the little-endian +storage format. */ +inline +uint +innobase_read_from_2_little_endian( +/*===============================*/ + /* out: value */ + const mysql_byte* buf) /* in: from where to read */ +{ + return((ulint)(buf[0]) + 256 * ((ulint)(buf[1]))); +} + /*********************************************************************** Stores a key value for a row to a buffer. */ @@ -2340,9 +2386,14 @@ ha_innobase::store_key_val_for_row( 3. In a column prefix field, prefix_len next bytes are reserved for data. In a normal field the max field length next bytes are reserved for data. For a VARCHAR(n) the max field length is n. If the stored - value is the SQL NULL then these data bytes are set to 0. */ + value is the SQL NULL then these data bytes are set to 0. - /* We have to zero-fill the buffer so that MySQL is able to use a + 4. We always use a 2 byte length for a true >= 5.0.3 VARCHAR. Note that + in the MySQL row format, the length is stored in 1 or 2 bytes, + depending on the maximum allowed length. But in the MySQL key value + format, the length always takes 2 bytes. + + We have to zero-fill the buffer so that MySQL is able to use a simple memcmp to compare two key values to determine if they are equal. MySQL does this to compare contents of two 'ref' values. */ @@ -2365,7 +2416,43 @@ ha_innobase::store_key_val_for_row( field = key_part->field; mysql_type = field->type(); - if (mysql_type == FIELD_TYPE_TINY_BLOB + if (mysql_type == MYSQL_TYPE_VARCHAR) { + /* >= 5.0.3 true VARCHAR */ + ulint lenlen; + ulint len; + byte* data; + + if (is_null) { + buff += key_part->length + 2; + + continue; + } + + lenlen = (ulint) + (((Field_varstring*)field)->length_bytes); + + data = row_mysql_read_true_varchar(&len, + (byte*) (record + + (ulint)get_field_offset(table, field)), + lenlen); + + /* The length in a key value is always stored in 2 + bytes */ + + row_mysql_store_true_var_len((byte*)buff, len, 2); + buff += 2; + + memcpy(buff, data, len); + + /* Note that we always reserve the maximum possible + length of the true VARCHAR in the key value, though + only len first bytes after the 2 length bytes contain + actual data. The rest of the space was reset to zero + in the bzero() call above. */ + + buff += key_part->length; + + } else if (mysql_type == FIELD_TYPE_TINY_BLOB || mysql_type == FIELD_TYPE_MEDIUM_BLOB || mysql_type == FIELD_TYPE_BLOB || mysql_type == FIELD_TYPE_LONG_BLOB) { @@ -2373,9 +2460,9 @@ ha_innobase::store_key_val_for_row( ut_a(key_part->key_part_flag & HA_PART_KEY_SEG); if (is_null) { - buff += key_part->length + 2; + buff += key_part->length + 2; - continue; + continue; } blob_data = row_mysql_read_blob_ref(&blob_len, @@ -2392,12 +2479,15 @@ ha_innobase::store_key_val_for_row( /* MySQL reserves 2 bytes for the length and the storage of the number is little-endian */ - ut_a(blob_len < 256); - *((byte*)buff) = (byte)blob_len; + innobase_write_to_2_little_endian( + (byte*)buff, (ulint)blob_len); buff += 2; memcpy(buff, blob_data, blob_len); + /* Note that we always reserve the maximum possible + length of the BLOB prefix in the key value. */ + buff += key_part->length; } else { if (is_null) { @@ -2561,6 +2651,13 @@ build_template( templ->mysql_col_len = (ulint) field->pack_length(); templ->type = get_innobase_type_from_mysql_type(field); + templ->mysql_type = (ulint)field->type(); + + if (templ->mysql_type == DATA_MYSQL_TRUE_VARCHAR) { + templ->mysql_length_bytes = (ulint) + (((Field_varstring*)field)->length_bytes); + } + templ->charset = dtype_get_charset_coll_noninline( index->table->cols[i].type.prtype); templ->mbminlen = index->table->cols[i].type.mbminlen; @@ -2798,54 +2895,6 @@ func_exit: DBUG_RETURN(error); } -/****************************************************************** -Converts field data for storage in an InnoDB update vector. */ -inline -mysql_byte* -innobase_convert_and_store_changed_col( -/*===================================*/ - /* out: pointer to the end of the converted - data in the buffer */ - upd_field_t* ufield, /* in/out: field in the update vector */ - mysql_byte* buf, /* in: buffer we can use in conversion */ - mysql_byte* data, /* in: column data to store */ - ulint len, /* in: data len */ - ulint col_type,/* in: data type in InnoDB type numbers */ - ulint is_unsigned)/* in: != 0 if an unsigned integer type */ -{ - uint i; - - if (len == UNIV_SQL_NULL) { - data = NULL; - } else if (col_type == DATA_VARCHAR || col_type == DATA_BINARY - || col_type == DATA_VARMYSQL) { - /* Remove trailing spaces */ - while (len > 0 && data[len - 1] == ' ') { - len--; - } - } else if (col_type == DATA_INT) { - /* Store integer data in InnoDB in a big-endian - format, sign bit negated, if signed */ - - for (i = 0; i < len; i++) { - buf[len - 1 - i] = data[i]; - } - - if (!is_unsigned) { - buf[0] = buf[0] ^ 128; - } - - data = buf; - - buf += len; - } - - ufield->new_val.data = data; - ufield->new_val.len = len; - - return(buf); -} - /************************************************************************** Checks which fields have changed in a row and stores information of them to an update vector. */ @@ -2866,9 +2915,11 @@ calc_row_difference( { mysql_byte* original_upd_buff = upd_buff; Field* field; + enum_field_types field_mysql_type; uint n_fields; ulint o_len; ulint n_len; + ulint col_pack_len; byte* o_ptr; byte* n_ptr; byte* buf; @@ -2876,6 +2927,7 @@ calc_row_difference( ulint col_type; ulint is_unsigned; ulint n_changed = 0; + dfield_t dfield; uint i; n_fields = table->s->fields; @@ -2895,9 +2947,13 @@ calc_row_difference( o_ptr = (byte*) old_row + get_field_offset(table, field); n_ptr = (byte*) new_row + get_field_offset(table, field); - o_len = field->pack_length(); - n_len = field->pack_length(); + + col_pack_len = field->pack_length(); + o_len = col_pack_len; + n_len = col_pack_len; + field_mysql_type = field->type(); + col_type = get_innobase_type_from_mysql_type(field); is_unsigned = (ulint) (field->flags & UNSIGNED_FLAG); @@ -2906,14 +2962,29 @@ calc_row_difference( case DATA_BLOB: o_ptr = row_mysql_read_blob_ref(&o_len, o_ptr, o_len); n_ptr = row_mysql_read_blob_ref(&n_len, n_ptr, n_len); + break; + case DATA_VARCHAR: case DATA_BINARY: case DATA_VARMYSQL: - o_ptr = row_mysql_read_var_ref_noninline(&o_len, - o_ptr); - n_ptr = row_mysql_read_var_ref_noninline(&n_len, - n_ptr); + if (field_mysql_type == MYSQL_TYPE_VARCHAR) { + /* This is a >= 5.0.3 type true VARCHAR where + the real payload data length is stored in + 1 or 2 bytes */ + + o_ptr = row_mysql_read_true_varchar( + &o_len, o_ptr, + (ulint) + (((Field_varstring*)field)->length_bytes)); + + n_ptr = row_mysql_read_true_varchar( + &n_len, n_ptr, + (ulint) + (((Field_varstring*)field)->length_bytes)); + } + + break; default: ; } @@ -2935,12 +3006,29 @@ calc_row_difference( /* The field has changed */ ufield = uvect->fields + n_changed; + + /* Let us use a dummy dfield to make the conversion + from the MySQL column format to the InnoDB format */ + + dfield.type = (prebuilt->table->cols + i)->type; + + if (n_len != UNIV_SQL_NULL) { + buf = row_mysql_store_col_in_innobase_format( + &dfield, + (byte*)buf, + TRUE, + n_ptr, + col_pack_len, + prebuilt->table->comp); + ufield->new_val.data = + dfield_get_data(&dfield); + ufield->new_val.len = + dfield_get_len(&dfield); + } else { + ufield->new_val.data = NULL; + ufield->new_val.len = UNIV_SQL_NULL; + } - buf = (byte*) - innobase_convert_and_store_changed_col(ufield, - (mysql_byte*)buf, - (mysql_byte*)n_ptr, n_len, col_type, - is_unsigned); ufield->exp = NULL; ufield->field_no = (prebuilt->table->cols + i)->clust_pos; @@ -3689,7 +3777,7 @@ ha_innobase::rnd_pos( } if (error) { - DBUG_PRINT("error",("Got error: %ld",error)); + DBUG_PRINT("error", ("Got error: %ld", error)); DBUG_RETURN(error); } @@ -3697,10 +3785,11 @@ ha_innobase::rnd_pos( for the table, and it is == ref_length */ error = index_read(buf, pos, ref_length, HA_READ_KEY_EXACT); - if (error) - { - DBUG_PRINT("error",("Got error: %ld",error)); + + if (error) { + DBUG_PRINT("error", ("Got error: %ld", error)); } + change_active_index(keynr); DBUG_RETURN(error); @@ -3740,12 +3829,11 @@ ha_innobase::position( ref_length, record); } - /* Since we do not store len to the buffer 'ref', we must assume - that len is always fixed for this table. The following assertion - checks this. */ + /* We assume that the 'ref' value len is always fixed for the same + table. */ if (len != ref_length) { - fprintf(stderr, + fprintf(stderr, "InnoDB: Error: stored ref len is %lu, but table ref len is %lu\n", (ulong)len, (ulong)ref_length); } @@ -3776,9 +3864,11 @@ create_table_def( ulint n_cols; int error; ulint col_type; + ulint col_len; ulint nulls_allowed; ulint unsigned_type; ulint binary_type; + ulint long_true_varchar; ulint charset_no; ulint i; @@ -3825,17 +3915,40 @@ create_table_def( charset_no = (ulint)field->charset()->number; - ut_a(charset_no < 256); /* in ut0type.h we assume that - the number fits in one byte */ + ut_a(charset_no < 256); /* in data0type.h we assume + that the number fits in one + byte */ } - dict_mem_table_add_col(table, (char*) field->field_name, - col_type, dtype_form_prtype( - (ulint)field->type() - | nulls_allowed | unsigned_type - | binary_type, - + charset_no), - field->pack_length(), 0); + ut_a(field->type() < 256); /* we assume in dtype_form_prtype() + that this fits in one byte */ + col_len = field->pack_length(); + + /* The MySQL pack length contains 1 or 2 bytes length field + for a true VARCHAR. Let us subtract that, so that the InnoDB + column length in the InnoDB data dictionary is the real + maximum byte length of the actual data. */ + + long_true_varchar = 0; + + if (field->type() == MYSQL_TYPE_VARCHAR) { + col_len -= ((Field_varstring*)field)->length_bytes; + + if (((Field_varstring*)field)->length_bytes == 2) { + long_true_varchar = DATA_LONG_TRUE_VARCHAR; + } + } + + dict_mem_table_add_col(table, + (char*) field->field_name, + col_type, + dtype_form_prtype( + (ulint)field->type() + | nulls_allowed | unsigned_type + | binary_type | long_true_varchar, + charset_no), + col_len, + 0); } error = row_create_table_for_mysql(table, trx); @@ -6113,54 +6226,79 @@ ha_innobase::get_auto_increment() return((ulonglong) nr); } +/*********************************************************************** +Compares two 'refs'. A 'ref' is the (internal) primary key value of the row. +If there is no explicitly declared non-null unique key or a primary key, then +InnoDB internally uses the row id as the primary key. */ int ha_innobase::cmp_ref( - const mysql_byte *ref1, - const mysql_byte *ref2) +/*=================*/ + /* out: < 0 if ref1 < ref2, 0 if equal, else + > 0 */ + const mysql_byte* ref1, /* in: an (internal) primary key value in the + MySQL key value format */ + const mysql_byte* ref2) /* in: an (internal) primary key value in the + MySQL key value format */ { - row_prebuilt_t* prebuilt = (row_prebuilt_t*) innobase_prebuilt; + row_prebuilt_t* prebuilt = (row_prebuilt_t*) innobase_prebuilt; enum_field_types mysql_type; - Field* field; - int result; + Field* field; + KEY_PART_INFO* key_part; + KEY_PART_INFO* key_part_end; + uint len1; + uint len2; + int result; - if (prebuilt->clust_index_was_generated) - return memcmp(ref1, ref2, DATA_ROW_ID_LEN); + if (prebuilt->clust_index_was_generated) { + /* The 'ref' is an InnoDB row id */ + + return(memcmp(ref1, ref2, DATA_ROW_ID_LEN)); + } + + /* Do a type-aware comparison of primary key fields. PK fields + are always NOT NULL, so no checks for NULL are performed. */ + + key_part = table->key_info[table->s->primary_key].key_part; + + key_part_end = key_part + + table->key_info[table->s->primary_key].key_parts; - /* Do type-aware comparison of Primary Key members. PK members - are always NOT NULL, so no checks for NULL are performed */ - KEY_PART_INFO *key_part= - table->key_info[table->s->primary_key].key_part; - KEY_PART_INFO *key_part_end= - key_part + table->key_info[table->s->primary_key].key_parts; for (; key_part != key_part_end; ++key_part) { field = key_part->field; mysql_type = field->type(); + if (mysql_type == FIELD_TYPE_TINY_BLOB || mysql_type == FIELD_TYPE_MEDIUM_BLOB || mysql_type == FIELD_TYPE_BLOB || mysql_type == FIELD_TYPE_LONG_BLOB) { - ut_a(!ref1[1]); - ut_a(!ref2[1]); - byte len1= *ref1; - byte len2= *ref2; + /* In the MySQL key value format, a column prefix of + a BLOB is preceded by a 2-byte length field */ + + len1 = innobase_read_from_2_little_endian(ref1); + len2 = innobase_read_from_2_little_endian(ref2); + ref1 += 2; ref2 += 2; - result = - ((Field_blob*)field)->cmp((const char*)ref1, len1, + result = ((Field_blob*)field)->cmp( + (const char*)ref1, len1, (const char*)ref2, len2); } else { - result = - field->cmp((const char*)ref1, (const char*)ref2); + result = field->cmp((const char*)ref1, + (const char*)ref2); + } + + if (result) { + + return(result); } - if (result) - return result; ref1 += key_part->length; ref2 += key_part->length; } - return 0; + + return(0); } char* @@ -6308,6 +6446,11 @@ innobase_xa_prepare( int error = 0; trx_t* trx; + if (!thd->variables.innodb_support_xa) { + + return(0); + } + trx = check_trx_exists(thd); trx->xid=thd->transaction.xid; diff --git a/sql/ha_innodb.h b/sql/ha_innodb.h index 1c8063b9373..e1ed3a486cf 100644 --- a/sql/ha_innodb.h +++ b/sql/ha_innodb.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 MySQL AB && Innobase Oy +/* Copyright (C) 2000-2005 MySQL AB && Innobase Oy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,9 +40,10 @@ my_bool innobase_query_caching_of_table_permitted(THD* thd, char* full_name, /* The class defining a handle to an Innodb table */ class ha_innobase: public handler { - void* innobase_prebuilt; /* (row_prebuilt_t*) prebuilt - struct in Innodb, used to save - CPU */ + void* innobase_prebuilt;/* (row_prebuilt_t*) prebuilt + struct in InnoDB, used to save + CPU time with prebuilt data + structures*/ THD* user_thd; /* the thread handle of the user currently using the handle; this is set in external_lock function */ @@ -83,12 +84,12 @@ class ha_innobase: public handler public: ha_innobase(TABLE *table): handler(table), int_table_flags(HA_REC_NOT_IN_SEQ | - HA_NULL_IN_KEY | HA_FAST_KEY_READ | + HA_NULL_IN_KEY | + HA_FAST_KEY_READ | HA_CAN_INDEX_BLOBS | HA_CAN_SQL_HANDLER | HA_NOT_EXACT_COUNT | HA_PRIMARY_KEY_IN_READ_INDEX | - HA_NO_VARCHAR | HA_TABLE_SCAN_ON_INDEX), last_dup_key((uint) -1), start_of_scan(0), @@ -108,7 +109,10 @@ class ha_innobase: public handler ulong table_flags() const { return int_table_flags; } ulong index_flags(uint idx, uint part, bool all_parts) const { - return (HA_READ_NEXT | HA_READ_PREV | HA_READ_ORDER | HA_READ_RANGE | + return (HA_READ_NEXT | + HA_READ_PREV | + HA_READ_ORDER | + HA_READ_RANGE | HA_KEYREAD_ONLY); } uint max_supported_keys() const { return MAX_KEY; } @@ -163,7 +167,8 @@ class ha_innobase: public handler int start_stmt(THD *thd); void position(byte *record); - ha_rows records_in_range(uint inx, key_range *min_key, key_range *max_key); + ha_rows records_in_range(uint inx, key_range *min_key, key_range + *max_key); ha_rows estimate_rows_upper_bound(); int create(const char *name, register TABLE *form, diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 35bbeca9cc0..68523bfb41f 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -50,6 +50,7 @@ static int ndbcluster_commit(THD *thd, bool all); static int ndbcluster_rollback(THD *thd, bool all); static handlerton ndbcluster_hton = { + "ndbcluster", 0, /* slot */ 0, /* savepoint size */ ndbcluster_close_connection, @@ -285,7 +286,8 @@ Thd_ndb::~Thd_ndb() { if (ndb) delete ndb; - ndb= 0; + ndb= NULL; + changed_tables.empty(); } inline @@ -411,6 +413,35 @@ void ha_ndbcluster::no_uncommitted_rows_reset(THD *thd) # The mapped error code */ +void ha_ndbcluster::invalidateDictionaryCache() +{ + NDBDICT *dict= get_ndb()->getDictionary(); + DBUG_PRINT("info", ("invalidating %s", m_tabname)); + dict->invalidateTable(m_tabname); + table->s->version=0L; /* Free when thread is ready */ + /* Invalidate indexes */ + for (uint i= 0; i < table->s->keys; i++) + { + NDBINDEX *index = (NDBINDEX *) m_index[i].index; + NDBINDEX *unique_index = (NDBINDEX *) m_index[i].unique_index; + NDB_INDEX_TYPE idx_type= m_index[i].type; + + switch(idx_type) { + case(PRIMARY_KEY_ORDERED_INDEX): + case(ORDERED_INDEX): + dict->invalidateIndex(index->getName(), m_tabname); + break; + case(UNIQUE_ORDERED_INDEX): + dict->invalidateIndex(index->getName(), m_tabname); + case(UNIQUE_INDEX): + dict->invalidateIndex(unique_index->getName(), m_tabname); + break; + case(PRIMARY_KEY_INDEX): + case(UNDEFINED_INDEX): + break; + } + } +} int ha_ndbcluster::ndb_err(NdbTransaction *trans) { @@ -421,14 +452,8 @@ int ha_ndbcluster::ndb_err(NdbTransaction *trans) ERR_PRINT(err); switch (err.classification) { case NdbError::SchemaError: - { - Ndb *ndb= get_ndb(); - NDBDICT *dict= ndb->getDictionary(); - DBUG_PRINT("info", ("invalidateTable %s", m_tabname)); - dict->invalidateTable(m_tabname); - table->s->version= 0L; /* Free when thread is ready */ + invalidateDictionaryCache(); break; - } default: break; } @@ -855,7 +880,7 @@ int ha_ndbcluster::get_metadata(const char *path) if (!invalidating_ndb_table) { DBUG_PRINT("info", ("Invalidating table")); - dict->invalidateTable(m_tabname); + invalidateDictionaryCache(); invalidating_ndb_table= TRUE; } else @@ -1867,7 +1892,7 @@ int ha_ndbcluster::write_row(byte *record) if (peek_res != HA_ERR_KEY_NOT_FOUND) DBUG_RETURN(peek_res); } - + statistic_increment(thd->status_var.ha_write_count, &LOCK_status); if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_INSERT) table->timestamp_field->set_time(); @@ -1916,6 +1941,8 @@ int ha_ndbcluster::write_row(byte *record) } } + m_rows_changed++; + /* Execute write operation NOTE When doing inserts with many values in @@ -2109,6 +2136,8 @@ int ha_ndbcluster::update_row(const byte *old_data, byte *new_data) } } + m_rows_changed++; + // Set non-key attribute(s) for (i= 0; i < table->s->fields; i++) { @@ -2191,7 +2220,9 @@ int ha_ndbcluster::delete_row(const byte *record) return res; } } - + + m_rows_changed++; + // Execute delete operation if (execute_no_commit(this,trans) != 0) { no_uncommitted_rows_execute_failure(); @@ -3088,14 +3119,14 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type) Check that this handler instance has a connection set up to the Ndb object of thd */ - if (check_ndb_connection()) + if (check_ndb_connection(thd)) DBUG_RETURN(1); - + Thd_ndb *thd_ndb= get_thd_ndb(thd); Ndb *ndb= thd_ndb->ndb; - DBUG_PRINT("enter", ("transaction.thd_ndb->lock_count: %d", - thd_ndb->lock_count)); + DBUG_PRINT("enter", ("thd: %x, thd_ndb: %x, thd_ndb->lock_count: %d", + thd, thd_ndb, thd_ndb->lock_count)); if (lock_type != F_UNLCK) { @@ -3103,7 +3134,6 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type) if (!thd_ndb->lock_count++) { PRINT_OPTION_FLAGS(thd); - if (!(thd->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN | OPTION_TABLE_LOCK))) { // Autocommit transaction @@ -3171,9 +3201,10 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type) m_active_trans= thd_ndb->all ? thd_ndb->all : thd_ndb->stmt; DBUG_ASSERT(m_active_trans); // Start of transaction + m_rows_changed= 0; m_retrieve_all_fields= FALSE; m_retrieve_primary_key= FALSE; - m_ops_pending= 0; + m_ops_pending= 0; { NDBDICT *dict= ndb->getDictionary(); const NDBTAB *tab; @@ -3185,10 +3216,28 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type) m_table_info= tab_info; } no_uncommitted_rows_init(thd); - } - else + } + else { DBUG_PRINT("info", ("lock_type == F_UNLCK")); + + if (ndb_cache_check_time && m_rows_changed) + { + DBUG_PRINT("info", ("Rows has changed and util thread is running")); + if (thd->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN)) + { + DBUG_PRINT("info", ("Add share to list of tables to be invalidated")); + /* NOTE push_back allocates memory using transactions mem_root! */ + thd_ndb->changed_tables.push_back(m_share, &thd->transaction.mem_root); + } + + pthread_mutex_lock(&m_share->mutex); + DBUG_PRINT("info", ("Invalidating commit_count")); + m_share->commit_count= 0; + m_share->commit_count_lock++; + pthread_mutex_unlock(&m_share->mutex); + } + if (!--thd_ndb->lock_count) { DBUG_PRINT("trans", ("Last external_lock")); @@ -3208,6 +3257,7 @@ int ha_ndbcluster::external_lock(THD *thd, int lock_type) } m_table= NULL; m_table_info= NULL; + /* This is the place to make sure this handler instance no longer are connected to the active transaction. @@ -3281,7 +3331,7 @@ int ha_ndbcluster::start_stmt(THD *thd) /* - Commit a transaction started in NDB + Commit a transaction started in NDB */ int ndbcluster_commit(THD *thd, bool all) @@ -3293,7 +3343,7 @@ int ndbcluster_commit(THD *thd, bool all) DBUG_ENTER("ndbcluster_commit"); DBUG_PRINT("transaction",("%s", - trans == thd_ndb->stmt ? + trans == thd_ndb->stmt ? "stmt" : "all")); DBUG_ASSERT(ndb && trans); @@ -3301,18 +3351,31 @@ int ndbcluster_commit(THD *thd, bool all) { const NdbError err= trans->getNdbError(); const NdbOperation *error_op= trans->getNdbErrorOperation(); - ERR_PRINT(err); + ERR_PRINT(err); res= ndb_to_mysql_error(&err); - if (res != -1) + if (res != -1) ndbcluster_print_error(res, error_op); } ndb->closeTransaction(trans); - + if(all) thd_ndb->all= NULL; else thd_ndb->stmt= NULL; - + + /* Clear commit_count for tables changed by transaction */ + NDB_SHARE* share; + List_iterator_fast it(thd_ndb->changed_tables); + while ((share= it++)) + { + pthread_mutex_lock(&share->mutex); + DBUG_PRINT("info", ("Invalidate commit_count for %s, share->commit_count: %d ", share->table_name, share->commit_count)); + share->commit_count= 0; + share->commit_count_lock++; + pthread_mutex_unlock(&share->mutex); + } + thd_ndb->changed_tables.empty(); + DBUG_RETURN(res); } @@ -3350,6 +3413,9 @@ int ndbcluster_rollback(THD *thd, bool all) else thd_ndb->stmt= NULL; + /* Clear list of tables changed by transaction */ + thd_ndb->changed_tables.empty(); + DBUG_RETURN(res); } @@ -4042,6 +4108,7 @@ ha_ndbcluster::ha_ndbcluster(TABLE *table_arg): m_rows_to_insert(1), m_rows_inserted(0), m_bulk_insert_rows(1024), + m_rows_changed(0), m_bulk_insert_not_flushed(FALSE), m_ops_pending(0), m_skip_auto_increment(TRUE), @@ -4055,9 +4122,9 @@ ha_ndbcluster::ha_ndbcluster(TABLE *table_arg): m_transaction_on(TRUE), m_cond_stack(NULL), m_multi_cursor(NULL) -{ +{ int i; - + DBUG_ENTER("ha_ndbcluster"); m_tabname[0]= '\0'; @@ -4221,9 +4288,8 @@ Ndb* check_ndb_in_thd(THD* thd) -int ha_ndbcluster::check_ndb_connection() +int ha_ndbcluster::check_ndb_connection(THD* thd) { - THD* thd= current_thd; Ndb *ndb; DBUG_ENTER("check_ndb_connection"); @@ -4297,33 +4363,31 @@ int ndbcluster_discover(THD* thd, const char *db, const char *name, /* Check if a table exists in NDB - + */ int ndbcluster_table_exists(THD* thd, const char *db, const char *name) { - uint len; - const void* data; const NDBTAB* tab; Ndb* ndb; DBUG_ENTER("ndbcluster_table_exists"); - DBUG_PRINT("enter", ("db: %s, name: %s", db, name)); + DBUG_PRINT("enter", ("db: %s, name: %s", db, name)); if (!(ndb= check_ndb_in_thd(thd))) - DBUG_RETURN(HA_ERR_NO_CONNECTION); + DBUG_RETURN(HA_ERR_NO_CONNECTION); ndb->setDatabaseName(db); NDBDICT* dict= ndb->getDictionary(); dict->set_local_table_data_size(sizeof(Ndb_table_local_info)); dict->invalidateTable(name); if (!(tab= dict->getTable(name))) - { + { const NdbError err= dict->getNdbError(); if (err.code == 709) DBUG_RETURN(0); ERR_RETURN(err); } - + DBUG_PRINT("info", ("Found table %s", tab->getName())); DBUG_RETURN(1); } @@ -4841,38 +4905,65 @@ uint ndb_get_commitcount(THD *thd, char *dbname, char *tabname, { DBUG_ENTER("ndb_get_commitcount"); + char name[FN_REFLEN]; + NDB_SHARE *share; + (void)strxnmov(name, FN_REFLEN, "./",dbname,"/",tabname,NullS); + DBUG_PRINT("enter", ("name: %s", name)); + pthread_mutex_lock(&ndbcluster_mutex); + if (!(share=(NDB_SHARE*) hash_search(&ndbcluster_open_tables, + (byte*) name, + strlen(name)))) + { + pthread_mutex_unlock(&ndbcluster_mutex); + DBUG_PRINT("info", ("Table %s not found in ndbcluster_open_tables", + name)); + DBUG_RETURN(1); + } + share->use_count++; + pthread_mutex_unlock(&ndbcluster_mutex); + + pthread_mutex_lock(&share->mutex); if (ndb_cache_check_time > 0) { - /* Use cached commit_count from share */ - char name[FN_REFLEN]; - NDB_SHARE *share; - (void)strxnmov(name, FN_REFLEN, - "./",dbname,"/",tabname,NullS); - DBUG_PRINT("info", ("name: %s", name)); - pthread_mutex_lock(&ndbcluster_mutex); - if (!(share=(NDB_SHARE*) hash_search(&ndbcluster_open_tables, - (byte*) name, - strlen(name)))) + if (share->commit_count != 0) { - pthread_mutex_unlock(&ndbcluster_mutex); - DBUG_RETURN(1); + *commit_count= share->commit_count; + DBUG_PRINT("info", ("Getting commit_count: %llu from share", + share->commit_count)); + pthread_mutex_unlock(&share->mutex); + free_share(share); + DBUG_RETURN(0); } - *commit_count= share->commit_count; - DBUG_PRINT("info", ("commit_count: %d", *commit_count)); - pthread_mutex_unlock(&ndbcluster_mutex); - DBUG_RETURN(0); } - - /* Get commit_count from NDB */ + DBUG_PRINT("info", ("Get commit_count from NDB")); Ndb *ndb; if (!(ndb= check_ndb_in_thd(thd))) DBUG_RETURN(1); ndb->setDatabaseName(dbname); + uint lock= share->commit_count_lock; + pthread_mutex_unlock(&share->mutex); struct Ndb_statistics stat; if (ndb_get_table_statistics(ndb, tabname, &stat)) + { + free_share(share); DBUG_RETURN(1); - *commit_count= stat.commit_count; + } + + pthread_mutex_lock(&share->mutex); + if(share->commit_count_lock == lock) + { + DBUG_PRINT("info", ("Setting commit_count to %llu", stat.commit_count)); + share->commit_count= stat.commit_count; + *commit_count= stat.commit_count; + } + else + { + DBUG_PRINT("info", ("Discarding commit_count, comit_count_lock changed")); + *commit_count= 0; + } + pthread_mutex_unlock(&share->mutex); + free_share(share); DBUG_RETURN(0); } @@ -4919,27 +5010,37 @@ ndbcluster_cache_retrieval_allowed(THD *thd, char *dbname= full_name; char *tabname= dbname+strlen(dbname)+1; - DBUG_PRINT("enter",("dbname=%s, tabname=%s, autocommit=%d", - dbname, tabname, is_autocommit)); + DBUG_PRINT("enter", ("dbname: %s, tabname: %s, is_autocommit: %d", + dbname, tabname, is_autocommit)); if (!is_autocommit) + { + DBUG_PRINT("exit", ("No, don't use cache in transaction")); DBUG_RETURN(FALSE); + } if (ndb_get_commitcount(thd, dbname, tabname, &commit_count)) { - *engine_data+= 1; /* invalidate */ + *engine_data= 0; /* invalidate */ + DBUG_PRINT("exit", ("No, could not retrieve commit_count")); DBUG_RETURN(FALSE); } - DBUG_PRINT("info", ("*engine_data=%llu, commit_count=%llu", + DBUG_PRINT("info", ("*engine_data: %llu, commit_count: %llu", *engine_data, commit_count)); - if (*engine_data != commit_count) + if (commit_count == 0) + { + *engine_data= 0; /* invalidate */ + DBUG_PRINT("exit", ("No, local commit has been performed")); + DBUG_RETURN(FALSE); + } + else if (*engine_data != commit_count) { *engine_data= commit_count; /* invalidate */ - DBUG_PRINT("exit",("Do not use cache, commit_count has changed")); - DBUG_RETURN(FALSE); - } + DBUG_PRINT("exit", ("No, commit_count has changed")); + DBUG_RETURN(FALSE); + } - DBUG_PRINT("exit",("OK to use cache, *engine_data=%llu",*engine_data)); + DBUG_PRINT("exit", ("OK to use cache, engine_data: %llu", *engine_data)); DBUG_RETURN(TRUE); } @@ -4975,22 +5076,27 @@ ha_ndbcluster::register_query_cache_table(THD *thd, DBUG_ENTER("ha_ndbcluster::register_query_cache_table"); bool is_autocommit= !(thd->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN)); - DBUG_PRINT("enter",("dbname=%s, tabname=%s, is_autocommit=%d", - m_dbname,m_tabname,is_autocommit)); + + DBUG_PRINT("enter",("dbname: %s, tabname: %s, is_autocommit: %d", + m_dbname, m_tabname, is_autocommit)); + if (!is_autocommit) + { + DBUG_PRINT("exit", ("Can't register table during transaction")) DBUG_RETURN(FALSE); + } Uint64 commit_count; if (ndb_get_commitcount(thd, m_dbname, m_tabname, &commit_count)) { *engine_data= 0; - DBUG_PRINT("error", ("Could not get commitcount")) + DBUG_PRINT("exit", ("Error, could not get commitcount")) DBUG_RETURN(FALSE); } *engine_data= commit_count; *engine_callback= ndbcluster_cache_retrieval_allowed; - DBUG_PRINT("exit",("*engine_data=%llu", *engine_data)); - DBUG_RETURN(TRUE); + DBUG_PRINT("exit", ("commit_count: %llu", commit_count)); + DBUG_RETURN(commit_count > 0); } @@ -5033,14 +5139,21 @@ static NDB_SHARE* get_share(const char *table_name) thr_lock_init(&share->lock); pthread_mutex_init(&share->mutex,MY_MUTEX_INIT_FAST); share->commit_count= 0; + share->commit_count_lock= 0; + } + else + { + DBUG_PRINT("error", ("Failed to alloc share")); + pthread_mutex_unlock(&ndbcluster_mutex); + return 0; } } - DBUG_PRINT("share", - ("table_name: %s, length: %d, use_count: %d, commit_count: %d", - share->table_name, share->table_name_length, share->use_count, - share->commit_count)); - share->use_count++; + + DBUG_PRINT("share", + ("table_name: %s, length: %d, use_count: %d, commit_count: %d", + share->table_name, share->table_name_length, share->use_count, + share->commit_count)); pthread_mutex_unlock(&ndbcluster_mutex); return share; } @@ -5051,7 +5164,7 @@ static void free_share(NDB_SHARE *share) pthread_mutex_lock(&ndbcluster_mutex); if (!--share->use_count) { - hash_delete(&ndbcluster_open_tables, (byte*) share); + hash_delete(&ndbcluster_open_tables, (byte*) share); thr_lock_delete(&share->lock); pthread_mutex_destroy(&share->mutex); my_free((gptr) share, MYF(0)); @@ -5195,6 +5308,7 @@ ndb_get_table_statistics(Ndb* ndb, const char * table, if (check == -1) break; + Uint32 count= 0; Uint64 sum_rows= 0; Uint64 sum_commits= 0; Uint64 sum_row_size= 0; @@ -5206,6 +5320,7 @@ ndb_get_table_statistics(Ndb* ndb, const char * table, if (sum_row_size < size) sum_row_size= size; sum_mem+= mem; + count++; } if (check == -1) @@ -5220,8 +5335,11 @@ ndb_get_table_statistics(Ndb* ndb, const char * table, ndbstat->row_size= sum_row_size; ndbstat->fragment_memory= sum_mem; - DBUG_PRINT("exit", ("records: %u commits: %u row_size: %d mem: %d", - sum_rows, sum_commits, sum_row_size, sum_mem)); + DBUG_PRINT("exit", ("records: %llu commits: %llu " + "row_size: %llu mem: %llu count: %u", + sum_rows, sum_commits, sum_row_size, + sum_mem, count)); + DBUG_RETURN(0); } while(0); @@ -5653,6 +5771,7 @@ extern "C" pthread_handler_decl(ndb_util_thread_func, arg __attribute__((unused))) { THD *thd; /* needs to be first for thread_stack */ + Ndb* ndb; int error= 0; struct timespec abstime; @@ -5662,12 +5781,13 @@ extern "C" pthread_handler_decl(ndb_util_thread_func, thd= new THD; /* note that contructor of THD uses DBUG_ */ THD_CHECK_SENTRY(thd); + ndb= new Ndb(g_ndb_cluster_connection, ""); pthread_detach_this_thread(); ndb_util_thread= pthread_self(); thd->thread_stack= (char*)&thd; /* remember where our stack is */ - if (thd->store_globals()) + if (thd->store_globals() && (ndb->init() != -1)) { thd->cleanup(); delete thd; @@ -5675,7 +5795,7 @@ extern "C" pthread_handler_decl(ndb_util_thread_func, } List util_open_tables; - set_timespec(abstime, ndb_cache_check_time); + set_timespec(abstime, 0); for (;;) { @@ -5693,16 +5813,11 @@ extern "C" pthread_handler_decl(ndb_util_thread_func, if (ndb_cache_check_time == 0) { - set_timespec(abstime, 10); + /* Wake up in 1 second to check if value has changed */ + set_timespec(abstime, 1); continue; } - /* Round tim e from millisceonds to seconds */ - uint wait_secs= ((ndb_cache_check_time+999)/1000); - DBUG_PRINT("ndb_util_thread", ("wait_secs: %d", wait_secs)); - /* Set new time to wake up */ - set_timespec(abstime, wait_secs); - /* Lock mutex and fill list with pointers to all open tables */ NDB_SHARE *share; pthread_mutex_lock(&ndbcluster_mutex); @@ -5732,26 +5847,37 @@ extern "C" pthread_handler_decl(ndb_util_thread_func, buf[length-1]= 0; db= buf+dirname_length(buf); DBUG_PRINT("ndb_util_thread", - ("Fetching commit count for: %s, db: %s, tab: %s", - share->table_name, db, tabname)); + ("Fetching commit count for: %s", + share->table_name)); /* Contact NDB to get commit count for table */ - g_ndb->setDatabaseName(db); - struct Ndb_statistics stat;; - if(ndb_get_table_statistics(g_ndb, tabname, &stat) == 0) + ndb->setDatabaseName(db); + struct Ndb_statistics stat; + + uint lock; + pthread_mutex_lock(&share->mutex); + lock= share->commit_count_lock; + pthread_mutex_unlock(&share->mutex); + + if(ndb_get_table_statistics(ndb, tabname, &stat) == 0) { DBUG_PRINT("ndb_util_thread", - ("Table: %s, rows: %llu, commit_count: %llu", - share->table_name, stat.row_count, stat.commit_count)); - share->commit_count= stat.commit_count; + ("Table: %s, commit_count: %llu, rows: %llu", + share->table_name, stat.commit_count, stat.row_count)); } else { DBUG_PRINT("ndb_util_thread", ("Error: Could not get commit count for table %s", share->table_name)); - share->commit_count++; /* Invalidate */ + stat.commit_count= 0; } + + pthread_mutex_lock(&share->mutex); + if (share->commit_count_lock == lock) + share->commit_count= stat.commit_count; + pthread_mutex_unlock(&share->mutex); + /* Decrease the use count and possibly free share */ free_share(share); } @@ -5759,6 +5885,26 @@ extern "C" pthread_handler_decl(ndb_util_thread_func, /* Clear the list of open tables */ util_open_tables.empty(); + /* Calculate new time to wake up */ + int secs= 0; + int msecs= ndb_cache_check_time; + + struct timeval tick_time; + gettimeofday(&tick_time, 0); + abstime.tv_sec= tick_time.tv_sec; + abstime.tv_nsec= tick_time.tv_usec * 1000; + + if(msecs >= 1000){ + secs= msecs / 1000; + msecs= msecs % 1000; + } + + abstime.tv_sec+= secs; + abstime.tv_nsec+= msecs * 1000000; + if (abstime.tv_nsec >= 1000000000) { + abstime.tv_sec+= 1; + abstime.tv_nsec-= 1000000000; + } } thd->cleanup(); @@ -6487,7 +6633,7 @@ ha_ndbcluster::build_scan_filter_predicate(Ndb_cond * &cond, : (b->type == NDB_FIELD)? b : NULL; break; - deafult: + default: break; } switch((negated) ? diff --git a/sql/ha_ndbcluster.h b/sql/ha_ndbcluster.h index 7c4a19c6ec4..82925ad5d69 100644 --- a/sql/ha_ndbcluster.h +++ b/sql/ha_ndbcluster.h @@ -61,6 +61,7 @@ typedef struct st_ndbcluster_share { pthread_mutex_t mutex; char *table_name; uint table_name_length,use_count; + uint commit_count_lock; ulonglong commit_count; } NDB_SHARE; @@ -374,6 +375,7 @@ class Thd_ndb NdbTransaction *all; NdbTransaction *stmt; int error; + List changed_tables; }; class ha_ndbcluster: public handler @@ -554,6 +556,7 @@ private: void print_results(); ulonglong get_auto_increment(); + void invalidateDictionaryCache(); int ndb_err(NdbTransaction*); bool uses_blob_value(bool all_fields); @@ -561,7 +564,7 @@ private: int write_ndb_file(); - int check_ndb_connection(); + int check_ndb_connection(THD* thd= current_thd); void set_rec_per_key(); void records_update(); @@ -610,6 +613,7 @@ private: ha_rows m_rows_to_insert; ha_rows m_rows_inserted; ha_rows m_bulk_insert_rows; + ha_rows m_rows_changed; bool m_bulk_insert_not_flushed; ha_rows m_ops_pending; bool m_skip_auto_increment; diff --git a/sql/handler.cc b/sql/handler.cc index 9077622dd8c..f33f987ef77 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -55,8 +55,6 @@ /* static functions defined in this file */ -static int NEAR_F delete_file(const char *name,const char *ext,int extflag); - static SHOW_COMP_OPTION have_yes= SHOW_OPTION_YES; /* list of all available storage engines (of their handlertons) */ @@ -327,7 +325,7 @@ static int ha_finish_errors(void) my_free((gptr) errmsgs, MYF(0)); return 0; } - + static inline void ha_was_inited_ok(handlerton **ht) { @@ -487,6 +485,16 @@ void ha_close_connection(THD* thd) /* ======================================================================== ======================= TRANSACTIONS ===================================*/ +/* + Register a storage engine for a transaction + + DESCRIPTION + Every storage engine MUST call this function when it starts + a transaction or a statement (that is it must be called both for the + "beginning of transaction" and "beginning of statement"). + Only storage engines registered for the transaction/statement + will know when to commit/rollback it. +*/ void trans_register_ha(THD *thd, bool all, handlerton *ht_arg) { THD_TRANS *trans; @@ -744,18 +752,92 @@ int ha_commit_or_rollback_by_xid(LEX_STRING *ident, bool commit) return res; } +#ifndef DBUG_OFF +/* this does not need to be multi-byte safe or anything */ +static char* xid_to_str(char *buf, XID *xid) +{ + int i; + char *s=buf; + *s++='\''; + for (i=0; i < xid->gtrid_length+xid->bqual_length; i++) + { + uchar c=(uchar)xid->data[i]; + if (i == xid->gtrid_length) + { + *s++='\''; + if (xid->bqual_length) + { + *s++='.'; + *s++='\''; + } + } + if (c < 32 || c > 126) + { + *s++='\\'; + *s++='x'; + *s++=_dig_vec_lower[c >> 4]; + *s++=_dig_vec_lower[c & 15]; + } + else + { + if (c == '\'' || c == '\\') + *s++='\\'; + *s++=c; + } + } + *s++='\''; + *s=0; + return buf; +} +#endif + /* recover() step of xa + + NOTE + there are three modes of operation: + + - automatic recover after a crash + in this case commit_list != 0, tc_heuristic_recover==0 + all xids from commit_list are committed, others are rolled back + + - manual (heuristic) recover + in this case commit_list==0, tc_heuristic_recover != 0 + DBA has explicitly specified that all prepared transactions should + be committed (or rolled back). + + - no recovery (MySQL did not detect a crash) + in this case commit_list==0, tc_heuristic_recover == 0 + there should be no prepared transactions in this case. */ int ha_recover(HASH *commit_list) { - int len, got; + int len, got, found_foreign_xids=0, found_my_xids=0; handlerton **ht= handlertons, **end_ht=ht+total_ha; XID *list=0; + bool dry_run=(commit_list==0 && tc_heuristic_recover==0); DBUG_ENTER("ha_recover"); - DBUG_ASSERT(total_ha_2pc); - DBUG_ASSERT(commit_list || tc_heuristic_recover); + /* commit_list and tc_heuristic_recover cannot be set both */ + DBUG_ASSERT(commit_list==0 || tc_heuristic_recover==0); + /* if either is set, total_ha_2pc must be set too */ + DBUG_ASSERT(dry_run || total_ha_2pc>opt_bin_log); + + if (total_ha_2pc <= opt_bin_log) + DBUG_RETURN(0); + + if (commit_list) + sql_print_information("Starting crash recovery..."); + +#ifndef WILL_BE_DELETED_LATER + /* + for now, only InnoDB supports 2pc. It means we can always safely + rollback all pending transactions, without risking inconsistent data + */ + DBUG_ASSERT(total_ha_2pc == opt_bin_log+1); // only InnoDB and binlog + tc_heuristic_recover= TC_HEURISTIC_RECOVER_ROLLBACK; // forcing ROLLBACK + dry_run=FALSE; +#endif for (len= MAX_XID_LIST_SIZE ; list==0 && len > MIN_XID_LIST_SIZE; len/=2) { @@ -763,7 +845,7 @@ int ha_recover(HASH *commit_list) } if (!list) { - my_error(ER_OUTOFMEMORY, MYF(0), len); + sql_print_error(ER(ER_OUTOFMEMORY), len*sizeof(XID)); DBUG_RETURN(1); } @@ -773,23 +855,61 @@ int ha_recover(HASH *commit_list) continue; while ((got=(*(*ht)->recover)(list, len)) > 0 ) { + sql_print_information("Found %d prepared transaction(s) in %s", + got, (*ht)->name); for (int i=0; i < got; i ++) { my_xid x=list[i].get_my_xid(); if (!x) // not "mine" - that is generated by external TM + { + found_foreign_xids++; continue; + } + if (dry_run) + { + found_my_xids++; + continue; + } + // recovery mode if (commit_list ? hash_search(commit_list, (byte *)&x, sizeof(x)) != 0 : tc_heuristic_recover == TC_HEURISTIC_RECOVER_COMMIT) + { +#ifndef DBUG_OFF + char buf[XIDDATASIZE*4+6]; // see xid_to_str + sql_print_information("commit xid %s", xid_to_str(buf, list+i)); +#endif (*(*ht)->commit_by_xid)(list+i); + } else + { +#ifndef DBUG_OFF + char buf[XIDDATASIZE*4+6]; // see xid_to_str + sql_print_information("rollback xid %s", xid_to_str(buf, list+i)); +#endif (*(*ht)->rollback_by_xid)(list+i); + } } if (got < len) break; } } my_free((gptr)list, MYF(0)); + if (found_foreign_xids) + sql_print_warning("Found %d prepared XA transactions", found_foreign_xids); + if (dry_run && found_my_xids) + { + sql_print_error("Found %d prepared transactions! It means that mysqld was " + "not shut down properly last time and critical recovery " + "information (last binlog or %s file) was manually deleted " + "after a crash. You have to start mysqld with " + "--tc-heuristic-recover switch to commit or rollback " + "pending transactions.", + found_my_xids, opt_tc_log_file); + DBUG_RETURN(1); + } + if (commit_list) + sql_print_information("Crash recovery finished."); DBUG_RETURN(0); } @@ -1387,7 +1507,7 @@ ulonglong handler::get_auto_increment() /* Print error that we got from handler function - NOTE: + NOTE In case of delete table it's only safe to use the following parts of the 'table' structure: table->s->path @@ -1548,7 +1668,7 @@ void handler::print_error(int error, myf errflag) SYNOPSIS error error code previously returned by handler buf Pointer to String where to add error message - + Returns true if this is a temporary error */ @@ -1584,18 +1704,20 @@ uint handler::get_dup_key(int error) RETURN 0 If we successfully deleted at least one file from base_ext and - didn't get any other errors than ENOENT - # Error from delete_file() + didn't get any other errors than ENOENT + # Error */ int handler::delete_table(const char *name) { int error= 0; int enoent_or_zero= ENOENT; // Error if no file was deleted + char buff[FN_REFLEN]; for (const char **ext=bas_ext(); *ext ; ext++) { - if (delete_file(name,*ext,2)) + fn_format(buff, name, "", *ext, 2 | 4); + if (my_delete_with_symlink(buff, MYF(0))) { if ((error= my_errno) != ENOENT) break; @@ -1766,13 +1888,6 @@ err_end: DBUG_RETURN(error); } -static int NEAR_F delete_file(const char *name,const char *ext,int extflag) -{ - char buff[FN_REFLEN]; - VOID(fn_format(buff,name,"",ext,extflag | 4)); - return(my_delete_with_symlink(buff,MYF(MY_WME))); -} - void st_ha_check_opt::init() { flags= sql_flags= 0; diff --git a/sql/handler.h b/sql/handler.h index d4e24bbb411..c8e1d75f2f7 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -272,6 +272,10 @@ typedef struct xid_t XID; */ typedef struct { + /* + storage engine name as it should be printed to a user + */ + const char *name; /* each storage engine has it's own memory area (actually a pointer) in the thd, for storing per-connection information. @@ -832,10 +836,20 @@ int ha_recover(HASH *commit_list); int ha_commit_trans(THD *thd, bool all); int ha_autocommit_or_rollback(THD *thd, int error); int ha_enable_transaction(THD *thd, bool on); -void trans_register_ha(THD *thd, bool all, handlerton *ht); /* savepoints */ int ha_rollback_to_savepoint(THD *thd, SAVEPOINT *sv); int ha_savepoint(THD *thd, SAVEPOINT *sv); int ha_release_savepoint(THD *thd, SAVEPOINT *sv); +/* these are called by storage engines */ +void trans_register_ha(THD *thd, bool all, handlerton *ht); + +/* + Storage engine has to assume the transaction will end up with 2pc if + - there is more than one 2pc-capable storage engine available + - in the current transaction 2pc was not disabled yet +*/ +#define trans_need_2pc(thd, all) ((total_ha_2pc > 1) && \ + !((all ? &thd->transaction.all : &thd->transaction.stmt)->no_2pc)) + diff --git a/sql/item.cc b/sql/item.cc index ef3cc5105ef..e6be934e334 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -33,6 +33,131 @@ static void mark_as_dependent(THD *thd, const String my_null_string("NULL", 4, default_charset_info); +/****************************************************************************/ + +/* Hybrid_type_traits {_real} */ + +void Hybrid_type_traits::fix_length_and_dec(Item *item, Item *arg) const +{ + item->decimals= NOT_FIXED_DEC; + item->max_length= item->float_length(arg->decimals); +} + + +const Hybrid_type_traits *Hybrid_type_traits::instance() +{ + const static Hybrid_type_traits real_traits; + return &real_traits; +} + + +my_decimal * +Hybrid_type_traits::val_decimal(Hybrid_type *val, my_decimal *to) const +{ + double2my_decimal(E_DEC_FATAL_ERROR, val->real, val->dec_buf); + return val->dec_buf; +} + + +String * +Hybrid_type_traits::val_str(Hybrid_type *val, String *to, uint8 decimals) const +{ + to->set(val->real, decimals, &my_charset_bin); + return to; +} + +/* Hybrid_type_traits_decimal */ + +const Hybrid_type_traits_decimal *Hybrid_type_traits_decimal::instance() +{ + const static Hybrid_type_traits_decimal decimal_traits; + return &decimal_traits; +} + + +void +Hybrid_type_traits_decimal::fix_length_and_dec(Item *item, Item *arg) const +{ + item->decimals= arg->decimals; + item->max_length= min(arg->max_length + DECIMAL_LONGLONG_DIGITS, + DECIMAL_MAX_LENGTH); +} + + +void Hybrid_type_traits_decimal::set_zero(Hybrid_type *val) const +{ + my_decimal_set_zero(&val->dec_buf[0]); + val->used_dec_buf_no= 0; +} + + +void Hybrid_type_traits_decimal::add(Hybrid_type *val, Field *f) const +{ + my_decimal_add(E_DEC_FATAL_ERROR, + &val->dec_buf[val->used_dec_buf_no ^ 1], + &val->dec_buf[val->used_dec_buf_no], + f->val_decimal(&val->dec_buf[2])); + val->used_dec_buf_no^= 1; +} + + +void Hybrid_type_traits_decimal::div(Hybrid_type *val, ulonglong u) const +{ + int2my_decimal(E_DEC_FATAL_ERROR, u, TRUE, &val->dec_buf[2]); + /* XXX: what is '4' for scale? */ + my_decimal_div(E_DEC_FATAL_ERROR, + &val->dec_buf[val->used_dec_buf_no ^ 1], + &val->dec_buf[val->used_dec_buf_no], + &val->dec_buf[2], 4); + val->used_dec_buf_no^= 1; +} + + +longlong +Hybrid_type_traits_decimal::val_int(Hybrid_type *val, bool unsigned_flag) const +{ + longlong result; + my_decimal2int(E_DEC_FATAL_ERROR, &val->dec_buf[val->used_dec_buf_no], + unsigned_flag, &result); + return result; +} + + +double +Hybrid_type_traits_decimal::val_real(Hybrid_type *val) const +{ + my_decimal2double(E_DEC_FATAL_ERROR, &val->dec_buf[val->used_dec_buf_no], + &val->real); + return val->real; +} + + +String * +Hybrid_type_traits_decimal::val_str(Hybrid_type *val, String *to, + uint8 decimals) const +{ + my_decimal_round(E_DEC_FATAL_ERROR, &val->dec_buf[val->used_dec_buf_no], + decimals, FALSE, &val->dec_buf[2]); + my_decimal2string(E_DEC_FATAL_ERROR, &val->dec_buf[2], 0, 0, 0, to); + return to; +} + +/* Hybrid_type_traits_integer */ + +const Hybrid_type_traits_integer *Hybrid_type_traits_integer::instance() +{ + const static Hybrid_type_traits_integer integer_traits; + return &integer_traits; +} + +void +Hybrid_type_traits_integer::fix_length_and_dec(Item *item, Item *arg) const +{ + item->decimals= 0; + item->max_length= 21; + item->unsigned_flag= 0; +} + /***************************************************************************** ** Item functions *****************************************************************************/ @@ -3521,7 +3646,7 @@ bool Item_ref::fix_fields(THD *thd, TABLE_LIST *tables, Item **reference) enum_parsing_place place= NO_MATTER; SELECT_LEX *current_sel= thd->lex->current_select; - if (!ref) + if (!ref || ref == not_found_item) { SELECT_LEX_UNIT *prev_unit= current_sel->master_unit(); SELECT_LEX *outer_sel= prev_unit->outer_select(); @@ -3717,6 +3842,7 @@ void Item_ref::set_properties() split_sum_func() doesn't try to change the reference. */ with_sum_func= (*ref)->with_sum_func; + unsigned_flag= (*ref)->unsigned_flag; if ((*ref)->type() == FIELD_ITEM) alias_name_used= ((Item_ident *) (*ref))->alias_name_used; else diff --git a/sql/item.h b/sql/item.h index 97913e40916..a2bf33398cc 100644 --- a/sql/item.h +++ b/sql/item.h @@ -106,6 +106,120 @@ public: } }; + +/*************************************************************************/ +/* + A framework to easily handle different return types for hybrid items + (hybrid item is an item whose operand can be of any type, e.g. integer, + real, decimal). +*/ + +struct Hybrid_type_traits; + +struct Hybrid_type +{ + longlong integer; + + double real; + /* + Use two decimal buffers interchangeably to speed up += operation + which has no native support in decimal library. + Hybrid_type+= arg is implemented as dec_buf[1]= dec_buf[0] + arg. + The third decimal is used as a handy temporary storage. + */ + my_decimal dec_buf[3]; + int used_dec_buf_no; + + /* + Traits moved to a separate class to + a) be able to easily change object traits in runtime + b) they work as a differentiator for the union above + */ + const Hybrid_type_traits *traits; + + Hybrid_type() {} + /* XXX: add traits->copy() when needed */ + Hybrid_type(const Hybrid_type &rhs) :traits(rhs.traits) {} +}; + + +/* Hybryd_type_traits interface + default implementation for REAL_RESULT */ + +struct Hybrid_type_traits +{ + virtual Item_result type() const { return REAL_RESULT; } + + virtual void + fix_length_and_dec(Item *item, Item *arg) const; + + /* Hybrid_type operations. */ + virtual void set_zero(Hybrid_type *val) const { val->real= 0.0; } + virtual void add(Hybrid_type *val, Field *f) const + { val->real+= f->val_real(); } + virtual void div(Hybrid_type *val, ulonglong u) const + { val->real/= ulonglong2double(u); } + + virtual longlong val_int(Hybrid_type *val, bool unsigned_flag) const + { return (longlong) val->real; } + virtual double val_real(Hybrid_type *val) const { return val->real; } + virtual my_decimal *val_decimal(Hybrid_type *val, my_decimal *buf) const; + virtual String *val_str(Hybrid_type *val, String *buf, uint8 decimals) const; + static const Hybrid_type_traits *instance(); +}; + + +struct Hybrid_type_traits_decimal: public Hybrid_type_traits +{ + virtual Item_result type() const { return DECIMAL_RESULT; } + + virtual void + fix_length_and_dec(Item *arg, Item *item) const; + + /* Hybrid_type operations. */ + virtual void set_zero(Hybrid_type *val) const; + virtual void add(Hybrid_type *val, Field *f) const; + virtual void div(Hybrid_type *val, ulonglong u) const; + + virtual longlong val_int(Hybrid_type *val, bool unsigned_flag) const; + virtual double val_real(Hybrid_type *val) const; + virtual my_decimal *val_decimal(Hybrid_type *val, my_decimal *buf) const + { return &val->dec_buf[val->used_dec_buf_no]; } + virtual String *val_str(Hybrid_type *val, String *buf, uint8 decimals) const; + static const Hybrid_type_traits_decimal *instance(); +}; + + +struct Hybrid_type_traits_integer: public Hybrid_type_traits +{ + virtual Item_result type() const { return INT_RESULT; } + + virtual void + fix_length_and_dec(Item *arg, Item *item) const; + + /* Hybrid_type operations. */ + virtual void set_zero(Hybrid_type *val) const + { val->integer= 0; } + virtual void add(Hybrid_type *val, Field *f) const + { val->integer+= f->val_int(); } + virtual void div(Hybrid_type *val, ulonglong u) const + { val->integer/= (longlong) u; } + + virtual longlong val_int(Hybrid_type *val, bool unsigned_flag) const + { return val->integer; } + virtual double val_real(Hybrid_type *val) const + { return (double) val->integer; } + virtual my_decimal *val_decimal(Hybrid_type *val, my_decimal *buf) const + { + int2my_decimal(E_DEC_FATAL_ERROR, val->integer, 0, &val->dec_buf[2]); + return &val->dec_buf[2]; + } + virtual String *val_str(Hybrid_type *val, String *buf, uint8 decimals) const + { buf->set(val->integer, &my_charset_bin); return buf;} + static const Hybrid_type_traits_integer *instance(); +}; + +/*************************************************************************/ + typedef bool (Item::*Item_processor)(byte *arg); typedef Item* (Item::*Item_transformer) (byte *arg); diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index 5a87635a4dc..e917e13c5aa 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -323,6 +323,7 @@ public: Item_func_equal(Item *a,Item *b) :Item_bool_rowready_func2(a,b) {}; longlong val_int(); void fix_length_and_dec(); + table_map not_null_tables() const { return 0; } enum Functype functype() const { return EQUAL_FUNC; } enum Functype rev_functype() const { return EQUAL_FUNC; } cond_result eq_cmp_result() const { return COND_TRUE; } @@ -904,8 +905,9 @@ public: class Item_func_isnotnull :public Item_bool_func { + bool abort_on_null; public: - Item_func_isnotnull(Item *a) :Item_bool_func(a) {} + Item_func_isnotnull(Item *a) :Item_bool_func(a), abort_on_null(0) {} longlong val_int(); enum Functype functype() const { return ISNOTNULL_FUNC; } void fix_length_and_dec() @@ -914,10 +916,12 @@ public: } const char *func_name() const { return "isnotnull"; } optimize_type select_optimize() const { return OPTIMIZE_NULL; } - table_map not_null_tables() const { return used_tables(); } + table_map not_null_tables() const + { return abort_on_null ? not_null_tables_cache : 0; } Item *neg_transformer(THD *thd); void print(String *str); CHARSET_INFO *compare_collation() { return args[0]->collation.collation; } + void top_level_item() { abort_on_null=1; } }; @@ -1003,7 +1007,7 @@ public: /* Item_cond() is only used to create top level items */ Item_cond(): Item_bool_func(), abort_on_null(1) { const_item_cache=0; } - Item_cond(Item *i1,Item *i2) + Item_cond(Item *i1,Item *i2) :Item_bool_func(), abort_on_null(0) { list.push_back(i1); @@ -1186,6 +1190,8 @@ public: enum Functype functype() const { return COND_AND_FUNC; } longlong val_int(); const char *func_name() const { return "and"; } + table_map not_null_tables() const + { return abort_on_null ? not_null_tables_cache: and_tables_cache; } Item* copy_andor_structure(THD *thd) { Item_cond_and *item; @@ -1233,6 +1239,7 @@ public: enum Type type() const { return FUNC_ITEM; } longlong val_int(); const char *func_name() const { return "xor"; } + void top_level_item() {} }; diff --git a/sql/item_func.cc b/sql/item_func.cc index cc4d25bc5af..680f3608d0d 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -4368,13 +4368,19 @@ longlong Item_func_row_count::val_int() Item_func_sp::Item_func_sp(sp_name *name) :Item_func(), m_name(name), m_sp(NULL) { + maybe_null= 1; m_name->init_qname(current_thd); + dummy_table= (TABLE *)sql_alloc(sizeof(TABLE)); + bzero(dummy_table, sizeof(TABLE)); } Item_func_sp::Item_func_sp(sp_name *name, List &list) :Item_func(list), m_name(name), m_sp(NULL) { + maybe_null= 1; m_name->init_qname(current_thd); + dummy_table= (TABLE *)sql_alloc(sizeof(TABLE)); + bzero(dummy_table, sizeof(TABLE)); } const char * @@ -4399,6 +4405,32 @@ Item_func_sp::func_name() const } +Field * +Item_func_sp::sp_result_field(void) const +{ + Field *field= 0; + THD *thd= current_thd; + DBUG_ENTER("Item_func_sp::sp_result_field"); + if (m_sp) + { + if (dummy_table->s == NULL) + { + char *empty_name= (char *) ""; + TABLE_SHARE *share; + dummy_table->s= share= &dummy_table->share_not_to_be_used; + dummy_table->alias = empty_name; + dummy_table->maybe_null = maybe_null; + dummy_table->in_use= current_thd; + share->table_cache_key = empty_name; + share->table_name = empty_name; + share->table_name = empty_name; + } + field= m_sp->make_field(max_length, name, dummy_table); + } + DBUG_RETURN(field); +} + + int Item_func_sp::execute(Item **itp) { @@ -4449,17 +4481,38 @@ Item_func_sp::execute(Item **itp) } +void +Item_func_sp::make_field(Send_field *tmp_field) +{ + Field *field; + DBUG_ENTER("Item_func_sp::make_field"); + if (! m_sp) + m_sp= sp_find_function(current_thd, m_name, TRUE); // cache only + if ((field= sp_result_field())) + { + field->make_field(tmp_field); + delete field; + DBUG_VOID_RETURN; + } + my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "FUNCTION", m_name->m_qname.str); + init_make_field(tmp_field, MYSQL_TYPE_VARCHAR); + DBUG_VOID_RETURN; +} + + enum enum_field_types Item_func_sp::field_type() const { + Field *field= 0; DBUG_ENTER("Item_func_sp::field_type"); if (! m_sp) m_sp= sp_find_function(current_thd, m_name, TRUE); // cache only - if (m_sp) + if ((field= sp_result_field())) { - DBUG_PRINT("info", ("m_returns = %d", m_sp->m_returns)); - DBUG_RETURN(m_sp->m_returns); + enum_field_types result= field->type(); + delete field; + DBUG_RETURN(result); } my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "FUNCTION", m_name->m_qname.str); DBUG_RETURN(MYSQL_TYPE_VARCHAR); @@ -4469,14 +4522,17 @@ Item_func_sp::field_type() const Item_result Item_func_sp::result_type() const { + Field *field= 0; DBUG_ENTER("Item_func_sp::result_type"); DBUG_PRINT("info", ("m_sp = %p", m_sp)); if (! m_sp) m_sp= sp_find_function(current_thd, m_name, TRUE); // cache only - if (m_sp) + if ((field= sp_result_field())) { - DBUG_RETURN(m_sp->result()); + Item_result result= field->result_type(); + delete field; + DBUG_RETURN(result); } my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "FUNCTION", m_name->m_qname.str); DBUG_RETURN(STRING_RESULT); @@ -4495,7 +4551,7 @@ Item_func_sp::fix_length_and_dec() } else { - switch (m_sp->result()) { + switch (result_type()) { case STRING_RESULT: maybe_null= 1; max_length= MAX_BLOB_WIDTH; @@ -4530,3 +4586,19 @@ longlong Item_func_found_rows::val_int() return thd->found_rows(); } + +Field * +Item_func_sp::tmp_table_field(TABLE *t_arg) +{ + Field *res= 0; + enum_field_types ftype; + DBUG_ENTER("Item_func_sp::tmp_table_field"); + + if (m_sp) + res= m_sp->make_field(max_length, (const char *)name, t_arg); + + if (!res) + res= Item_func::tmp_table_field(t_arg); + + DBUG_RETURN(res); +} diff --git a/sql/item_func.h b/sql/item_func.h index b1ccbfeea53..eb9aa4ca0c7 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -1252,8 +1252,10 @@ class Item_func_sp :public Item_func private: sp_name *m_name; mutable sp_head *m_sp; + TABLE *dummy_table; int execute(Item **itp); + Field *sp_result_field(void) const; public: @@ -1268,6 +1270,10 @@ public: enum enum_field_types field_type() const; + Field *tmp_table_field(TABLE *t_arg); + + void make_field(Send_field *tmp_field); + Item_result result_type() const; longlong val_int() diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index 03aa56128ca..a9ec7139ea7 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -225,6 +225,7 @@ String *Item_func_aes_decrypt::val_str(String *str) void Item_func_aes_decrypt::fix_length_and_dec() { max_length=args[0]->max_length; + maybe_null= 1; } @@ -1669,9 +1670,8 @@ String *Item_func_format::val_str(String *str) { DBUG_ASSERT(fixed == 1); double nr= args[0]->val_real(); + uint32 length,str_length,dec; int diff; - uint32 length, str_length; - uint dec; if ((null_value=args[0]->null_value)) return 0; /* purecov: inspected */ dec= decimals ? decimals+1 : 0; @@ -1687,12 +1687,12 @@ String *Item_func_format::val_str(String *str) if (str_length >= dec+4) { char *tmp,*pos; - length= str->length()+(diff=(str_length- dec-1)/3); + length= str->length()+(diff=((int)(str_length- dec-1))/3); str= copy_if_not_alloced(&tmp_str,str,length); str->length(length); tmp= (char*) str->ptr()+length - dec-1; for (pos= (char*) str->ptr()+length-1; pos != tmp; pos--) - pos[0]= pos[-(int) diff]; + pos[0]= pos[-diff]; while (diff) { *pos= *(pos - diff); diff --git a/sql/item_sum.cc b/sql/item_sum.cc index dbba02c3cf7..174e2ba4b85 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -456,11 +456,30 @@ my_decimal *Item_sum_sum::val_decimal(my_decimal *val) return val_decimal_from_real(val); } +/***************************************************************************/ -/* Item_sum_sum_distinct */ +C_MODE_START -Item_sum_sum_distinct::Item_sum_sum_distinct(Item *item) - :Item_sum_sum(item), tree(0) +/* Declarations for auxilary C-callbacks */ + +static int simple_raw_key_cmp(void* arg, const void* key1, const void* key2) +{ + return memcmp(key1, key2, *(uint *) arg); +} + + +static int item_sum_distinct_walk(void *element, element_count num_of_dups, + void *item) +{ + return ((Item_sum_distinct*) (item))->unique_walk_function(element); +} + +C_MODE_END + +/* Item_sum_distinct */ + +Item_sum_distinct::Item_sum_distinct(Item *item_arg) + :Item_sum_num(item_arg), tree(0) { /* quick_group is an optimizer hint, which means that GROUP BY can be @@ -472,239 +491,254 @@ Item_sum_sum_distinct::Item_sum_sum_distinct(Item *item) } -Item_sum_sum_distinct::Item_sum_sum_distinct(THD *thd, - Item_sum_sum_distinct *original) - :Item_sum_sum(thd, original), tree(0), dec_bin_buff(original->dec_bin_buff) +Item_sum_distinct::Item_sum_distinct(THD *thd, Item_sum_distinct *original) + :Item_sum_num(thd, original), val(original->val), tree(0), + table_field_type(original->table_field_type) { quick_group= 0; } -void Item_sum_sum_distinct::fix_length_and_dec() +/* + Behaves like an Integer except to fix_length_and_dec(). + Additionally div() converts val with this traits to a val with true + decimal traits along with conversion of integer value to decimal value. + This is to speedup SUM/AVG(DISTINCT) evaluation for 8-32 bit integer + values. +*/ + +struct Hybrid_type_traits_fast_decimal: public + Hybrid_type_traits_integer { - Item_sum_sum::fix_length_and_dec(); - if (hybrid_type == DECIMAL_RESULT) + virtual Item_result type() const { return DECIMAL_RESULT; } + virtual void fix_length_and_dec(Item *item, Item *arg) const + { Hybrid_type_traits_decimal::instance()->fix_length_and_dec(item, arg); } + + virtual void div(Hybrid_type *val, ulonglong u) const { - dec_bin_buff= (byte *) - sql_alloc(my_decimal_get_binary_size(args[0]->max_length, - args[0]->decimals)); + int2my_decimal(E_DEC_FATAL_ERROR, val->integer, 0, val->dec_buf); + val->used_dec_buf_no= 0; + val->traits= Hybrid_type_traits_decimal::instance(); + val->traits->div(val, u); } + static const Hybrid_type_traits_fast_decimal *instance() + { + static const Hybrid_type_traits_fast_decimal fast_decimal_traits; + return &fast_decimal_traits; + } +}; + + +void Item_sum_distinct::fix_length_and_dec() +{ + DBUG_ASSERT(args[0]->fixed); + + table_field_type= args[0]->field_type(); + + /* Adjust tmp table type according to the chosen aggregation type */ + switch (args[0]->result_type()) { + case STRING_RESULT: + case REAL_RESULT: + val.traits= Hybrid_type_traits::instance(); + if (table_field_type != MYSQL_TYPE_FLOAT) + table_field_type= MYSQL_TYPE_DOUBLE; + break; + case INT_RESULT: + /* + Preserving int8, int16, int32 field types gives ~10% performance boost + as the size of result tree becomes significantly smaller. + Another speed up we gain by using longlong for intermediate + calculations. The range of int64 is enough to hold sum 2^32 distinct + integers each <= 2^32. + */ + if (table_field_type == MYSQL_TYPE_INT24 || + table_field_type >= MYSQL_TYPE_TINY && + table_field_type <= MYSQL_TYPE_LONG) + { + val.traits= Hybrid_type_traits_fast_decimal::instance(); + break; + } + table_field_type= MYSQL_TYPE_LONGLONG; + /* fallthrough */ + case DECIMAL_RESULT: + val.traits= Hybrid_type_traits_decimal::instance(); + if (table_field_type != MYSQL_TYPE_LONGLONG) + table_field_type= MYSQL_TYPE_NEWDECIMAL; + break; + case ROW_RESULT: + default: + DBUG_ASSERT(0); + } + val.traits->fix_length_and_dec(this, args[0]); } -Item * -Item_sum_sum_distinct::copy_or_same(THD *thd) +bool Item_sum_distinct::setup(THD *thd) { - return new (thd->mem_root) Item_sum_sum_distinct(thd, this); -} + List field_list; + create_field field_def; /* field definition */ -C_MODE_START - -static int simple_raw_key_cmp(void* arg, const void* key1, const void* key2) -{ - return memcmp(key1, key2, *(uint *) arg); -} - -C_MODE_END - - -bool Item_sum_sum_distinct::setup(THD *thd) -{ - DBUG_ENTER("Item_sum_sum_distinct::setup"); - SELECT_LEX *select_lex= thd->lex->current_select; - /* what does it mean??? */ - if (select_lex->linkage == GLOBAL_OPTIONS_TYPE) - DBUG_RETURN(1); + DBUG_ENTER("Item_sum_distinct::setup"); DBUG_ASSERT(tree == 0); /* setup can not be called twice */ /* - Uniques handles all unique elements in a tree until they can't fit in. - Then thee tree is dumped to the temporary file. - See class Unique for details. + Virtual table and the tree are created anew on each re-execution of + PS/SP. Hence all further allocations are performed in the runtime + mem_root. */ + if (field_list.push_back(&field_def)) + return TRUE; + null_value= maybe_null= 1; - /* - TODO: if underlying item result fits in 4 bytes we can take advantage - of it and have tree of long/ulong. It gives 10% performance boost - */ + quick_group= 0; + + DBUG_ASSERT(args[0]->fixed); + + field_def.init_for_tmp_table(table_field_type, args[0]->max_length, + args[0]->decimals, args[0]->maybe_null, + args[0]->unsigned_flag); + + if (! (table= create_virtual_tmp_table(thd, field_list))) + return TRUE; + + /* XXX: check that the case of CHAR(0) works OK */ + tree_key_length= table->s->reclength - table->s->null_bytes; /* - It's safe to use key_length here as even if we do copy_or_same() - the new item will just share the old items key_length, which will not - change or disappear during the life time of this item. + Unique handles all unique elements in a tree until they can't fit + in. Then the tree is dumped to the temporary file. We can use + simple_raw_key_cmp because the table contains numbers only; decimals + are converted to binary representation as well. */ - key_length= ((hybrid_type == DECIMAL_RESULT) ? - my_decimal_get_binary_size(args[0]->max_length, - args[0]->decimals) : - sizeof(double)); - tree= new Unique(simple_raw_key_cmp, &key_length, key_length, + tree= new Unique(simple_raw_key_cmp, &tree_key_length, tree_key_length, thd->variables.max_heap_table_size); - DBUG_PRINT("info", ("tree 0x%lx, key length %d", (ulong)tree, - key_length)); + DBUG_RETURN(tree == 0); } -void Item_sum_sum_distinct::clear() + +bool Item_sum_distinct::add() { - DBUG_ENTER("Item_sum_sum_distinct::clear"); + args[0]->save_in_field(table->field[0], FALSE); + if (!table->field[0]->is_null()) + { + DBUG_ASSERT(tree); + null_value= 0; + /* + '0' values are also stored in the tree. This doesn't matter + for SUM(DISTINCT), but is important for AVG(DISTINCT) + */ + return tree->unique_add(table->field[0]->ptr); + } + return 0; +} + + +bool Item_sum_distinct::unique_walk_function(void *element) +{ + memcpy(table->field[0]->ptr, element, tree_key_length); + ++count; + val.traits->add(&val, table->field[0]); + return 0; +} + + +void Item_sum_distinct::clear() +{ + DBUG_ENTER("Item_sum_distinct::clear"); DBUG_ASSERT(tree != 0); /* we always have a tree */ - null_value= 1; + null_value= 1; tree->reset(); DBUG_VOID_RETURN; } -void Item_sum_sum_distinct::cleanup() +void Item_sum_distinct::cleanup() { Item_sum_num::cleanup(); delete tree; tree= 0; + table= 0; } - -bool Item_sum_sum_distinct::add() +Item_sum_distinct::~Item_sum_distinct() { - DBUG_ENTER("Item_sum_sum_distinct::add"); - if (hybrid_type == DECIMAL_RESULT) - { - my_decimal value, *val= args[0]->val_decimal(&value); - if (!args[0]->null_value) - { - DBUG_ASSERT(tree != 0); - null_value= 0; - my_decimal2binary(E_DEC_FATAL_ERROR, val, (char *) dec_bin_buff, - args[0]->max_length, args[0]->decimals); - DBUG_RETURN(tree->unique_add(dec_bin_buff)); - } - } - else - { - /* args[0]->val() may reset args[0]->null_value */ - double val= args[0]->val_real(); - if (!args[0]->null_value) - { - DBUG_ASSERT(tree != 0); - null_value= 0; - DBUG_PRINT("info", ("real: %lg, tree 0x%lx", val, (ulong)tree)); - if (val) - DBUG_RETURN(tree->unique_add(&val)); - } - else - DBUG_PRINT("info", ("real: NULL")); - } - DBUG_RETURN(0); + delete tree; + /* no need to free the table */ } -void Item_sum_sum_distinct::add_real(double val) +void Item_sum_distinct::calculate_val_and_count() { - DBUG_ENTER("Item_sum_sum_distinct::add_real"); - sum+= val; - DBUG_PRINT("info", ("sum %lg, val %lg", sum, val)); - DBUG_VOID_RETURN; -} - - -void Item_sum_sum_distinct::add_decimal(byte *val) -{ - binary2my_decimal(E_DEC_FATAL_ERROR, (char *) val, &tmp_dec, - args[0]->max_length, args[0]->decimals); - my_decimal_add(E_DEC_FATAL_ERROR, dec_buffs + (curr_dec_buff^1), - &tmp_dec, dec_buffs + curr_dec_buff); - curr_dec_buff^= 1; -} - -C_MODE_START - -static int sum_sum_distinct_real(void *element, element_count num_of_dups, - void *item_sum_sum_distinct) -{ - ((Item_sum_sum_distinct *) - (item_sum_sum_distinct))->add_real(* (double *) element); - return 0; -} - -static int sum_sum_distinct_decimal(void *element, element_count num_of_dups, - void *item_sum_sum_distinct) -{ - ((Item_sum_sum_distinct *) - (item_sum_sum_distinct))->add_decimal((byte *)element); - return 0; -} - -C_MODE_END - - -double Item_sum_sum_distinct::val_real() -{ - DBUG_ENTER("Item_sum_sum_distinct::val"); + count= 0; + val.traits->set_zero(&val); /* We don't have a tree only if 'setup()' hasn't been called; this is the case of sql_select.cc:return_zero_rows. */ - if (hybrid_type == DECIMAL_RESULT) + if (tree) { - /* Item_sum_sum_distinct::val_decimal do not use argument */ - my_decimal *val= val_decimal(0); - if (!null_value) - my_decimal2double(E_DEC_FATAL_ERROR, val, &sum); + table->field[0]->set_notnull(); + tree->walk(item_sum_distinct_walk, (void*) this); } - else - { - sum= 0.0; - DBUG_PRINT("info", ("tree 0x%lx", (ulong)tree)); - if (tree) - tree->walk(sum_sum_distinct_real, (void *) this); - } - DBUG_RETURN(sum); } -my_decimal *Item_sum_sum_distinct::val_decimal(my_decimal *fake) +double Item_sum_distinct::val_real() { - if (hybrid_type == DECIMAL_RESULT) - { - my_decimal_set_zero(dec_buffs); - curr_dec_buff= 0; - if (tree) - tree->walk(sum_sum_distinct_decimal, (void *)this); - } - else - { - double real= val_real(); - curr_dec_buff= 0; - double2my_decimal(E_DEC_FATAL_ERROR, real, dec_buffs); - } - return(dec_buffs + curr_dec_buff); + calculate_val_and_count(); + return val.traits->val_real(&val); } -longlong Item_sum_sum_distinct::val_int() +my_decimal *Item_sum_distinct::val_decimal(my_decimal *to) { - longlong result; - if (hybrid_type == DECIMAL_RESULT) - { - /* Item_sum_sum_distinct::val_decimal do not use argument */ - my_decimal *val= val_decimal(0); - if (!null_value) - my_decimal2int(E_DEC_FATAL_ERROR, val, unsigned_flag, &result); - } - else - result= (longlong) val_real(); - return result; + calculate_val_and_count(); + if (null_value) + return 0; + return val.traits->val_decimal(&val, to); } -String *Item_sum_sum_distinct::val_str(String *str) +longlong Item_sum_distinct::val_int() { - DBUG_ASSERT(fixed == 1); - if (hybrid_type == DECIMAL_RESULT) - return val_string_from_decimal(str); - return val_string_from_real(str); + calculate_val_and_count(); + return val.traits->val_int(&val, unsigned_flag); } -/* end of Item_sum_sum_distinct */ +String *Item_sum_distinct::val_str(String *str) +{ + calculate_val_and_count(); + if (null_value) + return 0; + return val.traits->val_str(&val, str, decimals); +} + +/* end of Item_sum_distinct */ + +/* Item_sum_avg_distinct */ + +void +Item_sum_avg_distinct::fix_length_and_dec() +{ + Item_sum_distinct::fix_length_and_dec(); + /* + AVG() will divide val by count. We need to reserve digits + after decimal point as the result can be fractional. + */ + decimals+= 4; +} + + +void +Item_sum_avg_distinct::calculate_val_and_count() +{ + Item_sum_distinct::calculate_val_and_count(); + if (count) + val.traits->div(&val, count); +} + Item *Item_sum_count::copy_or_same(THD* thd) { @@ -2093,12 +2127,8 @@ my_decimal *Item_variance_field::val_decimal(my_decimal *dec_buf) int simple_str_key_cmp(void* arg, byte* key1, byte* key2) { - Item_sum_count_distinct* item = (Item_sum_count_distinct*)arg; - CHARSET_INFO *cs=item->key_charset; - uint len=item->key_length; - return cs->coll->strnncollsp(cs, - (const uchar*) key1, len, - (const uchar*) key2, len, 0); + Field *f= (Field*) arg; + return f->cmp(key1, key2); } /* @@ -2127,54 +2157,42 @@ int composite_key_cmp(void* arg, byte* key1, byte* key2) return 0; } -/* - helper function for walking the tree when we dump it to MyISAM - - tree_walk will call it for each leaf -*/ -int dump_leaf(byte* key, uint32 count __attribute__((unused)), - Item_sum_count_distinct* item) +C_MODE_START + +static int count_distinct_walk(void *elem, unsigned int count, void *arg) { - byte* buf = item->table->record[0]; - int error; - /* - The first item->rec_offset bytes are taken care of with - restore_record(table,default_values) in setup() - */ - memcpy(buf + item->rec_offset, key, item->tree->size_of_element); - if ((error = item->table->file->write_row(buf))) - { - if (error != HA_ERR_FOUND_DUPP_KEY && - error != HA_ERR_FOUND_DUPP_UNIQUE) - return 1; - } + (*((ulonglong*)arg))++; return 0; } +C_MODE_END + void Item_sum_count_distinct::cleanup() { DBUG_ENTER("Item_sum_count_distinct::cleanup"); Item_sum_int::cleanup(); - /* - Free table and tree if they belong to this item (if item have not pointer - to original item from which was made copy => it own its objects ) - */ + + /* Free objects only if we own them. */ if (!original) { + /* + We need to delete the table and the tree in cleanup() as + they were allocated in the runtime memroot. Using the runtime + memroot reduces memory footprint for PS/SP and simplifies setup(). + */ + delete tree; + tree= 0; if (table) { - free_tmp_table(current_thd, table); + free_tmp_table(table->in_use, table); table= 0; } delete tmp_table_param; tmp_table_param= 0; - if (use_tree) - { - delete_tree(tree); - use_tree= 0; - } } + always_null= FALSE; DBUG_VOID_RETURN; } @@ -2185,8 +2203,15 @@ void Item_sum_count_distinct::make_unique() { table=0; original= 0; - use_tree= 0; // to prevent delete_tree call on uninitialized tree - tree= &tree_base; + tree= 0; + tmp_table_param= 0; + always_null= FALSE; +} + + +Item_sum_count_distinct::~Item_sum_count_distinct() +{ + cleanup(); } @@ -2194,18 +2219,23 @@ bool Item_sum_count_distinct::setup(THD *thd) { List list; SELECT_LEX *select_lex= thd->lex->current_select; - if (select_lex->linkage == GLOBAL_OPTIONS_TYPE) - return 1; - + + /* + Setup can be called twice for ROLLUP items. This is a bug. + Please add DBUG_ASSERT(tree == 0) here when it's fixed. + */ + if (tree || table || tmp_table_param) + return FALSE; + if (!(tmp_table_param= new TMP_TABLE_PARAM)) - return 1; + return TRUE; /* Create a table with an unique key over all parameters */ for (uint i=0; i < arg_count ; i++) { Item *item=args[i]; if (list.push_back(item)) - return 1; // End of memory + return TRUE; // End of memory if (item->const_item()) { (void) item->val_int(); @@ -2214,138 +2244,88 @@ bool Item_sum_count_distinct::setup(THD *thd) } } if (always_null) - return 0; + return FALSE; count_field_types(tmp_table_param,list,0); - if (table) - { - free_tmp_table(thd, table); - tmp_table_param->cleanup(); - } + DBUG_ASSERT(table == 0); if (!(table= create_tmp_table(thd, tmp_table_param, list, (ORDER*) 0, 1, 0, select_lex->options | thd->options, HA_POS_ERROR, (char*)""))) - return 1; + return TRUE; table->file->extra(HA_EXTRA_NO_ROWS); // Don't update rows table->no_rows=1; - - // no blobs, otherwise it would be MyISAM if (table->s->db_type == DB_TYPE_HEAP) { + /* + No blobs, otherwise it would have been MyISAM: set up a compare + function and its arguments to use with Unique. + */ qsort_cmp2 compare_key; void* cmp_arg; + Field **field= table->field; + Field **field_end= field + table->s->fields; + bool all_binary= TRUE; - // to make things easier for dump_leaf if we ever have to dump to MyISAM - restore_record(table,s->default_values); - - if (table->s->fields == 1) + for (tree_key_length= 0; field < field_end; ++field) { - /* - If we have only one field, which is the most common use of - count(distinct), it is much faster to use a simpler key - compare method that can take advantage of not having to worry - about other fields - */ - Field* field = table->field[0]; - switch (field->type()) { - case MYSQL_TYPE_STRING: - case MYSQL_TYPE_VAR_STRING: - if (field->binary()) - { - compare_key = (qsort_cmp2)simple_raw_key_cmp; - cmp_arg = (void*) &key_length; - } - else - { - /* - If we have a string, we must take care of charsets and case - sensitivity - */ - compare_key = (qsort_cmp2)simple_str_key_cmp; - cmp_arg = (void*) this; - } - break; - default: - /* - Since at this point we cannot have blobs anything else can - be compared with memcmp - */ - compare_key = (qsort_cmp2)simple_raw_key_cmp; - cmp_arg = (void*) &key_length; - break; + Field *f= *field; + enum enum_field_types type= f->type(); + tree_key_length+= f->pack_length(); + if (!f->binary() && (type == MYSQL_TYPE_STRING || + type == MYSQL_TYPE_VAR_STRING || + type == MYSQL_TYPE_VARCHAR)) + { + all_binary= FALSE; + break; } - key_charset = field->charset(); - key_length = field->pack_length(); - rec_offset = 1; } - else // too bad, cannot cheat - there is more than one field + if (all_binary) { - bool all_binary = 1; - Field** field, **field_end; - field_end = (field = table->field) + table->s->fields; - uint32 *lengths; - if (!(field_lengths= - (uint32*) thd->alloc(sizeof(uint32) * table->s->fields))) - return 1; - - for (key_length = 0, lengths=field_lengths; field < field_end; ++field) + cmp_arg= (void*) &tree_key_length; + compare_key= (qsort_cmp2) simple_raw_key_cmp; + } + else + { + if (table->s->fields == 1) { - uint32 length= (*field)->pack_length(); - key_length += length; - *lengths++ = length; - if (!(*field)->binary()) - all_binary = 0; // Can't break loop here - } - rec_offset= table->s->reclength - key_length; - if (all_binary) - { - compare_key = (qsort_cmp2)simple_raw_key_cmp; - cmp_arg = (void*) &key_length; + /* + If we have only one field, which is the most common use of + count(distinct), it is much faster to use a simpler key + compare method that can take advantage of not having to worry + about other fields. + */ + compare_key= (qsort_cmp2) simple_str_key_cmp; + cmp_arg= (void*) table->field[0]; + /* tree_key_length has been set already */ } else { - compare_key = (qsort_cmp2) composite_key_cmp ; - cmp_arg = (void*) this; + uint32 *length; + compare_key= (qsort_cmp2) composite_key_cmp; + cmp_arg= (void*) this; + field_lengths= (uint32*) thd->alloc(table->s->fields * sizeof(uint32)); + for (tree_key_length= 0, length= field_lengths, field= table->field; + field < field_end; ++field, ++length) + { + *length= (*field)->pack_length(); + tree_key_length+= *length; + } } } - - if (use_tree) - delete_tree(tree); - init_tree(tree, min(thd->variables.max_heap_table_size, - thd->variables.sortbuff_size/16), 0, - key_length, compare_key, 0, NULL, cmp_arg); - use_tree = 1; - + DBUG_ASSERT(tree == 0); + tree= new Unique(compare_key, cmp_arg, tree_key_length, + thd->variables.max_heap_table_size); /* - The only time key_length could be 0 is if someone does + The only time tree_key_length could be 0 is if someone does count(distinct) on a char(0) field - stupid thing to do, but this has to be handled - otherwise someone can crash the server with a DoS attack */ - max_elements_in_tree = ((key_length) ? - thd->variables.max_heap_table_size/key_length : 1); - + if (! tree) + return TRUE; } - if (original) - { - original->table= table; - original->use_tree= use_tree; - } - return 0; -} - - -int Item_sum_count_distinct::tree_to_myisam() -{ - if (create_myisam_from_heap(current_thd, table, tmp_table_param, - HA_ERR_RECORD_FILE_FULL, 1) || - tree_walk(tree, (tree_walk_action)&dump_leaf, (void*)this, - left_root_right)) - return 1; - delete_tree(tree); - use_tree = 0; - return 0; + return FALSE; } @@ -2357,8 +2337,9 @@ Item *Item_sum_count_distinct::copy_or_same(THD* thd) void Item_sum_count_distinct::clear() { - if (use_tree) - reset_tree(tree); + /* tree and table can be both null only if always_null */ + if (tree) + tree->reset(); else if (table) { table->file->extra(HA_EXTRA_NO_CACHE); @@ -2379,32 +2360,21 @@ bool Item_sum_count_distinct::add() if ((*field)->is_real_null(0)) return 0; // Don't count NULL - if (use_tree) + if (tree) { /* - If the tree got too big, convert to MyISAM, otherwise insert into the - tree. + The first few bytes of record (at least one) are just markers + for deleted and NULLs. We want to skip them since they will + bloat the tree without providing any valuable info. Besides, + key_length used to initialize the tree didn't include space for them. */ - if (tree->elements_in_tree > max_elements_in_tree) - { - if (tree_to_myisam()) - return 1; - } - else if (!tree_insert(tree, table->record[0] + rec_offset, 0, - tree->custom_arg)) - return 1; + return tree->unique_add(table->record[0] + table->s->null_bytes); } - else if ((error=table->file->write_row(table->record[0]))) - { - if (error != HA_ERR_FOUND_DUPP_KEY && - error != HA_ERR_FOUND_DUPP_UNIQUE) - { - if (create_myisam_from_heap(current_thd, table, tmp_table_param, error, - 1)) - return 1; // Not a table_is_full error - } - } - return 0; + if ((error= table->file->write_row(table->record[0])) && + error != HA_ERR_FOUND_DUPP_KEY && + error != HA_ERR_FOUND_DUPP_UNIQUE) + return TRUE; + return FALSE; } @@ -2413,8 +2383,16 @@ longlong Item_sum_count_distinct::val_int() DBUG_ASSERT(fixed == 1); if (!table) // Empty query return LL(0); - if (use_tree) - return tree->elements_in_tree; + if (tree) + { + ulonglong count; + + if (tree->elements == 0) + return (longlong) tree->elements_in_tree(); // everything fits in memory + count= 0; + tree->walk(count_distinct_walk, (void*) &count); + return (longlong) count; + } table->file->info(HA_STATUS_VARIABLE | HA_STATUS_NO_LOCK); return table->file->records; } diff --git a/sql/item_sum.h b/sql/item_sum.h index af2710d7800..f6650f9c3d2 100644 --- a/sql/item_sum.h +++ b/sql/item_sum.h @@ -30,8 +30,8 @@ class Item_sum :public Item_result_field public: enum Sumfunctype { COUNT_FUNC, COUNT_DISTINCT_FUNC, SUM_FUNC, SUM_DISTINCT_FUNC, AVG_FUNC, - MIN_FUNC, MAX_FUNC, UNIQUE_USERS_FUNC, STD_FUNC, VARIANCE_FUNC, - SUM_BIT_FUNC, UDF_SUM_FUNC, GROUP_CONCAT_FUNC + AVG_DISTINCT_FUNC, MIN_FUNC, MAX_FUNC, UNIQUE_USERS_FUNC, STD_FUNC, + VARIANCE_FUNC, SUM_BIT_FUNC, UDF_SUM_FUNC, GROUP_CONCAT_FUNC }; Item **args, *tmp_args[2]; @@ -68,6 +68,9 @@ public: a temporary table. Similar to reset(), but must also store value in result_field. Like reset() it is supposed to reset start value to default. + This set of methods (reult_field(), reset_field, update_field()) of + Item_sum is used only if quick_group is not null. Otherwise + copy_or_same() is used to obtain a copy of this item. */ virtual void reset_field()=0; /* @@ -161,26 +164,28 @@ public: }; -/* - Item_sum_sum_distinct - SELECT SUM(DISTINCT expr) FROM ... - support. See also: MySQL manual, chapter 'Adding New Functions To MySQL' - and comments in item_sum.cc. -*/ + +/* Common class for SUM(DISTINCT), AVG(DISTINCT) */ class Unique; -class Item_sum_sum_distinct :public Item_sum_sum +class Item_sum_distinct :public Item_sum_num { +protected: + /* storage for the summation result */ + ulonglong count; + Hybrid_type val; + /* storage for unique elements */ Unique *tree; - byte *dec_bin_buff; - my_decimal tmp_dec; - uint key_length; -private: - Item_sum_sum_distinct(THD *thd, Item_sum_sum_distinct *item); + TABLE *table; + enum enum_field_types table_field_type; + uint tree_key_length; +protected: + Item_sum_distinct(THD *thd, Item_sum_distinct *item); public: - Item_sum_sum_distinct(Item *item_par); - ~Item_sum_sum_distinct() {} - + Item_sum_distinct(Item *item_par); + ~Item_sum_distinct(); + bool setup(THD *thd); void clear(); void cleanup(); @@ -190,15 +195,55 @@ public: longlong val_int(); String *val_str(String *str); - void add_real(double val); - void add_decimal(byte *val); + /* XXX: does it need make_unique? */ + enum Sumfunctype sum_func () const { return SUM_DISTINCT_FUNC; } void reset_field() {} // not used void update_field() {} // not used const char *func_name() const { return "sum_distinct"; } - Item *copy_or_same(THD* thd); virtual void no_rows_in_result() {} void fix_length_and_dec(); + enum Item_result result_type () const { return val.traits->type(); } + virtual void calculate_val_and_count(); + virtual bool unique_walk_function(void *elem); +}; + + +/* + Item_sum_sum_distinct - implementation of SUM(DISTINCT expr). + See also: MySQL manual, chapter 'Adding New Functions To MySQL' + and comments in item_sum.cc. +*/ + +class Item_sum_sum_distinct :public Item_sum_distinct +{ +private: + Item_sum_sum_distinct(THD *thd, Item_sum_sum_distinct *item) + :Item_sum_distinct(thd, item) {} +public: + Item_sum_sum_distinct(Item *item_arg) :Item_sum_distinct(item_arg) {} + + enum Sumfunctype sum_func () const { return SUM_DISTINCT_FUNC; } + const char *func_name() const { return "sum_distinct"; } + Item *copy_or_same(THD* thd) { return new Item_sum_sum_distinct(thd, this); } +}; + + +/* Item_sum_avg_distinct - SELECT AVG(DISTINCT expr) FROM ... */ + +class Item_sum_avg_distinct: public Item_sum_distinct +{ +private: + Item_sum_avg_distinct(THD *thd, Item_sum_avg_distinct *original) + :Item_sum_distinct(thd, original) {} +public: + Item_sum_avg_distinct(Item *item_arg) : Item_sum_distinct(item_arg) {} + + void fix_length_and_dec(); + virtual void calculate_val_and_count(); + enum Sumfunctype sum_func () const { return AVG_DISTINCT_FUNC; } + const char *func_name() const { return "avg_distinct"; } + Item *copy_or_same(THD* thd) { return new Item_sum_avg_distinct(thd, this); } }; @@ -236,68 +281,44 @@ class TMP_TABLE_PARAM; class Item_sum_count_distinct :public Item_sum_int { TABLE *table; - table_map used_table_cache; uint32 *field_lengths; TMP_TABLE_PARAM *tmp_table_param; - TREE tree_base; - TREE *tree; - /* - Following is 0 normal object and pointer to original one for copy - (to correctly free resources) - */ - Item_sum_count_distinct *original; - - uint key_length; - CHARSET_INFO *key_charset; - - /* - Calculated based on max_heap_table_size. If reached, - walk the tree and dump it into MyISAM table - */ - uint max_elements_in_tree; - - /* - The first few bytes of record ( at least one) - are just markers for deleted and NULLs. We want to skip them since - they will just bloat the tree without providing any valuable info - */ - int rec_offset; - /* If there are no blobs, we can use a tree, which is faster than heap table. In that case, we still use the table to help get things set up, but we insert nothing in it */ - bool use_tree; + Unique *tree; + /* + Following is 0 normal object and pointer to original one for copy + (to correctly free resources) + */ + Item_sum_count_distinct *original; + uint tree_key_length; + + bool always_null; // Set to 1 if the result is always NULL - int tree_to_myisam(); friend int composite_key_cmp(void* arg, byte* key1, byte* key2); friend int simple_str_key_cmp(void* arg, byte* key1, byte* key2); - friend int simple_raw_key_cmp(void* arg, byte* key1, byte* key2); - friend int dump_leaf(byte* key, uint32 count __attribute__((unused)), - Item_sum_count_distinct* item); - public: +public: Item_sum_count_distinct(List &list) - :Item_sum_int(list), table(0), used_table_cache(~(table_map) 0), - tmp_table_param(0), tree(&tree_base), original(0), use_tree(0), - always_null(0) + :Item_sum_int(list), table(0), field_lengths(0), tmp_table_param(0), + tree(0), original(0), always_null(FALSE) { quick_group= 0; } Item_sum_count_distinct(THD *thd, Item_sum_count_distinct *item) :Item_sum_int(thd, item), table(item->table), - used_table_cache(item->used_table_cache), field_lengths(item->field_lengths), tmp_table_param(item->tmp_table_param), - tree(item->tree), original(item), key_length(item->key_length), - max_elements_in_tree(item->max_elements_in_tree), - rec_offset(item->rec_offset), use_tree(item->use_tree), + tree(item->tree), original(item), tree_key_length(item->tree_key_length), always_null(item->always_null) {} + ~Item_sum_count_distinct(); + void cleanup(); - table_map used_tables() const { return used_table_cache; } enum Sumfunctype sum_func () const { return COUNT_DISTINCT_FUNC; } void clear(); bool add(); diff --git a/sql/log.cc b/sql/log.cc index d5c7cd5464f..43786990797 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -46,6 +46,7 @@ static int binlog_rollback(THD *thd, bool all); static int binlog_prepare(THD *thd, bool all); static handlerton binlog_hton = { + "binlog", 0, sizeof(my_off_t), /* savepoint size = binlog offset */ binlog_close_connection, @@ -360,12 +361,6 @@ MYSQL_LOG::MYSQL_LOG() bzero((char*) &index_file, sizeof(index_file)); } - -MYSQL_LOG::~MYSQL_LOG() -{ - cleanup(); -} - /* this is called only once */ void MYSQL_LOG::cleanup() @@ -618,7 +613,12 @@ bool MYSQL_LOG::open(const char *log_name, even if this is not the very first binlog. */ Format_description_log_event s(BINLOG_VERSION); - s.flags|= LOG_EVENT_BINLOG_IN_USE_F; + /* + don't set LOG_EVENT_BINLOG_IN_USE_F for SEQ_READ_APPEND io_cache + as we won't be able to reset it later + */ + if (io_cache_type == WRITE_CACHE) + s.flags|= LOG_EVENT_BINLOG_IN_USE_F; if (!s.is_valid()) goto err; if (null_created_arg) @@ -1276,8 +1276,7 @@ bool MYSQL_LOG::is_active(const char *log_file_name_arg) SYNOPSIS new_file() - need_lock Set to 1 (default) if caller has not locked - LOCK_log and LOCK_index + need_lock Set to 1 if caller has not locked LOCK_log NOTE The new file name is stored last in the index file @@ -1764,12 +1763,13 @@ err: void MYSQL_LOG::rotate_and_purge(uint flags) { + if (!(flags & RP_LOCK_LOG_IS_ALREADY_LOCKED)) + pthread_mutex_lock(&LOCK_log); if ((flags & RP_FORCE_ROTATE) || (my_b_tell(&log_file) >= (my_off_t) max_size)) { - new_file(!(flags & RP_LOCK_LOG_IS_ALREADY_LOCKED)); + new_file(0); #ifdef HAVE_REPLICATION - // QQ why do we need #ifdef here ??? if (expire_logs_days) { long purge_time= time(0) - expire_logs_days*24*60*60; @@ -1778,6 +1778,8 @@ void MYSQL_LOG::rotate_and_purge(uint flags) } #endif } + if (!(flags & RP_LOCK_LOG_IS_ALREADY_LOCKED)) + pthread_mutex_unlock(&LOCK_log); } uint MYSQL_LOG::next_file_id() @@ -2491,7 +2493,7 @@ int TC_LOG_MMAP::open(const char *opt_name) { inited= 1; crashed= TRUE; - sql_print_information("Recovering after a crash"); + sql_print_information("Recovering after a crash using %s", opt_name); if (tc_heuristic_recover) { sql_print_error("Cannot perform automatic crash recovery when " @@ -2951,7 +2953,10 @@ int TC_LOG_BINLOG::open(const char *opt_name) if ((ev= Log_event::read_log_event(&log, 0, &fdle)) && ev->get_type_code() == FORMAT_DESCRIPTION_EVENT && ev->flags & LOG_EVENT_BINLOG_IN_USE_F) + { + sql_print_information("Recovering after a crash using %s", opt_name); error= recover(&log, (Format_description_log_event *)ev); + } else error=0; diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index b978ffe175b..cd8587f0230 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -299,6 +299,10 @@ extern CHARSET_INFO *national_charset_info, *table_alias_charset; use strictly more than 64 bits by adding one more define above, you should contact the replication team because the replication code should then be updated (to store more bytes on disk). + + NOTE: When adding new SQL_MODE types, make sure to also add them to + ../scripts/mysql_create_system_tables.sh and + ../scripts/mysql_fix_privilege_tables.sql */ #define RAID_BLOCK_SIZE 1024 @@ -629,6 +633,10 @@ int mysql_derived_filling(THD *thd, LEX *lex, TABLE_LIST *t); Field *create_tmp_field(THD *thd, TABLE *table,Item *item, Item::Type type, Item ***copy_func, Field **from_field, bool group, bool modify_item, uint convert_blob_length); +int prepare_create_field(create_field *sql_field, + uint &blob_columns, + int ×tamps, int ×tamps_with_niladic, + uint table_flags); int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info, List &fields, List &keys, uint &db_options, @@ -813,7 +821,7 @@ MYSQL_ERROR *push_warning(THD *thd, MYSQL_ERROR::enum_warning_level level, uint const char *msg); void push_warning_printf(THD *thd, MYSQL_ERROR::enum_warning_level level, uint code, const char *format, ...); -void mysql_reset_errors(THD *thd); +void mysql_reset_errors(THD *thd, bool force= false); bool mysqld_show_warnings(THD *thd, ulong levels_to_show); /* sql_handler.cc */ @@ -838,6 +846,13 @@ bool add_field_to_list(THD *thd, char *field_name, enum enum_field_types type, char *change, List *interval_list, CHARSET_INFO *cs, uint uint_geom_type); +create_field * new_create_field(THD *thd, char *field_name, enum_field_types type, + char *length, char *decimals, + uint type_modifier, + Item *default_value, Item *on_update_value, + LEX_STRING *comment, char *change, + List *interval_list, CHARSET_INFO *cs, + uint uint_geom_type); void store_position_for_column(const char *name); bool add_to_list(THD *thd, SQL_LIST &list,Item *group,bool asc=0); void add_join_on(TABLE_LIST *b,Item *expr); @@ -1022,7 +1037,7 @@ extern Le_creator le_creator; extern char language[FN_REFLEN], reg_ext[FN_EXTLEN]; extern char glob_hostname[FN_REFLEN], mysql_home[FN_REFLEN]; extern char pidfile_name[FN_REFLEN], system_time_zone[30], *opt_init_file; -extern char log_error_file[FN_REFLEN]; +extern char log_error_file[FN_REFLEN], *opt_tc_log_file; extern double last_query_cost; extern double log_10[32]; extern ulonglong log_10_int[20]; diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 60510256c75..40bcac90945 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -366,7 +366,7 @@ char* log_error_file_ptr= log_error_file; char mysql_real_data_home[FN_REFLEN], language[FN_REFLEN], reg_ext[FN_EXTLEN], mysql_charsets_dir[FN_REFLEN], *mysqld_user,*mysqld_chroot, *opt_init_file, - *opt_init_connect, *opt_init_slave, + *opt_init_connect, *opt_init_slave, *opt_tc_log_file, def_ft_boolean_syntax[sizeof(ft_boolean_syntax)]; const char *opt_date_time_formats[3]; @@ -457,7 +457,7 @@ static my_bool opt_do_pstack, opt_noacl, opt_bootstrap, opt_myisam_log; static int cleanup_done; static ulong opt_specialflag, opt_myisam_block_size; static char *opt_logname, *opt_update_logname, *opt_binlog_index_name; -static char *opt_slow_logname, *opt_tc_log_file, *opt_tc_heuristic_recover; +static char *opt_slow_logname, *opt_tc_heuristic_recover; static char *mysql_home_ptr, *pidfile_name_ptr; static char **defaults_argv; static char *opt_bin_logname; @@ -1462,7 +1462,8 @@ void close_connection(THD *thd, uint errcode, bool lock) errcode ? ER(errcode) : "")); if (lock) (void) pthread_mutex_lock(&LOCK_thread_count); - if ((vio=thd->net.vio) != 0) + thd->killed= THD::KILL_CONNECTION; + if ((vio= thd->net.vio) != 0) { if (errcode) net_send_error(thd, errcode, ER(errcode)); /* purecov: inspected */ @@ -2799,6 +2800,11 @@ server."); unireg_abort(1); } + if (ha_recover(0)) + { + unireg_abort(1); + } + if (opt_bin_log && mysql_bin_log.open(opt_bin_logname, LOG_BIN, 0, WRITE_CACHE, 0, max_binlog_size, 0)) unireg_abort(1); @@ -3147,10 +3153,10 @@ we force server id to 2, but this MySQL server will not act as a slave."); create_shutdown_thread(); create_maintenance_thread(); - sql_print_information(ER(ER_READY),my_progname,server_version, - ((unix_sock == INVALID_SOCKET) ? (char*) "" + sql_print_information(ER(ER_STARTUP),my_progname,server_version, + ((unix_sock == INVALID_SOCKET) ? (char*) "" : mysqld_unix_port), - mysqld_port, + mysqld_port, MYSQL_COMPILATION_COMMENT); #if defined(__NT__) || defined(HAVE_SMEM) @@ -4210,6 +4216,7 @@ enum options_mysqld OPT_INNODB_STATUS_FILE, OPT_INNODB_MAX_DIRTY_PAGES_PCT, OPT_INNODB_TABLE_LOCKS, + OPT_INNODB_SUPPORT_XA, OPT_INNODB_OPEN_FILES, OPT_INNODB_AUTOEXTEND_INCREMENT, OPT_INNODB_SYNC_SPIN_LOOPS, @@ -4511,6 +4518,11 @@ Disable with --skip-innodb-doublewrite.", (gptr*) &innobase_use_doublewrite, (gptr*) &global_system_variables.innodb_table_locks, (gptr*) &global_system_variables.innodb_table_locks, 0, GET_BOOL, OPT_ARG, 1, 0, 0, 0, 0, 0}, + {"innodb_support_xa", OPT_INNODB_SUPPORT_XA, + "Enable InnoDB support for the XA two-phase commit", + (gptr*) &global_system_variables.innodb_support_xa, + (gptr*) &global_system_variables.innodb_support_xa, + 0, GET_BOOL, OPT_ARG, 1, 0, 0, 0, 0, 0}, #endif /* End HAVE_INNOBASE_DB */ {"isam", OPT_ISAM, "Enable ISAM (if this version of MySQL supports it). \ Disable with --skip-isam.", diff --git a/sql/protocol.cc b/sql/protocol.cc index a05f4c6079b..71908d2a958 100644 --- a/sql/protocol.cc +++ b/sql/protocol.cc @@ -60,7 +60,7 @@ void net_send_error(THD *thd, uint sql_errno, const char *err) char buff[MYSQL_ERRMSG_SIZE+2], *pos; #endif NET *net= &thd->net; - bool generate_warning= 1; + bool generate_warning= thd->killed != THD::KILL_CONNECTION; DBUG_ENTER("net_send_error"); DBUG_PRINT("enter",("sql_errno: %d err: %s", sql_errno, err ? err : net->last_error[0] ? @@ -252,8 +252,9 @@ net_printf_error(THD *thd, uint errcode, ...) strmake(net->last_error, text_pos, length); strmake(net->sqlstate, mysql_errno_to_sqlstate(errcode), SQLSTATE_LENGTH); #endif - push_warning(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, errcode, - text_pos ? text_pos : ER(errcode)); + if (thd->killed != THD::KILL_CONNECTION) + push_warning(thd, MYSQL_ERROR::WARN_LEVEL_ERROR, errcode, + text_pos ? text_pos : ER(errcode)); thd->is_fatal_error=0; // Error message is given DBUG_VOID_RETURN; } diff --git a/sql/set_var.cc b/sql/set_var.cc index ad8eaee10f2..1f4713471ba 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -392,6 +392,8 @@ sys_var_long_ptr sys_innodb_max_purge_lag("innodb_max_purge_lag", &srv_max_purge_lag); sys_var_thd_bool sys_innodb_table_locks("innodb_table_locks", &SV::innodb_table_locks); +sys_var_thd_bool sys_innodb_support_xa("innodb_support_xa", + &SV::innodb_support_xa); sys_var_long_ptr sys_innodb_autoextend_increment("innodb_autoextend_increment", &srv_auto_extend_increment); sys_var_long_ptr sys_innodb_sync_spin_loops("innodb_sync_spin_loops", @@ -411,7 +413,7 @@ sys_engine_condition_pushdown("engine_condition_pushdown", #ifdef HAVE_NDBCLUSTER_DB /* ndb thread specific variable settings */ -sys_var_thd_ulong +sys_var_thd_ulong sys_ndb_autoincrement_prefetch_sz("ndb_autoincrement_prefetch_sz", &SV::ndb_autoincrement_prefetch_sz); sys_var_thd_bool @@ -420,7 +422,8 @@ sys_var_thd_bool sys_ndb_use_exact_count("ndb_use_exact_count", &SV::ndb_use_exact_count); sys_var_thd_bool sys_ndb_use_transactions("ndb_use_transactions", &SV::ndb_use_transactions); -sys_var_long_ptr sys_ndb_cache_check_time("ndb_cache_check_time", &ndb_cache_check_time); +sys_var_long_ptr +sys_ndb_cache_check_time("ndb_cache_check_time", &ndb_cache_check_time); #endif /* Time/date/datetime formats */ @@ -689,6 +692,7 @@ sys_var *sys_variables[]= &sys_innodb_max_dirty_pages_pct, &sys_innodb_max_purge_lag, &sys_innodb_table_locks, + &sys_innodb_support_xa, &sys_innodb_max_purge_lag, &sys_innodb_autoextend_increment, &sys_innodb_sync_spin_loops, @@ -699,10 +703,10 @@ sys_var *sys_variables[]= &sys_engine_condition_pushdown, #ifdef HAVE_NDBCLUSTER_DB &sys_ndb_autoincrement_prefetch_sz, + &sys_ndb_cache_check_time, &sys_ndb_force_send, &sys_ndb_use_exact_count, &sys_ndb_use_transactions, - &sys_ndb_cache_check_time, #endif &sys_unique_checks, &sys_updatable_views_with_limit, @@ -810,6 +814,7 @@ struct show_var_st init_vars[]= { {"innodb_open_files", (char*) &innobase_open_files, SHOW_LONG }, {sys_innodb_sync_spin_loops.name, (char*) &sys_innodb_sync_spin_loops, SHOW_SYS}, {sys_innodb_table_locks.name, (char*) &sys_innodb_table_locks, SHOW_SYS}, + {sys_innodb_support_xa.name, (char*) &sys_innodb_support_xa, SHOW_SYS}, {sys_innodb_thread_concurrency.name, (char*) &sys_innodb_thread_concurrency, SHOW_SYS}, {sys_innodb_thread_sleep_delay.name, (char*) &sys_innodb_thread_sleep_delay, SHOW_SYS}, #endif @@ -1294,7 +1299,6 @@ static int check_max_delayed_threads(THD *thd, set_var *var) return 0; } - static void fix_max_connections(THD *thd, enum_var_type type) { #ifndef EMBEDDED_LIBRARY @@ -1315,10 +1319,12 @@ static void fix_thd_mem_root(THD *thd, enum_var_type type) static void fix_trans_mem_root(THD *thd, enum_var_type type) { +#ifdef USING_TRANSACTIONS if (type != OPT_GLOBAL) reset_root_defaults(&thd->transaction.mem_root, thd->variables.trans_alloc_block_size, thd->variables.trans_prealloc_size); +#endif } @@ -3276,8 +3282,14 @@ ulong fix_sql_mode(ulong sql_mode) */ if (sql_mode & MODE_ANSI) + { sql_mode|= (MODE_REAL_AS_FLOAT | MODE_PIPES_AS_CONCAT | MODE_ANSI_QUOTES | - MODE_IGNORE_SPACE | MODE_ONLY_FULL_GROUP_BY); + MODE_IGNORE_SPACE); + /* + MODE_ONLY_FULL_GROUP_BY removed from ANSI mode because it is currently + overly restrictive (see BUG#8510). + */ + } if (sql_mode & MODE_ORACLE) sql_mode|= (MODE_PIPES_AS_CONCAT | MODE_ANSI_QUOTES | MODE_IGNORE_SPACE | diff --git a/sql/share/errmsg.txt b/sql/share/errmsg.txt index f2772c29b32..f8e246fc45c 100644 --- a/sql/share/errmsg.txt +++ b/sql/share/errmsg.txt @@ -1824,7 +1824,7 @@ ER_READY cze "%s: p-Břipraven na spojení" dan "%s: klar til tilslutninger" nla "%s: klaar voor verbindingen" - eng "%s: ready for connections.\nVersion: '%s' socket: '%s' port: %d %s" + eng "%s: ready for connections.\nVersion: '%s' socket: '%s' port: %d" jps "%s: Ź€”őŠ®—ą", est "%s: ootab ühendusi" fre "%s: Pręt pour des connections" @@ -5328,3 +5328,5 @@ ER_DATA_TOO_LONG 22001 eng "Data too long for column '%s' at row %ld" ER_SP_BAD_SQLSTATE 42000 eng "Bad SQLSTATE: '%s'" +ER_STARTUP + eng "%s: ready for connections.\nVersion: '%s' socket: '%s' port: %d %s" diff --git a/sql/slave.cc b/sql/slave.cc index ef88f103b63..73dd0fd13c3 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -2558,6 +2558,7 @@ st_relay_log_info::~st_relay_log_info() pthread_cond_destroy(&start_cond); pthread_cond_destroy(&stop_cond); pthread_cond_destroy(&log_space_cond); + relay_log.cleanup(); } /* diff --git a/sql/sp.cc b/sql/sp.cc index 3f6d4d0bf1b..84169ab8172 100644 --- a/sql/sp.cc +++ b/sql/sp.cc @@ -334,6 +334,19 @@ db_find_routine(THD *thd, int type, sp_name *name, sp_head **sphp) } +static void +sp_returns_type(THD *thd, String &result, sp_head *sp) +{ + TABLE table; + Field *field; + bzero(&table, sizeof(table)); + table.in_use= thd; + table.s = &table.share_not_to_be_used; + field= sp->make_field(0, 0, &table); + field->sql_type(result); + delete field; +} + static int db_create_routine(THD *thd, int type, sp_head *sp) { @@ -388,9 +401,13 @@ db_create_routine(THD *thd, int type, sp_head *sp) store((longlong)sp->m_chistics->suid); table->field[MYSQL_PROC_FIELD_PARAM_LIST]-> store(sp->m_params.str, sp->m_params.length, system_charset_info); - if (sp->m_retstr.str) + if (sp->m_type == TYPE_ENUM_FUNCTION) + { + String retstr(64); + sp_returns_type(thd, retstr, sp); table->field[MYSQL_PROC_FIELD_RETURNS]-> - store(sp->m_retstr.str, sp->m_retstr.length, system_charset_info); + store(retstr.ptr(), retstr.length(), system_charset_info); + } table->field[MYSQL_PROC_FIELD_BODY]-> store(sp->m_body.str, sp->m_body.length, system_charset_info); table->field[MYSQL_PROC_FIELD_DEFINER]-> diff --git a/sql/sp_head.cc b/sql/sp_head.cc index 21ef89aea72..2097e55d4e3 100644 --- a/sql/sp_head.cc +++ b/sql/sp_head.cc @@ -305,11 +305,11 @@ sp_head::init(LEX *lex) */ lex->trg_table_fields.empty(); my_init_dynamic_array(&m_instr, sizeof(sp_instr *), 16, 8); - m_param_begin= m_param_end= m_returns_begin= m_returns_end= m_body_begin= 0; - m_qname.str= m_db.str= m_name.str= m_params.str= m_retstr.str= + m_param_begin= m_param_end= m_body_begin= 0; + m_qname.str= m_db.str= m_name.str= m_params.str= m_body.str= m_defstr.str= 0; m_qname.length= m_db.length= m_name.length= m_params.length= - m_retstr.length= m_body.length= m_defstr.length= 0; + m_body.length= m_defstr.length= 0; m_returns_cs= NULL; DBUG_VOID_RETURN; } @@ -351,41 +351,6 @@ sp_head::init_strings(THD *thd, LEX *lex, sp_name *name) (char *)m_param_begin, m_params.length); } - if (m_returns_begin && m_returns_end) - { - /* QQ KLUDGE: We can't seem to cut out just the type in the parser - (without the RETURNS), so we'll have to do it here. :-( - Furthermore, if there's a character type as well, it's not include - (beyond the m_returns_end pointer), in which case we need - m_returns_cs. */ - char *p= (char *)m_returns_begin+strspn((char *)m_returns_begin,"\t\n\r "); - p+= strcspn(p, "\t\n\r "); - p+= strspn(p, "\t\n\r "); - if (p < (char *)m_returns_end) - m_returns_begin= (uchar *)p; - /* While we're at it, trim the end too. */ - p= (char *)m_returns_end-1; - while (p > (char *)m_returns_begin && - (*p == '\t' || *p == '\n' || *p == '\r' || *p == ' ')) - p-= 1; - m_returns_end= (uchar *)p+1; - if (m_returns_cs) - { - String s((char *)m_returns_begin, m_returns_end - m_returns_begin, - system_charset_info); - - s.append(' '); - s.append(m_returns_cs->csname); - m_retstr.length= s.length(); - m_retstr.str= strmake_root(root, s.ptr(), m_retstr.length); - } - else - { - m_retstr.length= m_returns_end - m_returns_begin; - m_retstr.str= strmake_root(root, - (char *)m_returns_begin, m_retstr.length); - } - } m_body.length= lex->ptr - m_body_begin; /* Trim nuls at the end */ n= 0; @@ -401,6 +366,27 @@ sp_head::init_strings(THD *thd, LEX *lex, sp_name *name) DBUG_VOID_RETURN; } +TYPELIB * +sp_head::create_typelib(List *src) +{ + TYPELIB *result= NULL; + DBUG_ENTER("sp_head::clone_typelib"); + if (src->elements) + { + result= (TYPELIB*) alloc_root(mem_root, sizeof(TYPELIB)); + result->count= src->elements; + result->name= ""; + if (!(result->type_names=(const char **) + alloc_root(mem_root,sizeof(char *)*(result->count+1)))) + return 0; + List_iterator it(*src); + for (uint i=0; icount; i++) + result->type_names[i]= strdup_root(mem_root, (it++)->c_ptr()); + result->type_names[result->count]= 0; + } + return result; +} + int sp_head::create(THD *thd) { @@ -481,6 +467,21 @@ sp_head::destroy() DBUG_VOID_RETURN; } + +Field * +sp_head::make_field(uint max_length, const char *name, TABLE *dummy) +{ + Field *field; + DBUG_ENTER("sp_head::make_field"); + field= ::make_field((char *)0, + !m_returns_len ? max_length : m_returns_len, + (uchar *)"", 0, m_returns_pack, m_returns, m_returns_cs, + (enum Field::geometry_type)0, Field::NONE, + m_returns_typelib, + name ? name : (const char *)m_name.str, dummy); + DBUG_RETURN(field); +} + int sp_head::execute(THD *thd) { diff --git a/sql/sp_head.h b/sql/sp_head.h index 60979a438cb..ee41b1efc83 100644 --- a/sql/sp_head.h +++ b/sql/sp_head.h @@ -84,6 +84,9 @@ public: int m_type; // TYPE_ENUM_FUNCTION or TYPE_ENUM_PROCEDURE enum enum_field_types m_returns; // For FUNCTIONs only CHARSET_INFO *m_returns_cs; // For FUNCTIONs only + TYPELIB *m_returns_typelib; // For FUNCTIONs only + uint m_returns_len; // For FUNCTIONs only + uint m_returns_pack; // For FUNCTIONs only my_bool m_has_return; // For FUNCTIONs only my_bool m_simple_case; // TRUE if parsing simple case, FALSE otherwise my_bool m_multi_results; // TRUE if a procedure with SELECT(s) @@ -96,7 +99,6 @@ public: LEX_STRING m_db; LEX_STRING m_name; LEX_STRING m_params; - LEX_STRING m_retstr; // For FUNCTIONs only LEX_STRING m_body; LEX_STRING m_defstr; LEX_STRING m_definer_user; @@ -112,8 +114,7 @@ public: */ HASH m_spfuns, m_spprocs; // Pointers set during parsing - uchar *m_param_begin, *m_param_end, *m_returns_begin, *m_returns_end, - *m_body_begin; + uchar *m_param_begin, *m_param_end, *m_body_begin; static void * operator new(size_t size); @@ -131,6 +132,9 @@ public: void init_strings(THD *thd, LEX *lex, sp_name *name); + TYPELIB * + create_typelib(List *src); + int create(THD *thd); @@ -204,10 +208,7 @@ public: char *create_string(THD *thd, ulong *lenp); - inline Item_result result() - { - return sp_map_result_type(m_returns); - } + Field *make_field(uint max_length, const char *name, TABLE *dummy); void set_info(char *definer, uint definerlen, longlong created, longlong modified, diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 4fd943c08f4..09640eb3f57 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -1606,7 +1606,8 @@ static int open_unireg_entry(THD *thd, TABLE *entry, const char *db, if (ha_create_table_from_engine(thd, db, name, TRUE) != 0) goto err; - thd->clear_error(); // Clear error message + mysql_reset_errors(thd, true); // Clear warnings + thd->clear_error(); // Clear error message continue; } diff --git a/sql/sql_class.cc b/sql/sql_class.cc index bac3e42ed62..5fb91d9c1a4 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -1781,7 +1781,11 @@ void TMP_TABLE_PARAM::init() void thd_increment_bytes_sent(ulong length) { - current_thd->status_var.bytes_sent+= length; + THD *thd=current_thd; + if (likely(thd != 0)) + { /* current_thd==0 when close_connection() calls net_send_error() */ + thd->status_var.bytes_sent+= length; + } } diff --git a/sql/sql_class.h b/sql/sql_class.h index fa2bcc4d478..ffb7a9ab12d 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -236,7 +236,11 @@ class MYSQL_LOG: public TC_LOG public: MYSQL_LOG(); - ~MYSQL_LOG(); + /* + note that there's no destructor ~MYSQL_LOG() ! + The reason is that we don't want it to be automatically called + on exit() - but only during the correct shutdown process + */ int open(const char *opt_name); void close(); @@ -574,6 +578,7 @@ struct system_variables #endif /* HAVE_REPLICATION */ #ifdef HAVE_INNOBASE_DB my_bool innodb_table_locks; + my_bool innodb_support_xa; #endif /* HAVE_INNOBASE_DB */ #ifdef HAVE_NDBCLUSTER_DB ulong ndb_autoincrement_prefetch_sz; @@ -1146,7 +1151,6 @@ public: table_map used_tables; USER_CONN *user_connect; CHARSET_INFO *db_charset; - List temporary_tables_should_be_free; // list of temporary tables /* FIXME: this, and some other variables like 'count_cuted_fields' maybe should be statement/cursor local, that is, moved to Statement @@ -1826,6 +1830,7 @@ public: Unique(qsort_cmp2 comp_func, void *comp_func_fixed_arg, uint size_arg, ulong max_in_memory_size_arg); ~Unique(); + ulong elements_in_tree() { return tree.elements_in_tree; } inline bool unique_add(void *ptr) { DBUG_ENTER("unique_add"); diff --git a/sql/sql_error.cc b/sql/sql_error.cc index 4d254b95514..4420f2d16ad 100644 --- a/sql/sql_error.cc +++ b/sql/sql_error.cc @@ -64,6 +64,7 @@ void MYSQL_ERROR::set_msg(THD *thd, const char *msg_arg) SYNOPSIS mysql_reset_errors() thd Thread handle + force Reset warnings even if it has been done before IMPLEMENTATION Don't reset warnings if this has already been called for this query. @@ -71,14 +72,15 @@ void MYSQL_ERROR::set_msg(THD *thd, const char *msg_arg) in which case push_warnings() has already called this function. */ -void mysql_reset_errors(THD *thd) +void mysql_reset_errors(THD *thd, bool force) { DBUG_ENTER("mysql_reset_errors"); - if (thd->query_id != thd->warn_id) + if (thd->query_id != thd->warn_id || force) { thd->warn_id= thd->query_id; free_root(&thd->warn_root,MYF(0)); bzero((char*) thd->warn_count, sizeof(thd->warn_count)); + if (force) thd->total_warn_count= 0; thd->warn_list.empty(); thd->row_count= 1; // by default point to row 1 } diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index 5741804bdae..e2ab7ea12c5 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -217,9 +217,11 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list, } if ((table= delayed_get_table(thd,table_list)) && !thd->is_fatal_error) { - res= 0; - if (table_list->next_global) /* if sub select */ - res= open_and_lock_tables(thd, table_list->next_global); + /* + Open tables used for sub-selects or in stored functions, will also + cache these functions. + */ + res= open_and_lock_tables(thd, table_list->next_global); /* First is not processed by open_and_lock_tables() => we need set updateability flags "by hands". diff --git a/sql/sql_lex.h b/sql/sql_lex.h index 3588f376d2f..4cbf9f802d0 100644 --- a/sql/sql_lex.h +++ b/sql/sql_lex.h @@ -860,7 +860,7 @@ typedef struct st_lex inline bool requires_prelocking() { - return query_tables_own_last; + return test(query_tables_own_last); } inline void mark_as_requiring_prelocking(TABLE_LIST **tables_own_last) { diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 81391dc920f..d5ed8c8efb0 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -355,11 +355,11 @@ int check_user(THD *thd, enum enum_server_command command, if (check_count) { VOID(pthread_mutex_lock(&LOCK_thread_count)); - bool count_ok= thread_count < max_connections + delayed_insert_threads + bool count_ok= thread_count <= max_connections + delayed_insert_threads || (thd->master_access & SUPER_ACL); VOID(pthread_mutex_unlock(&LOCK_thread_count)); if (!count_ok) - { // too many connections + { // too many connections net_send_error(thd, ER_CON_COUNT_ERROR); DBUG_RETURN(-1); } @@ -3805,21 +3805,21 @@ unsent_create_error: break; case SQLCOM_RELEASE_SAVEPOINT: { - SAVEPOINT **sv; - for (sv=&thd->transaction.savepoints; *sv; sv=&(*sv)->prev) + SAVEPOINT *sv; + for (sv=thd->transaction.savepoints; sv; sv=sv->prev) { if (my_strnncoll(system_charset_info, (uchar *)lex->ident.str, lex->ident.length, - (uchar *)(*sv)->name, (*sv)->length) == 0) + (uchar *)sv->name, sv->length) == 0) break; } - if (*sv) + if (sv) { - if (ha_release_savepoint(thd, *sv)) + if (ha_release_savepoint(thd, sv)) res= TRUE; // cannot happen else send_ok(thd); - *sv=(*sv)->prev; + thd->transaction.savepoints=sv->prev; } else my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "SAVEPOINT", lex->ident.str); @@ -3827,17 +3827,17 @@ unsent_create_error: } case SQLCOM_ROLLBACK_TO_SAVEPOINT: { - SAVEPOINT **sv; - for (sv=&thd->transaction.savepoints; *sv; sv=&(*sv)->prev) + SAVEPOINT *sv; + for (sv=thd->transaction.savepoints; sv; sv=sv->prev) { if (my_strnncoll(system_charset_info, (uchar *)lex->ident.str, lex->ident.length, - (uchar *)(*sv)->name, (*sv)->length) == 0) + (uchar *)sv->name, sv->length) == 0) break; } - if (*sv) + if (sv) { - if (ha_rollback_to_savepoint(thd, *sv)) + if (ha_rollback_to_savepoint(thd, sv)) res= TRUE; // cannot happen else { @@ -3848,7 +3848,7 @@ unsent_create_error: ER(ER_WARNING_NOT_COMPLETE_ROLLBACK)); send_ok(thd); } - *sv=(*sv)->prev; + thd->transaction.savepoints=sv; } else my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "SAVEPOINT", lex->ident.str); @@ -5207,9 +5207,6 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, { register create_field *new_field; LEX *lex= thd->lex; - uint allowed_type_modifier=0; - uint sign_len; - ulong max_field_charlength= MAX_FIELD_CHARLENGTH; DBUG_ENTER("add_field_to_list"); if (strlen(field_name) > NAME_LEN) @@ -5270,9 +5267,38 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, my_error(ER_INVALID_ON_UPDATE, MYF(0), field_name); DBUG_RETURN(1); } - - if (!(new_field=new create_field())) + + if (!(new_field= new_create_field(thd, field_name, type, length, decimals, + type_modifier, default_value, on_update_value, + comment, change, interval_list, cs, uint_geom_type))) DBUG_RETURN(1); + + lex->create_list.push_back(new_field); + lex->last_field=new_field; + DBUG_RETURN(0); +} + +/***************************************************************************** +** Create field definition for create +** Return 0 on failure, otherwise return create_field instance +******************************************************************************/ + +create_field * +new_create_field(THD *thd, char *field_name, enum_field_types type, + char *length, char *decimals, + uint type_modifier, + Item *default_value, Item *on_update_value, + LEX_STRING *comment, + char *change, List *interval_list, CHARSET_INFO *cs, + uint uint_geom_type) +{ + register create_field *new_field; + uint sign_len, allowed_type_modifier=0; + ulong max_field_charlength= MAX_FIELD_CHARLENGTH; + DBUG_ENTER("new_create_field"); + + if (!(new_field=new create_field())) + DBUG_RETURN(NULL); new_field->field=0; new_field->field_name=field_name; new_field->def= default_value; @@ -5344,7 +5370,7 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, new_field->length >= new_field->decimals) break; my_error(ER_WRONG_FIELD_SPEC, MYF(0), field_name); - DBUG_RETURN(1); + DBUG_RETURN(NULL); case MYSQL_TYPE_VARCHAR: /* Long VARCHAR's are automaticly converted to blobs in mysql_prepare_table @@ -5367,7 +5393,7 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, { my_error(ER_BLOB_CANT_HAVE_DEFAULT, MYF(0), field_name); /* purecov: inspected */ - DBUG_RETURN(1); /* purecov: inspected */ + DBUG_RETURN(NULL); } new_field->def=0; } @@ -5387,7 +5413,7 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, if (tmp_length > PRECISION_FOR_DOUBLE) { my_error(ER_WRONG_FIELD_SPEC, MYF(0), field_name); - DBUG_RETURN(1); + DBUG_RETURN(NULL); } else if (tmp_length > PRECISION_FOR_FLOAT) { @@ -5484,7 +5510,7 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, if (interval_list->elements > sizeof(longlong)*8) { my_error(ER_TOO_BIG_SET, MYF(0), field_name); /* purecov: inspected */ - DBUG_RETURN(1); /* purecov: inspected */ + DBUG_RETURN(NULL); } new_field->pack_length= (interval_list->elements + 7) / 8; if (new_field->pack_length > 4) @@ -5525,7 +5551,7 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, { my_error(ER_TOO_BIG_FIELDLENGTH, MYF(0), field_name, MAX_BIT_FIELD_LENGTH); - DBUG_RETURN(1); + DBUG_RETURN(NULL); } new_field->pack_length= (new_field->length + 7) / 8; break; @@ -5544,17 +5570,15 @@ bool add_field_to_list(THD *thd, char *field_name, enum_field_types type, { my_error(ER_TOO_BIG_FIELDLENGTH, MYF(0), field_name, max_field_charlength); /* purecov: inspected */ - DBUG_RETURN(1); /* purecov: inspected */ + DBUG_RETURN(NULL); } type_modifier&= AUTO_INCREMENT_FLAG; if ((~allowed_type_modifier) & type_modifier) { my_error(ER_WRONG_FIELD_SPEC, MYF(0), field_name); - DBUG_RETURN(1); + DBUG_RETURN(NULL); } - lex->create_list.push_back(new_field); - lex->last_field=new_field; - DBUG_RETURN(0); + DBUG_RETURN(new_field); } diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc index 8006c61f233..5cd4753c229 100644 --- a/sql/sql_prepare.cc +++ b/sql/sql_prepare.cc @@ -1230,7 +1230,7 @@ static bool mysql_test_do_fields(Prepared_statement *stmt, if (tables && check_table_access(thd, SELECT_ACL, tables, 0)) DBUG_RETURN(TRUE); - if (tables && open_and_lock_tables(thd, tables)) + if (open_and_lock_tables(thd, tables)) { DBUG_RETURN(TRUE); } @@ -1261,12 +1261,12 @@ static bool mysql_test_set_fields(Prepared_statement *stmt, List_iterator_fast it(*var_list); THD *thd= stmt->thd; set_var_base *var; - bool res= 0; + bool res; if (tables && check_table_access(thd, SELECT_ACL, tables, 0)) DBUG_RETURN(TRUE); - if (tables && (res= open_and_lock_tables(thd, tables))) + if ((res= open_and_lock_tables(thd, tables))) goto error; while ((var= it++)) { @@ -1287,30 +1287,30 @@ error: Check internal SELECT of the prepared command SYNOPSIS - select_like_statement_test() - stmt - prepared table handler - tables - global list of tables - specific_prepare - function of command specific prepare + select_like_stmt_test() + stmt - prepared statement handler + specific_prepare - function of command specific prepare + setup_tables_done_option - options to be passed to LEX::unit.prepare() + + NOTE + This function won't directly open tables used in select. They should + be opened either by calling function (and in this case you probably + should use select_like_stmt_test_with_open_n_lock()) or by + "specific_prepare" call (like this happens in case of multi-update). RETURN VALUE FALSE success TRUE error */ -static bool select_like_statement_test(Prepared_statement *stmt, - TABLE_LIST *tables, - bool (*specific_prepare)(THD *thd), - ulong setup_tables_done_option) + +static bool select_like_stmt_test(Prepared_statement *stmt, + bool (*specific_prepare)(THD *thd), + ulong setup_tables_done_option) { - DBUG_ENTER("select_like_statement_test"); + DBUG_ENTER("select_like_stmt_test"); THD *thd= stmt->thd; LEX *lex= stmt->lex; - bool res= 0; - - /* check that tables was not opened during conversion from usual update */ - if (tables && - (!tables->table && !tables->view) && - (res= open_and_lock_tables(thd, tables))) - goto end; + bool res= FALSE; if (specific_prepare && (res= (*specific_prepare)(thd))) goto end; @@ -1328,6 +1328,44 @@ end: } +/* + Check internal SELECT of the prepared command (with opening and + locking tables used). + + SYNOPSIS + select_like_stmt_test_with_open_n_lock() + stmt - prepared statement handler + tables - list of tables to be opened and locked + before calling specific_prepare function + specific_prepare - function of command specific prepare + setup_tables_done_option - options to be passed to LEX::unit.prepare() + + RETURN VALUE + FALSE success + TRUE error +*/ + +static bool +select_like_stmt_test_with_open_n_lock(Prepared_statement *stmt, + TABLE_LIST *tables, + bool (*specific_prepare)(THD *thd), + ulong setup_tables_done_option) +{ + DBUG_ENTER("select_like_stmt_test_with_open_n_lock"); + + /* + We should not call LEX::unit.cleanup() after this open_and_lock_tables() + call because we don't allow prepared EXPLAIN yet so derived tables will + clean up after themself. + */ + if (open_and_lock_tables(stmt->thd, tables)) + DBUG_RETURN(TRUE); + + DBUG_RETURN(select_like_stmt_test(stmt, specific_prepare, + setup_tables_done_option)); +} + + /* Validate and prepare for execution CREATE TABLE statement @@ -1358,7 +1396,7 @@ static int mysql_test_create_table(Prepared_statement *stmt) select_lex->item_list.elements) { select_lex->resolve_mode= SELECT_LEX::SELECT_MODE; - res= select_like_statement_test(stmt, tables, 0, 0); + res= select_like_stmt_test_with_open_n_lock(stmt, tables, 0, 0); select_lex->resolve_mode= SELECT_LEX::NOMATTER_MODE; } @@ -1389,12 +1427,9 @@ static bool mysql_test_multiupdate(Prepared_statement *stmt, /* if we switched from normal update, rights are checked */ if (!converted && multi_update_precheck(stmt->thd, tables)) return TRUE; - /* - here we do not pass tables for opening, tables will be opened and locked - by mysql_multi_update_prepare - */ - return select_like_statement_test(stmt, 0, &mysql_multi_update_prepare, - OPTION_SETUP_TABLES_DONE); + + return select_like_stmt_test(stmt, &mysql_multi_update_prepare, + OPTION_SETUP_TABLES_DONE); } @@ -1422,9 +1457,9 @@ static int mysql_test_multidelete(Prepared_statement *stmt, uint fake_counter; if ((res= multi_delete_precheck(stmt->thd, tables, &fake_counter))) return res; - if ((res= select_like_statement_test(stmt, tables, - &mysql_multi_delete_prepare, - OPTION_SETUP_TABLES_DONE))) + if ((res= select_like_stmt_test_with_open_n_lock(stmt, tables, + &mysql_multi_delete_prepare, + OPTION_SETUP_TABLES_DONE))) return res; if (!tables->table) { @@ -1500,9 +1535,9 @@ static int mysql_test_insert_select(Prepared_statement *stmt, first_local_table= (TABLE_LIST *)lex->select_lex.table_list.first; DBUG_ASSERT(first_local_table != 0); - res= select_like_statement_test(stmt, tables, - &mysql_insert_select_prepare_tester, - OPTION_SETUP_TABLES_DONE); + res= select_like_stmt_test_with_open_n_lock(stmt, tables, + &mysql_insert_select_prepare_tester, + OPTION_SETUP_TABLES_DONE); /* revert changes made by mysql_insert_select_prepare_tester */ lex->select_lex.table_list.first= (byte*) first_local_table; lex->select_lex.resolve_mode= SELECT_LEX::INSERT_MODE; diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc index fb583448535..0284ab542df 100644 --- a/sql/sql_repl.cc +++ b/sql/sql_repl.cc @@ -456,6 +456,7 @@ impossible position"; { binlog_can_be_corrupted= test((*packet)[FLAGS_OFFSET+1] & LOG_EVENT_BINLOG_IN_USE_F); + (*packet)[FLAGS_OFFSET+1] &= ~LOG_EVENT_BINLOG_IN_USE_F; /* mark that this event with "log_pos=0", so the slave should not increment master's binlog position @@ -512,8 +513,11 @@ impossible position"; #endif if ((*packet)[EVENT_TYPE_OFFSET+1] == FORMAT_DESCRIPTION_EVENT) + { binlog_can_be_corrupted= test((*packet)[FLAGS_OFFSET+1] & LOG_EVENT_BINLOG_IN_USE_F); + (*packet)[FLAGS_OFFSET+1] &= ~LOG_EVENT_BINLOG_IN_USE_F; + } else if ((*packet)[EVENT_TYPE_OFFSET+1] == STOP_EVENT) binlog_can_be_corrupted= FALSE; diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 76d8ec1740a..277c9970595 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -5305,7 +5305,7 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond) if (!(tmp= add_found_match_trig_cond(first_inner_tab, tmp, 0))) DBUG_RETURN(1); tab->select_cond=sel->cond=tmp; - if (current_thd->variables.engine_condition_pushdown) + if (join->thd->variables.engine_condition_pushdown) { tab->table->file->pushed_cond= NULL; /* Push condition to handler */ @@ -5433,7 +5433,7 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond) join->thd->memdup((gptr) sel, sizeof(SQL_SELECT)); tab->cache.select->cond=tmp; tab->cache.select->read_tables=join->const_table_map; - if (current_thd->variables.engine_condition_pushdown && + if (join->thd->variables.engine_condition_pushdown && (!tab->table->file->pushed_cond)) { /* Push condition to handler */ @@ -8359,6 +8359,117 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List &fields, } +/****************************************************************************/ + +/* + Create a reduced TABLE object with properly set up Field list from a + list of field definitions. + + SYNOPSIS + create_virtual_tmp_table() + thd connection handle + field_list list of column definitions + + DESCRIPTION + The created table doesn't have a table handler assotiated with + it, has no keys, no group/distinct, no copy_funcs array. + The sole purpose of this TABLE object is to use the power of Field + class to read/write data to/from table->record[0]. Then one can store + the record in any container (RB tree, hash, etc). + The table is created in THD mem_root, so are the table's fields. + Consequently, if you don't BLOB fields, you don't need to free it. + + RETURN + 0 if out of memory, TABLE object in case of success +*/ + +TABLE *create_virtual_tmp_table(THD *thd, List &field_list) +{ + uint field_count= field_list.elements; + Field **field; + create_field *cdef; /* column definition */ + uint record_length= 0; + uint null_count= 0; /* number of columns which may be null */ + uint null_pack_length; /* NULL representation array length */ + TABLE_SHARE *s; + /* Create the table and list of all fields */ + TABLE *table= (TABLE*) thd->calloc(sizeof(*table)); + field= (Field**) thd->alloc((field_count + 1) * sizeof(Field*)); + if (!table || !field) + return 0; + + table->field= field; + table->s= s= &table->share_not_to_be_used; + s->fields= field_count; + + /* Create all fields and calculate the total length of record */ + List_iterator_fast it(field_list); + while ((cdef= it++)) + { + *field= make_field(0, cdef->length, + (uchar*) (f_maybe_null(cdef->pack_flag) ? "" : 0), + f_maybe_null(cdef->pack_flag) ? 1 : 0, + cdef->pack_flag, cdef->sql_type, cdef->charset, + cdef->geom_type, cdef->unireg_check, + cdef->interval, cdef->field_name, table); + if (!*field) + goto error; + record_length+= (**field).pack_length(); + if (! ((**field).flags & NOT_NULL_FLAG)) + ++null_count; + ++field; + } + *field= NULL; /* mark the end of the list */ + + null_pack_length= (null_count + 7)/8; + s->reclength= record_length + null_pack_length; + s->rec_buff_length= ALIGN_SIZE(s->reclength + 1); + table->record[0]= (byte*) thd->alloc(s->rec_buff_length); + if (!table->record[0]) + goto error; + + if (null_pack_length) + { + table->null_flags= (uchar*) table->record[0]; + s->null_fields= null_count; + s->null_bytes= null_pack_length; + } + + table->in_use= thd; /* field->reset() may access table->in_use */ + { + /* Set up field pointers */ + byte *null_pos= table->record[0]; + byte *field_pos= null_pos + s->null_bytes; + uint null_bit= 1; + + for (field= table->field; *field; ++field) + { + Field *cur_field= *field; + if ((cur_field->flags & NOT_NULL_FLAG)) + cur_field->move_field((char*) field_pos); + else + { + cur_field->move_field((char*) field_pos, (uchar*) null_pos, null_bit); + null_bit<<= 1; + if (null_bit == (1 << 8)) + { + ++null_pos; + null_bit= 1; + } + } + cur_field->reset(); + + field_pos+= cur_field->pack_length(); + } + } + return table; +error: + for (field= table->field; *field; ++field) + delete *field; /* just invokes field destructor */ + return 0; +} + + static bool open_tmp_table(TABLE *table) { int error; @@ -10421,7 +10532,7 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit, { ref_key= tab->ref.key; ref_key_parts= tab->ref.key_parts; - if (tab->type == JT_REF_OR_NULL) + if (tab->type == JT_REF_OR_NULL || tab->type == JT_FT) DBUG_RETURN(0); } else if (select && select->quick) // Range found by opt_range @@ -12897,7 +13008,21 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order, extra.append(')'); } else if (tab->select->cond) - extra.append("; Using where"); + { + const COND *pushed_cond= tab->table->file->pushed_cond; + + if (thd->variables.engine_condition_pushdown && pushed_cond) + { + extra.append("; Using where with pushed condition"); + if (thd->lex->describe & DESCRIBE_EXTENDED) + { + extra.append(": "); + ((COND *)pushed_cond)->print(&extra); + } + } + else + extra.append("; Using where"); + } } if (key_read) { diff --git a/sql/sql_select.h b/sql/sql_select.h index 1b7893dbc7c..f00fd476edd 100644 --- a/sql/sql_select.h +++ b/sql/sql_select.h @@ -387,6 +387,7 @@ TABLE *create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List &fields, ORDER *group, bool distinct, bool save_sum_fields, ulong select_options, ha_rows rows_limit, char* alias); +TABLE *create_virtual_tmp_table(THD *thd, List &field_list); void free_tmp_table(THD *thd, TABLE *entry); void count_field_types(TMP_TABLE_PARAM *param, List &fields, bool reset_with_sum_func); diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 4ffe7110cfa..e0fc570015d 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -703,7 +703,15 @@ static void append_directory(THD *thd, String *packet, const char *dir_type, packet->append(' '); packet->append(dir_type); packet->append(" DIRECTORY='", 12); +#ifdef __WIN__ + char *winfilename = thd->memdup(filename, length); + for (uint i=0; i < length; i++) + if (winfilename[i] == '\\') + winfilename[i] = '/'; + packet->append(winfilename, length); +#else packet->append(filename, length); +#endif packet->append('\''); } } diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 7ab1a0a3777..2f872b2ad05 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -431,6 +431,173 @@ void calculate_interval_lengths(CHARSET_INFO *cs, TYPELIB *interval, } +/* + Prepare a create_table instance for packing + + SYNOPSIS + prepare_create_field() + sql_field field to prepare for packing + blob_columns count for BLOBs + timestamps count for timestamps + table_flags table flags + + DESCRIPTION + This function prepares a create_field instance. + Fields such as pack_flag are valid after this call. + + RETURN VALUES + 0 ok + 1 Error +*/ + +int prepare_create_field(create_field *sql_field, + uint &blob_columns, + int ×tamps, int ×tamps_with_niladic, + uint table_flags) +{ + DBUG_ENTER("prepare_field"); + { + /* This code came from mysql_prepare_table. + Indent preserved to make patching easier */ + DBUG_ASSERT(sql_field->charset); + + switch (sql_field->sql_type) { + case FIELD_TYPE_BLOB: + case FIELD_TYPE_MEDIUM_BLOB: + case FIELD_TYPE_TINY_BLOB: + case FIELD_TYPE_LONG_BLOB: + sql_field->pack_flag=FIELDFLAG_BLOB | + pack_length_to_packflag(sql_field->pack_length - + portable_sizeof_char_ptr); + if (sql_field->charset->state & MY_CS_BINSORT) + sql_field->pack_flag|=FIELDFLAG_BINARY; + sql_field->length=8; // Unireg field length + sql_field->unireg_check=Field::BLOB_FIELD; + blob_columns++; + break; + case FIELD_TYPE_GEOMETRY: +#ifdef HAVE_SPATIAL + if (!(table_flags & HA_CAN_GEOMETRY)) + { + my_printf_error(ER_CHECK_NOT_IMPLEMENTED, ER(ER_CHECK_NOT_IMPLEMENTED), + MYF(0), "GEOMETRY"); + DBUG_RETURN(1); + } + sql_field->pack_flag=FIELDFLAG_GEOM | + pack_length_to_packflag(sql_field->pack_length - + portable_sizeof_char_ptr); + if (sql_field->charset->state & MY_CS_BINSORT) + sql_field->pack_flag|=FIELDFLAG_BINARY; + sql_field->length=8; // Unireg field length + sql_field->unireg_check=Field::BLOB_FIELD; + blob_columns++; + break; +#else + my_printf_error(ER_FEATURE_DISABLED,ER(ER_FEATURE_DISABLED), MYF(0), + sym_group_geom.name, sym_group_geom.needed_define); + DBUG_RETURN(1); +#endif /*HAVE_SPATIAL*/ + case MYSQL_TYPE_VARCHAR: +#ifndef QQ_ALL_HANDLERS_SUPPORT_VARCHAR + if (table_flags & HA_NO_VARCHAR) + { + /* convert VARCHAR to CHAR because handler is not yet up to date */ + sql_field->sql_type= MYSQL_TYPE_VAR_STRING; + sql_field->pack_length= calc_pack_length(sql_field->sql_type, + (uint) sql_field->length); + if ((sql_field->length / sql_field->charset->mbmaxlen) > + MAX_FIELD_CHARLENGTH) + { + my_printf_error(ER_TOO_BIG_FIELDLENGTH, ER(ER_TOO_BIG_FIELDLENGTH), + MYF(0), sql_field->field_name, MAX_FIELD_CHARLENGTH); + DBUG_RETURN(1); + } + } +#endif + /* fall through */ + case FIELD_TYPE_STRING: + sql_field->pack_flag=0; + if (sql_field->charset->state & MY_CS_BINSORT) + sql_field->pack_flag|=FIELDFLAG_BINARY; + break; + case FIELD_TYPE_ENUM: + sql_field->pack_flag=pack_length_to_packflag(sql_field->pack_length) | + FIELDFLAG_INTERVAL; + if (sql_field->charset->state & MY_CS_BINSORT) + sql_field->pack_flag|=FIELDFLAG_BINARY; + sql_field->unireg_check=Field::INTERVAL_FIELD; + check_duplicates_in_interval("ENUM",sql_field->field_name, + sql_field->interval, + sql_field->charset); + break; + case FIELD_TYPE_SET: + sql_field->pack_flag=pack_length_to_packflag(sql_field->pack_length) | + FIELDFLAG_BITFIELD; + if (sql_field->charset->state & MY_CS_BINSORT) + sql_field->pack_flag|=FIELDFLAG_BINARY; + sql_field->unireg_check=Field::BIT_FIELD; + check_duplicates_in_interval("SET",sql_field->field_name, + sql_field->interval, + sql_field->charset); + break; + case FIELD_TYPE_DATE: // Rest of string types + case FIELD_TYPE_NEWDATE: + case FIELD_TYPE_TIME: + case FIELD_TYPE_DATETIME: + case FIELD_TYPE_NULL: + sql_field->pack_flag=f_settype((uint) sql_field->sql_type); + break; + case FIELD_TYPE_BIT: + if (!(table_flags & HA_CAN_BIT_FIELD)) + { + my_error(ER_CHECK_NOT_IMPLEMENTED, MYF(0), "BIT FIELD"); + DBUG_RETURN(1); + } + sql_field->pack_flag= FIELDFLAG_NUMBER; + break; + case FIELD_TYPE_NEWDECIMAL: + sql_field->pack_flag=(FIELDFLAG_NUMBER | + (sql_field->flags & UNSIGNED_FLAG ? 0 : + FIELDFLAG_DECIMAL) | + (sql_field->flags & ZEROFILL_FLAG ? + FIELDFLAG_ZEROFILL : 0) | + (sql_field->decimals << FIELDFLAG_DEC_SHIFT)); + break; + case FIELD_TYPE_TIMESTAMP: + /* We should replace old TIMESTAMP fields with their newer analogs */ + if (sql_field->unireg_check == Field::TIMESTAMP_OLD_FIELD) + { + if (!timestamps) + { + sql_field->unireg_check= Field::TIMESTAMP_DNUN_FIELD; + timestamps_with_niladic++; + } + else + sql_field->unireg_check= Field::NONE; + } + else if (sql_field->unireg_check != Field::NONE) + timestamps_with_niladic++; + + timestamps++; + /* fall-through */ + default: + sql_field->pack_flag=(FIELDFLAG_NUMBER | + (sql_field->flags & UNSIGNED_FLAG ? 0 : + FIELDFLAG_DECIMAL) | + (sql_field->flags & ZEROFILL_FLAG ? + FIELDFLAG_ZEROFILL : 0) | + f_settype((uint) sql_field->sql_type) | + (sql_field->decimals << FIELDFLAG_DEC_SHIFT)); + break; + } + if (!(sql_field->flags & NOT_NULL_FLAG)) + sql_field->pack_flag|= FIELDFLAG_MAYBE_NULL; + if (sql_field->flags & NO_DEFAULT_VALUE_FLAG) + sql_field->pack_flag|= FIELDFLAG_NO_DEFAULT; + } + DBUG_RETURN(0); +} + /* Preparation for table creation @@ -690,142 +857,17 @@ int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info, { DBUG_ASSERT(sql_field->charset != 0); - switch (sql_field->sql_type) { - case FIELD_TYPE_BLOB: - case FIELD_TYPE_MEDIUM_BLOB: - case FIELD_TYPE_TINY_BLOB: - case FIELD_TYPE_LONG_BLOB: - sql_field->pack_flag=FIELDFLAG_BLOB | - pack_length_to_packflag(sql_field->pack_length - - portable_sizeof_char_ptr); - if (sql_field->charset->state & MY_CS_BINSORT) - sql_field->pack_flag|=FIELDFLAG_BINARY; - sql_field->length=8; // Unireg field length - sql_field->unireg_check=Field::BLOB_FIELD; - blob_columns++; - create_info->varchar= 1; - break; - case FIELD_TYPE_GEOMETRY: -#ifdef HAVE_SPATIAL - if (!(file->table_flags() & HA_CAN_GEOMETRY)) - { - my_error(ER_CHECK_NOT_IMPLEMENTED, MYF(0), "GEOMETRY"); - DBUG_RETURN(-1); - } - sql_field->pack_flag=FIELDFLAG_GEOM | - pack_length_to_packflag(sql_field->pack_length - - portable_sizeof_char_ptr); - if (sql_field->charset->state & MY_CS_BINSORT) - sql_field->pack_flag|=FIELDFLAG_BINARY; - sql_field->length=8; // Unireg field length - sql_field->unireg_check=Field::BLOB_FIELD; - blob_columns++; - create_info->varchar= 1; - break; -#else - my_error(ER_FEATURE_DISABLED, MYF(0), - sym_group_geom.name, sym_group_geom.needed_define); + if (prepare_create_field(sql_field, blob_columns, + timestamps, timestamps_with_niladic, + file->table_flags())) DBUG_RETURN(-1); -#endif /*HAVE_SPATIAL*/ - case MYSQL_TYPE_VARCHAR: -#ifndef QQ_ALL_HANDLERS_SUPPORT_VARCHAR - if (file->table_flags() & HA_NO_VARCHAR) - { - /* convert VARCHAR to CHAR because handler is not yet up to date */ - sql_field->sql_type= MYSQL_TYPE_VAR_STRING; - sql_field->pack_length= calc_pack_length(sql_field->sql_type, - (uint) sql_field->length); - if ((sql_field->length / sql_field->charset->mbmaxlen) > - MAX_FIELD_CHARLENGTH) - { - my_printf_error(ER_TOO_BIG_FIELDLENGTH, ER(ER_TOO_BIG_FIELDLENGTH), - MYF(0), sql_field->field_name, MAX_FIELD_CHARLENGTH); - DBUG_RETURN(-1); - } - } - else -#endif - create_info->varchar= 1; - /* fall through */ - case MYSQL_TYPE_STRING: - sql_field->pack_flag=0; - if (sql_field->charset->state & MY_CS_BINSORT) - sql_field->pack_flag|= FIELDFLAG_BINARY; - break; - case FIELD_TYPE_ENUM: - sql_field->pack_flag=pack_length_to_packflag(sql_field->pack_length) | - FIELDFLAG_INTERVAL; - if (sql_field->charset->state & MY_CS_BINSORT) - sql_field->pack_flag|=FIELDFLAG_BINARY; - sql_field->unireg_check=Field::INTERVAL_FIELD; - check_duplicates_in_interval("ENUM",sql_field->field_name, - sql_field->interval, - sql_field->charset); - break; - case FIELD_TYPE_SET: - sql_field->pack_flag=pack_length_to_packflag(sql_field->pack_length) | - FIELDFLAG_BITFIELD; - if (sql_field->charset->state & MY_CS_BINSORT) - sql_field->pack_flag|=FIELDFLAG_BINARY; - sql_field->unireg_check=Field::BIT_FIELD; - check_duplicates_in_interval("SET",sql_field->field_name, - sql_field->interval, - sql_field->charset); - break; - case FIELD_TYPE_DATE: // Rest of string types - case FIELD_TYPE_NEWDATE: - case FIELD_TYPE_TIME: - case FIELD_TYPE_DATETIME: - case FIELD_TYPE_NULL: - sql_field->pack_flag=f_settype((uint) sql_field->sql_type); - break; - case FIELD_TYPE_BIT: - if (!(file->table_flags() & HA_CAN_BIT_FIELD)) - { - my_error(ER_CHECK_NOT_IMPLEMENTED, MYF(0), "BIT FIELD"); - DBUG_RETURN(-1); - } - sql_field->pack_flag= FIELDFLAG_NUMBER; - break; - case FIELD_TYPE_NEWDECIMAL: - sql_field->pack_flag=(FIELDFLAG_NUMBER | - (sql_field->flags & UNSIGNED_FLAG ? 0 : - FIELDFLAG_DECIMAL) | - (sql_field->flags & ZEROFILL_FLAG ? - FIELDFLAG_ZEROFILL : 0) | - (sql_field->decimals << FIELDFLAG_DEC_SHIFT)); - break; - case FIELD_TYPE_TIMESTAMP: - /* We should replace old TIMESTAMP fields with their newer analogs */ - if (sql_field->unireg_check == Field::TIMESTAMP_OLD_FIELD) - { - if (!timestamps) - { - sql_field->unireg_check= Field::TIMESTAMP_DNUN_FIELD; - timestamps_with_niladic++; - } - else - sql_field->unireg_check= Field::NONE; - } - else if (sql_field->unireg_check != Field::NONE) - timestamps_with_niladic++; - - timestamps++; - /* fall-through */ - default: - sql_field->pack_flag=(FIELDFLAG_NUMBER | - (sql_field->flags & UNSIGNED_FLAG ? 0 : - FIELDFLAG_DECIMAL) | - (sql_field->flags & ZEROFILL_FLAG ? - FIELDFLAG_ZEROFILL : 0) | - f_settype((uint) sql_field->sql_type) | - (sql_field->decimals << FIELDFLAG_DEC_SHIFT)); - break; - } - if (!(sql_field->flags & NOT_NULL_FLAG)) - sql_field->pack_flag|= FIELDFLAG_MAYBE_NULL; - if (sql_field->flags & NO_DEFAULT_VALUE_FLAG) - sql_field->pack_flag|= FIELDFLAG_NO_DEFAULT; + if (sql_field->sql_type == FIELD_TYPE_BLOB || + sql_field->sql_type == FIELD_TYPE_MEDIUM_BLOB || + sql_field->sql_type == FIELD_TYPE_TINY_BLOB || + sql_field->sql_type == FIELD_TYPE_LONG_BLOB || + sql_field->sql_type == FIELD_TYPE_GEOMETRY || + sql_field->sql_type == MYSQL_TYPE_VARCHAR) + create_info->varchar= 1; sql_field->offset= pos; if (MTYP_TYPENR(sql_field->unireg_check) == Field::NEXT_NUMBER) auto_increment++; @@ -1592,6 +1634,8 @@ TABLE *create_table_from_items(THD *thd, HA_CREATE_INFO *create_info, ((Item_field *)item)->field : (Field*) 0)))) DBUG_RETURN(0); + if (item->maybe_null) + cr_field->flags &= ~NOT_NULL_FLAG; extra_fields->push_back(cr_field); } /* @@ -2100,7 +2144,9 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables, thd->exit_cond(old_message); if (thd->killed) goto err; - open_for_modify=0; + /* Flush entries in the query cache involving this table. */ + query_cache_invalidate3(thd, table->table, 0); + open_for_modify= 0; } result_code = (table->table->file->*operator_func)(thd, check_opt); diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index fae01502a8d..56dd6409eba 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -1372,19 +1372,37 @@ create_function_tail: RETURNS_SYM { LEX *lex= Lex; - sp_head *sp= lex->sphead; - - sp->m_returns_begin= lex->tok_start; - sp->m_returns_cs= lex->charset= NULL; + lex->charset= NULL; + lex->length= lex->dec= NULL; + lex->interval_list.empty(); + lex->type= 0; } type { LEX *lex= Lex; sp_head *sp= lex->sphead; + LEX_STRING cmt = { 0, 0 }; + create_field *new_field; + uint unused1= 0; + int unused2= 0; + + if (!(new_field= new_create_field(YYTHD, "", (enum enum_field_types)$8, + lex->length, lex->dec, lex->type, + (Item *)0, (Item *) 0, &cmt, 0, &lex->interval_list, + (lex->charset ? lex->charset : default_charset_info), + lex->uint_geom_type))) + YYABORT; + + if (prepare_create_field(new_field, unused1, unused2, unused2, 0)) + YYABORT; + + sp->m_returns= new_field->sql_type; + sp->m_returns_cs= new_field->charset; + sp->m_returns_len= new_field->length; + sp->m_returns_pack= new_field->pack_flag; + sp->m_returns_typelib= + sp->create_typelib(&new_field->interval_list); - sp->m_returns_end= lex->tok_start; - sp->m_returns= (enum enum_field_types)$8; - sp->m_returns_cs= lex->charset; bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics)); } sp_c_chistics @@ -4736,6 +4754,8 @@ udf_expr: sum_expr: AVG_SYM '(' in_sum_expr ')' { $$=new Item_sum_avg($3); } + | AVG_SYM '(' DISTINCT in_sum_expr ')' + { $$=new Item_sum_avg_distinct($4); } | BIT_AND '(' in_sum_expr ')' { $$=new Item_sum_and($3); } | BIT_OR '(' in_sum_expr ')' diff --git a/sql/unireg.cc b/sql/unireg.cc index dd94098fbf3..3e85767dc86 100644 --- a/sql/unireg.cc +++ b/sql/unireg.cc @@ -695,6 +695,7 @@ static bool make_empty_rec(File file,enum db_type table_type, field->interval, field->field_name, &table); + DBUG_ASSERT(regfield); if (!(field->flags & NOT_NULL_FLAG)) null_count++; diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh index 892de3001d1..9e5c7ea6983 100644 --- a/support-files/mysql.server.sh +++ b/support-files/mysql.server.sh @@ -53,8 +53,21 @@ then basedir=@prefix@ bindir=@bindir@ datadir=@localstatedir@ + sbindir=@sbindir@ else bindir="$basedir/bin" + sbindir="$basedir/sbin" +fi + +# +# Use LSB init script functions for printing messages, if possible +# +lsb_functions="/lib/lsb/init-functions" +if test -f $lsb_functions ; then + source $lsb_functions +else + alias log_success_msg="echo \ SUCCESS! " + alias log_failure_msg="echo \ ERROR! " fi PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin @@ -68,18 +81,39 @@ case `echo "testing\c"`,`echo -n testing` in *) echo_n= echo_c='\c' ;; esac -parse_arguments() { +parse_server_arguments() { for arg do case "$arg" in --basedir=*) basedir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;; --datadir=*) datadir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;; + esac + done +} + +parse_manager_arguments() { + for arg do + case "$arg" in --pid-file=*) pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;; esac done } +wait_for_pid () { + for((i=0; i<35; i++)); do + sleep 1 + test -s $pid_file && i='' && break + echo $echo_n ".$echo_c" + done + + if test -z "$i" ; then + log_success_msg + else + log_failure_msg + fi +} + # Get arguments from the my.cnf file, -# groups [mysqld] [mysql_server] and [mysql.server] +# the only group, which is read from now on is [mysqld] if test -x ./bin/my_print_defaults then print_defaults="./bin/my_print_defaults" @@ -128,14 +162,17 @@ then extra_args="-e $datadir/my.cnf" fi -parse_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server` +parse_server_arguments `$print_defaults $extra_args mysqld` + +# Look for the pidfile +parse_manager_arguments `$print_defaults $extra_args manager` # # Set pid file if not given # if test -z "$pid_file" then - pid_file=$datadir/`@HOSTNAME@`.pid + pid_file=$datadir/mysqlmanager-`@HOSTNAME@`.pid else case "$pid_file" in /* ) ;; @@ -143,6 +180,9 @@ else esac fi +user=@MYSQLD_USER@ +USER_OPTION="--user=$user" + # Safeguard (relative paths, core dumps..) cd $basedir @@ -150,18 +190,21 @@ case "$mode" in 'start') # Start daemon - if test -x $bindir/mysqld_safe + if test -x $sbindir/mysqlmanager then # Give extra arguments to mysqld with the my.cnf file. This script may # be overwritten at next upgrade. - $bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file >/dev/null 2>&1 & + echo $echo_n "Starting MySQL" + $sbindir/mysqlmanager $USER_OPTION --pid-file=$pid_file >/dev/null 2>&1 & + wait_for_pid + # Make lock for RedHat / SuSE if test -w /var/lock/subsys then - touch /var/lock/subsys/mysql + touch /var/lock/subsys/mysqlmanager fi else - echo "Can't execute $bindir/mysqld_safe from dir $basedir" + log_failure_msg "Can't execute $sbindir/mysqlmanager" fi ;; @@ -170,30 +213,19 @@ case "$mode" in # root password. if test -s "$pid_file" then - mysqld_pid=`cat $pid_file` - echo "Killing mysqld with pid $mysqld_pid" - kill $mysqld_pid - # mysqld should remove the pid_file when it exits, so wait for it. + mysqlmanager_pid=`cat $pid_file` + echo $echo_n "Shutting down MySQL" + kill $mysqlmanager_pid + # mysqlmanager should remove the pid_file when it exits, so wait for it. + wait_for_pid - sleep 1 - while [ -s $pid_file -a "$flags" != aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ] - do - [ -z "$flags" ] && echo $echo_n "Wait for mysqld to exit$echo_c" || echo $echo_n ".$echo_c" - flags=a$flags - sleep 1 - done - if [ -s $pid_file ] - then echo " gave up waiting!" - elif [ -n "$flags" ] - then echo " done" - fi # delete lock for RedHat / SuSE - if test -f /var/lock/subsys/mysql + if test -f /var/lock/subsys/mysqlmanager then - rm -f /var/lock/subsys/mysql + rm -f /var/lock/subsys/mysqlmanager fi else - echo "No mysqld pid file found. Looked for $pid_file." + log_failure_msg "mysqlmanager PID file could not be found!" fi ;; @@ -202,7 +234,7 @@ case "$mode" in # running or not, start it again. $0 stop $0 start - ;; + ;; *) # usage diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh index a7ee5fa8a07..b062930041a 100644 --- a/support-files/mysql.spec.sh +++ b/support-files/mysql.spec.sh @@ -429,9 +429,11 @@ ln -s %{_sysconfdir}/init.d/mysql $RPM_BUILD_ROOT%{_sbindir}/rcmysql # (safe_mysqld will be gone in MySQL 4.1) ln -sf ./mysqld_safe $RBR%{_bindir}/safe_mysqld -# Touch the place where the my.cnf config file might be located +# Touch the place where the my.cnf config file and mysqlmanager.passwd +# (MySQL Instance Manager password file) might be located # Just to make sure it's in the file list and marked as a config file touch $RBR%{_sysconfdir}/my.cnf +touch $RBR%{_sysconfdir}/mysqlmanager.passwd %pre server # Shut down a previously installed server first @@ -551,6 +553,7 @@ fi %doc %attr(644, root, man) %{_mandir}/man1/replace.1* %ghost %config(noreplace,missingok) %{_sysconfdir}/my.cnf +%ghost %config(noreplace,missingok) %{_sysconfdir}/mysqlmanager.passwd %attr(755, root, root) %{_bindir}/my_print_defaults %attr(755, root, root) %{_bindir}/myisamchk @@ -579,6 +582,7 @@ fi %attr(755, root, root) %{_bindir}/safe_mysqld %attr(755, root, root) %{_sbindir}/mysqld +%attr(755, root, root) %{_sbindir}/mysqlmanager %attr(755, root, root) %{_sbindir}/rcmysql %attr(644, root, root) %{_libdir}/mysql/mysqld.sym @@ -690,9 +694,14 @@ fi # itself - note that they must be ordered by date (important when # merging BK trees) %changelog +* Sun Feb 20 2005 Petr Chardin + +- Install MySQL Instance Manager together with mysqld, toch mysqlmanager + password file + * Mon Feb 14 2005 Lenz Grimmer -* Fixed the compilation comments and moved them into the separate build sections +- Fixed the compilation comments and moved them into the separate build sections for Max and Standard * Mon Feb 7 2005 Tomas Ulin