mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
merge
BitKeeper/etc/logging_ok: auto-union configure.in: Auto merged libmysqld/Makefile.am: Auto merged mysql-test/mysql-test-run.sh: Auto merged sql/field.cc: Auto merged sql/field.h: Auto merged sql/log_event.cc: Auto merged sql/mysqld.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_yacc.yy: Auto merged storage/bdb/dist/configure.ac: Auto merged storage/innobase/os/os0file.c: Auto merged storage/innobase/os/os0sync.c: Auto merged storage/myisam/mi_check.c: Auto merged storage/myisam/mi_open.c: Auto merged storage/ndb/src/common/logger/Logger.cpp: Auto merged storage/ndb/src/cw/cpcd/main.cpp: Auto merged storage/ndb/test/ndbapi/testBlobs.cpp: Auto merged storage/ndb/tools/restore/consumer_restore.cpp: Auto merged
This commit is contained in:
commit
a52035d1de
115 changed files with 1580 additions and 796 deletions
|
@ -204,6 +204,7 @@ ndbdev@ndbmaster.mysql.com
|
|||
ndbdev@shark.
|
||||
nick@mysql.com
|
||||
nick@nick.leippe.com
|
||||
obarnir@mysql.com
|
||||
papa@gbichot.local
|
||||
patg@krsna.
|
||||
patg@krsna.patg.net
|
||||
|
|
|
@ -43,7 +43,7 @@ RSC=rc.exe
|
|||
# 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 /O2 /I "../include" /I "../" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
|
||||
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /I "../extra/yassl/include" /D "NDEBUG" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
|
||||
# SUBTRACT CPP /WX /Fr /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
|
@ -52,7 +52,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib /nologo /subsystem:console /debug /machine:I386 /out:"../client_release/mysql.exe" /libpath:"..\lib_release\\"
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /debug /machine:I386 /out:"../client_release/mysql.exe" /libpath:"..\lib_release\\"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysql - Win32 Debug"
|
||||
|
@ -69,7 +69,7 @@ LINK32=xilink6.exe
|
|||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /G6 /MTd /W3 /Z7 /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
|
||||
# ADD CPP /nologo /G6 /MTd /W3 /Z7 /Od /I "../include" /I "../" /I "../extra/yassl/include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /FD /c
|
||||
# SUBTRACT CPP /Fr /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
|
@ -78,7 +78,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysql.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib ..\extra\yassl\Debug\yassl.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysql.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysql - Win32 classic"
|
||||
|
||||
|
@ -94,9 +94,9 @@ LINK32=xilink6.exe
|
|||
# PROP Intermediate_Dir "classic"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# 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
|
||||
# ADD BASE CPP /nologo /G6 /MT /W3 /WX /O2 /I "../include" /I "../" /I "../extra/yassl/include" /D "DBUG_OFF" /D "_CONSOLE" /D "_MBCS" /D "_WINDOWS" /D "NDEBUG" /FD /c
|
||||
# SUBTRACT BASE CPP /YX
|
||||
# ADD CPP /nologo /G6 /MT /W3 /WX /O2 /I "../include" /I "../" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /FD /c
|
||||
# ADD CPP /nologo /G6 /MT /W3 /WX /O2 /I "../include" /I "../" /I "../extra/yassl/include" /D "_CONSOLE" /D "_WINDOWS" /D LICENSE=Commercial /D "DBUG_OFF" /D "_MBCS" /D "NDEBUG" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
|
@ -106,7 +106,7 @@ BSC32=bscmake.exe
|
|||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 mysqlclient.lib mysys.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 /machine:I386 /out:"../client_release/mysql.exe" /libpath:"..\lib_release\\"
|
||||
# SUBTRACT BASE LINK32 /incremental:yes
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib /nologo /subsystem:console /debug /machine:I386 /out:"../client_classic/mysql.exe" /libpath:"..\lib_release\\"
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /debug /machine:I386 /out:"../client_classic/mysql.exe" /libpath:"..\lib_release\\"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ENDIF
|
||||
|
|
|
@ -52,7 +52,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqladmin.exe" /libpath:"..\lib_release\\"
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqladmin.exe" /libpath:"..\lib_release\\"
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqladmin - Win32 Debug"
|
||||
|
||||
|
@ -77,7 +77,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqladmin.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib ..\extra\yassl\Debug\yassl.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqladmin.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqladmin - Win32 classic"
|
||||
|
||||
|
@ -104,7 +104,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.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 /machine:I386 /out:"../client_release/mysqladmin.exe" /libpath:"..\lib_release\\"
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqladmin.exe" /libpath:"..\lib_release\\"
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqladmin.exe" /libpath:"..\lib_release\\"
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ RSC=rc.exe
|
|||
# PROP Intermediate_Dir "release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /D "NDEBUG" /FD /c
|
||||
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /I "../extra/yassl/include" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /D "NDEBUG" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409
|
||||
# ADD RSC /l 0x409
|
||||
|
@ -66,7 +66,7 @@ LIB32=xilink6.exe -lib
|
|||
# PROP Intermediate_Dir "debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD CPP /nologo /G6 /MTd /W3 /Z7 /Od /I "../include" /I "../" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /FD /c
|
||||
# ADD CPP /nologo /G6 /MTd /W3 /Z7 /Od /I "../include" /I "../" /I "../extra/yassl/include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409
|
||||
# ADD RSC /l 0x409
|
||||
|
@ -91,7 +91,7 @@ LIB32=xilink6.exe -lib
|
|||
# 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 /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /D "NDEBUG" /D "CHECK_LICENSE" /D LICENSE=Commercial /FD /c
|
||||
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /I "../extra/yassl/include" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /D "NDEBUG" /D "CHECK_LICENSE" /D LICENSE=Commercial /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409
|
||||
# ADD RSC /l 0x409
|
||||
|
@ -155,10 +155,6 @@ SOURCE="..\strings\ctype-czech.c"
|
|||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\strings\ctype-cp932.c"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\strings\ctype-euc_kr.c"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
@ -330,6 +326,10 @@ SOURCE=..\mysys\mulalloc.c
|
|||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\mysys\my_access.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\mysys\my_alloc.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
@ -487,6 +487,10 @@ SOURCE=..\sql\net_serv.cpp
|
|||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\libmysql\manager.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\libmysql\pack.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
|
|
@ -52,7 +52,7 @@ BSC32=bscmake.exe
|
|||
# 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 mysys.lib /nologo /subsystem:console /machine:I386
|
||||
# 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 mysys.lib zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqldump.exe" /libpath:"..\lib_release\\"
|
||||
# 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 mysys.lib zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqldump.exe" /libpath:"..\lib_release\\"
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqldump - Win32 Debug"
|
||||
|
||||
|
@ -77,7 +77,7 @@ BSC32=bscmake.exe
|
|||
# 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 mysys.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# 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 mysys.lib zlib.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqldump.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
|
||||
# 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 mysys.lib zlib.lib ..\extra\yassl\Debug\yassl.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqldump.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqldump - Win32 classic"
|
||||
|
||||
|
@ -104,7 +104,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.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 /machine:I386 /out:"../client_release/mysqldump.exe" /libpath:"..\lib_release\\"
|
||||
# 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 mysys.lib zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqldump.exe" /libpath:"..\lib_release\\"
|
||||
# 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 mysys.lib zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqldump.exe" /libpath:"..\lib_release\\"
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\"
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqlimport - Win32 Debug"
|
||||
|
@ -78,7 +78,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib setargv.obj /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqlimport.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib setargv.obj ..\extra\yassl\Debug\yassl.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqlimport.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqlimport - Win32 classic"
|
||||
|
||||
|
@ -106,7 +106,7 @@ BSC32=bscmake.exe
|
|||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 mysqlclient.lib mysys.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 /machine:I386 /out:"../client_release/mysqlimport.exe" /libpath:"..\lib_release\\"
|
||||
# SUBTRACT BASE LINK32 /incremental:yes
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqlimport.exe" /libpath:"..\lib_release\\"
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqlimport.exe" /libpath:"..\lib_release\\"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ENDIF
|
||||
|
|
|
@ -52,7 +52,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\"
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\"
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqlshow - Win32 Debug"
|
||||
|
||||
|
@ -77,7 +77,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqlshow.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib ..\extra\yassl\Debug\yassl.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqlshow.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqlshow - Win32 classic"
|
||||
|
||||
|
@ -104,7 +104,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 mysqlclient.lib mysys.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 /machine:I386 /out:"../client_release/mysqlshow.exe" /libpath:"..\lib_release\\"
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqlshow.exe" /libpath:"..\lib_release\\"
|
||||
# ADD LINK32 mysqlclient.lib mysys.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 zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqlshow.exe" /libpath:"..\lib_release\\"
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
|
|
@ -42,8 +42,8 @@ RSC=rc.exe
|
|||
# PROP Output_Dir ".\debug"
|
||||
# PROP Intermediate_Dir ".\debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /I "../extra" /I "../include" /I "../regex" /I "../" /Z7 /W3 /Od /G6 /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_WINDOWS" /D "_MBCS" /Fp".\debug/mysqltest.pch" /Fo".\debug/" /Fd".\debug/" /GZ /c /GX
|
||||
# ADD CPP /nologo /MTd /I "../extra" /I "../include" /I "../regex" /I "../" /Z7 /W3 /Od /G6 /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_WINDOWS" /D "_MBCS" /Fp".\debug/mysqltest.pch" /Fo".\debug/" /Fd".\debug/" /GZ /c /GX
|
||||
# ADD BASE CPP /nologo /MTd /I "../extra" /I "../include" /I "../regex" /I "../extra/yassl/include" /I "../" /Z7 /W3 /Od /G6 /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_WINDOWS" /D "_MBCS" /Fp".\debug/mysqltest.pch" /Fo".\debug/" /Fd".\debug/" /GZ /FD /c /GX
|
||||
# ADD CPP /nologo /MTd /I "../extra" /I "../include" /I "../regex" /I "../extra/yassl/include" /I "../" /Z7 /W3 /Od /G6 /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_CONSOLE" /D "_WINDOWS" /D "_MBCS" /Fp".\debug/mysqltest.pch" /Fo".\debug/" /Fd".\debug/" /GZ /FD /c /GX
|
||||
# ADD BASE MTL /nologo /tlb".\debug\mysqltest.tlb" /win32
|
||||
# ADD MTL /nologo /tlb".\debug\mysqltest.tlb" /win32
|
||||
# ADD BASE RSC /l 1033 /d "_DEBUG"
|
||||
|
@ -52,8 +52,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:"..\client_debug\mysqltest.exe" /incremental:no /libpath:"..\lib_debug\" /debug /pdb:".\debug\mysqltest.pdb" /pdbtype:sept /subsystem:console /MACHINE:I386
|
||||
# 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:"..\client_debug\mysqltest.exe" /incremental:no /libpath:"..\lib_debug\" /debug /pdb:".\debug\mysqltest.pdb" /pdbtype:sept /subsystem:console /MACHINE:I386
|
||||
# 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 ..\extra\yassl\Debug\yassl.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\client_debug\mysqltest.exe" /incremental:no /libpath:"..\lib_debug\" /debug /pdb:".\debug\mysqltest.pdb" /pdbtype:sept /subsystem:console /MACHINE:I386
|
||||
# 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 ..\extra\yassl\Debug\yassl.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\client_debug\mysqltest.exe" /incremental:no /libpath:"..\lib_debug\" /debug /pdb:".\debug\mysqltest.pdb" /pdbtype:sept /subsystem:console /MACHINE:I386
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqltest - Win32 classic"
|
||||
|
||||
|
@ -67,8 +67,8 @@ LINK32=link.exe
|
|||
# PROP Output_Dir ".\classic"
|
||||
# PROP Intermediate_Dir ".\classic"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /I "../extra" /I "../include" /I "../regex" /I "../" /W3 /Ob1 /G6 /D "_CONSOLE" /D "_WINDOWS" /D "LICENSE=Commercial" /D "DBUG_OFF" /D "NDEBUG" /D "_MBCS" /GF /Gy /Fp".\classic/mysqltest.pch" /Fo".\classic/" /Fd".\classic/" /c /GX
|
||||
# ADD CPP /nologo /MT /I "../extra" /I "../include" /I "../regex" /I "../" /W3 /Ob1 /G6 /D "_CONSOLE" /D "_WINDOWS" /D "LICENSE=Commercial" /D "DBUG_OFF" /D "NDEBUG" /D "_MBCS" /GF /Gy /Fp".\classic/mysqltest.pch" /Fo".\classic/" /Fd".\classic/" /c /GX
|
||||
# ADD BASE CPP /nologo /MT /I "../extra" /I "../include" /I "../regex" /I "../extra/yassl/include" /I "../" /W3 /Ob1 /G6 /D "_CONSOLE" /D "_WINDOWS" /D "LICENSE=Commercial" /D "DBUG_OFF" /D "NDEBUG" /D "_MBCS" /GF /Gy /Fp".\classic/mysqltest.pch" /Fo".\classic/" /Fd".\classic/" /FD /c /GX
|
||||
# ADD CPP /nologo /MT /I "../extra" /I "../include" /I "../regex" /I "../extra/yassl/include" /I "../" /W3 /Ob1 /G6 /D "_CONSOLE" /D "_WINDOWS" /D "LICENSE=Commercial" /D "DBUG_OFF" /D "NDEBUG" /D "_MBCS" /GF /Gy /Fp".\classic/mysqltest.pch" /Fo".\classic/" /Fd".\classic/" /FD /c /GX
|
||||
# ADD BASE MTL /nologo /tlb".\classic\mysqltest.tlb" /win32
|
||||
# ADD MTL /nologo /tlb".\classic\mysqltest.tlb" /win32
|
||||
# ADD BASE RSC /l 1033 /d "NDEBUG"
|
||||
|
@ -77,8 +77,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:"..\client_classic\mysqltest.exe" /incremental:no /libpath:"..\lib_release\" /pdb:".\classic\mysqltest.pdb" /pdbtype:sept /subsystem:console /MACHINE:I386
|
||||
# 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 zlib.lib /nologo /out:"..\client_classic\mysqltest.exe" /incremental:no /libpath:"..\lib_release\" /pdb:".\classic\mysqltest.pdb" /pdbtype:sept /subsystem:console /MACHINE:I386
|
||||
# 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 ..\extra\yassl\Release\yassl.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\client_classic\mysqltest.exe" /incremental:no /libpath:"..\lib_release\" /pdb:".\classic\mysqltest.pdb" /pdbtype:sept /subsystem:console /MACHINE:I386
|
||||
# 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 ..\extra\yassl\Release\yassl.lib wsock32.lib mysys.lib regex.lib zlib.lib /nologo /out:"..\client_classic\mysqltest.exe" /incremental:no /libpath:"..\lib_release\" /pdb:".\classic\mysqltest.pdb" /pdbtype:sept /subsystem:console /MACHINE:I386
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqltest - Win32 Release"
|
||||
|
||||
|
@ -92,8 +92,8 @@ LINK32=link.exe
|
|||
# PROP Output_Dir ".\release"
|
||||
# PROP Intermediate_Dir ".\release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /I "../extra" /I "../include" /I "../regex" /I "../" /W3 /Ob1 /G6 /D "DBUG_OFF" /D "_CONSOLE" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /GF /Gy /Fp".\release/mysqltest.pch" /Fo".\release/" /Fd".\release/" /c /GX
|
||||
# ADD CPP /nologo /MT /I "../extra" /I "../include" /I "../regex" /I "../" /W3 /Ob1 /G6 /D "DBUG_OFF" /D "_CONSOLE" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /GF /Gy /Fp".\release/mysqltest.pch" /Fo".\release/" /Fd".\release/" /c /GX
|
||||
# ADD BASE CPP /nologo /MT /I "../extra" /I "../include" /I "../regex" /I "../extra/yassl/include" /I "../" /W3 /Ob1 /G6 /D "DBUG_OFF" /D "_CONSOLE" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /GF /Gy /Fp".\release/mysqltest.pch" /Fo".\release/" /Fd".\release/" /FD /c /GX
|
||||
# ADD CPP /nologo /MT /I "../extra" /I "../include" /I "../regex" /I "../extra/yassl/include" /I "../" /W3 /Ob1 /G6 /D "DBUG_OFF" /D "_CONSOLE" /D "_WINDOWS" /D "NDEBUG" /D "_MBCS" /GF /Gy /Fp".\release/mysqltest.pch" /Fo".\release/" /Fd".\release/" /FD /c /GX
|
||||
# ADD BASE MTL /nologo /tlb".\release\mysqltest.tlb" /win32
|
||||
# ADD MTL /nologo /tlb".\release\mysqltest.tlb" /win32
|
||||
# ADD BASE RSC /l 1033 /d "NDEBUG"
|
||||
|
@ -102,8 +102,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:"..\client_release\mysqltest.exe" /incremental:no /libpath:"..\lib_release\" /pdb:".\release\mysqltest.pdb" /pdbtype:sept /subsystem:console /MACHINE:I386
|
||||
# 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 zlib.lib /nologo /out:"..\client_release\mysqltest.exe" /incremental:no /libpath:"..\lib_release\" /pdb:".\release\mysqltest.pdb" /pdbtype:sept /subsystem:console /MACHINE:I386
|
||||
# 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 ..\extra\yassl\Release\yassl.lib wsock32.lib mysys.lib regex.lib /nologo /out:"..\client_release\mysqltest.exe" /incremental:no /libpath:"..\lib_release\" /pdb:".\release\mysqltest.pdb" /pdbtype:sept /subsystem:console /MACHINE:I386
|
||||
# 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 ..\extra\yassl\Release\yassl.lib wsock32.lib mysys.lib regex.lib zlib.lib /nologo /out:"..\client_release\mysqltest.exe" /incremental:no /libpath:"..\lib_release\" /pdb:".\release\mysqltest.pdb" /pdbtype:sept /subsystem:console /MACHINE:I386
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ RSC=rc.exe
|
|||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "." /I "..\include" /I "../zlib" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "NDEBUG" /D "MYSQL_CLIENT" /FD /c
|
||||
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "." /I "..\include" /I "../zlib" /I "../extra/yassl/include" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "NDEBUG" /D "MYSQL_CLIENT" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
|
||||
|
@ -54,7 +54,7 @@ BSC32=bscmake.exe
|
|||
# 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:windows /dll /machine:I386
|
||||
# ADD LINK32 mysys.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:windows /dll /machine:I386 /def:"libmysql.def" /out:"..\lib_release\libmysql.dll" /libpath:"." /libpath:"..\lib_release"
|
||||
# ADD LINK32 mysys.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 ..\extra\yassl\Release\yassl.lib /nologo /subsystem:windows /dll /machine:I386 /def:"libmysql.def" /out:"..\lib_release\libmysql.dll" /libpath:"." /libpath:"..\lib_release"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
# Begin Special Build Tool
|
||||
SOURCE="$(InputPath)"
|
||||
|
@ -76,7 +76,7 @@ PostBuild_Cmds=xcopy release\libmysql.lib ..\lib_release /y
|
|||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD CPP /nologo /G6 /MTd /W3 /Z7 /Od /I "." /I "..\include" /I "../zlib" /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /FD /c
|
||||
# ADD CPP /nologo /G6 /MTd /W3 /Z7 /Od /I "." /I "..\include" /I "../zlib" /I "../extra/yassl/include" /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
|
||||
|
@ -87,7 +87,7 @@ BSC32=bscmake.exe
|
|||
# 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:windows /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 zlib.lib mysys.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:windows /dll /incremental:no /map /debug /machine:I386 /def:"libmysql.def" /out:"..\lib_debug\libmysql.dll" /pdbtype:sept /libpath:"." /libpath:"..\lib_debug"
|
||||
# ADD LINK32 zlib.lib mysys.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 ..\extra\yassl\Debug\yassl.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /def:"libmysql.def" /out:"..\lib_debug\libmysql.dll" /pdbtype:sept /libpath:"." /libpath:"..\lib_debug"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
# Begin Special Build Tool
|
||||
SOURCE="$(InputPath)"
|
||||
|
|
|
@ -38,7 +38,7 @@ RSC=rc.exe
|
|||
# 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 /MT /W3 /GX /O2 /I "..\..\include" /I "../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "DBUG_OFF" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\include" /I "../include" /I "../../extra/yassl/include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "DBUG_OFF" /YX /FD /c
|
||||
# SUBTRACT CPP /WX /Fr
|
||||
# ADD BASE RSC /l 0x416 /d "NDEBUG"
|
||||
# ADD RSC /l 0x416 /d "NDEBUG"
|
||||
|
@ -47,7 +47,7 @@ BSC32=bscmake.exe
|
|||
# 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 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 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 /machine:I386 /nodefaultlib:"LIBCMTD" /out:"..\test_libmysqld.exe"
|
||||
# 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 ..\..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /machine:I386 /nodefaultlib:"LIBCMTD" /out:"..\test_libmysqld.exe"
|
||||
# Begin Target
|
||||
|
||||
# Name "test_libmysqld - Win32 Release"
|
||||
|
|
|
@ -45,7 +45,7 @@ RSC=rc.exe
|
|||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBMYSQLD_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../libmysqld" /I "../sql" /I "../regex" /I "../bdb/build_win32" /I "../zlib" /D "WIN32" /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__" /FD /c
|
||||
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../libmysqld" /I "../sql" /I "../regex" /I "../extra/yassl/include" /I "../bdb/build_win32" /I "../zlib" /D "WIN32" /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__" /FD /c
|
||||
# SUBTRACT CPP /WX /Fr
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
|
@ -56,7 +56,7 @@ BSC32=bscmake.exe
|
|||
# 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 /dll /machine:I386
|
||||
# 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\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\bdb.lib ..\lib_release\zlib.lib /nologo /dll /machine:I386 /out:"../lib_release/libmysqld.dll" /implib:"../lib_release/libmysqld.lib"
|
||||
# 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\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\bdb.lib ..\lib_release\zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /dll /machine:I386 /out:"../lib_release/libmysqld.dll" /implib:"../lib_release/libmysqld.lib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ELSEIF "$(CFG)" == "libmysqld - Win32 Debug"
|
||||
|
@ -73,7 +73,7 @@ LINK32=xilink6.exe
|
|||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBMYSQLD_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /Z7 /Od /I "../include" /I "../libmysqld" /I "../sql" /I "../regex" /I "../bdb/build_win32" /I "../zlib" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "SAFEMALLOC" /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 "__WIN__" /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /Z7 /Od /I "../include" /I "../libmysqld" /I "../sql" /I "../regex" /I "../extra/yassl/include" /I "../bdb/build_win32" /I "../zlib" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "SAFEMALLOC" /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 "__WIN__" /FD /GZ /c
|
||||
# SUBTRACT CPP /X /Fr
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
|
@ -84,7 +84,7 @@ BSC32=bscmake.exe
|
|||
# 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 /dll /debug /machine:I386 /pdbtype:sept
|
||||
# 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_tls.lib ..\lib_debug\mysys_tls.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap_tls.lib ..\lib_debug\innodb.lib /nologo /dll /incremental:no /debug /machine:I386 /nodefaultlib:"LIBCMTD" /out:"../lib_debug/libmysqld.dll" /implib:"../lib_debug/libmysqld.lib" /pdbtype:sept
|
||||
# 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_tls.lib ..\lib_debug\mysys_tls.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap_tls.lib ..\lib_debug\innodb.lib ..\extra\yassl\Debug\yassl.lib /nologo /dll /incremental:no /debug /machine:I386 /nodefaultlib:"LIBCMTD" /out:"../lib_debug/libmysqld.dll" /implib:"../lib_debug/libmysqld.lib" /pdbtype:sept
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ELSEIF "$(CFG)" == "libmysqld - Win32 classic"
|
||||
|
@ -101,8 +101,8 @@ LINK32=xilink6.exe
|
|||
# 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 "WIN32" /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 /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WIN32" /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" /FD /c
|
||||
# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../extra/yassl/include" /I "../sql" /D "WIN32" /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 /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../extra/yassl/include" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WIN32" /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" /FD /c
|
||||
# SUBTRACT CPP /Fr
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
|
@ -112,9 +112,9 @@ 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 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 /machine:I386 /out:"../lib_release/libmysqld.dll" /implib:"../lib_release/libmysqld.lib"
|
||||
# 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 ..\extra\yassl\Release\yassl.lib /nologo /dll /machine:I386 /out:"../lib_release/libmysqld.dll" /implib:"../lib_release/libmysqld.lib"
|
||||
# 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 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 /machine:I386 /out:"../lib_classic/libmysqld.dll" /implib:"../lib_release/libmysqld.lib"
|
||||
# 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\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 ..\extra\yassl\Release\yassl.lib /nologo /dll /machine:I386 /out:"../lib_classic/libmysqld.dll" /implib:"../lib_release/libmysqld.lib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ELSEIF "$(CFG)" == "libmysqld - Win32 pro"
|
||||
|
@ -131,8 +131,8 @@ LINK32=xilink6.exe
|
|||
# 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 "WIN32" /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 /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WIN32" /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" /FD /D MYSQL_SERVER_SUFFIX=-pro /c
|
||||
# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../extra/yassl/include" /I "../sql" /D "WIN32" /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 /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../extra/yassl/include" /I "../libmysqld" /I "../sql" /I "../zlib" /D "WIN32" /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" /FD /D MYSQL_SERVER_SUFFIX=-pro /c
|
||||
# SUBTRACT CPP /X /Fr
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
|
@ -142,9 +142,9 @@ 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 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 /machine:I386 /out:"../lib_classic/libmysqld.dll" /implib:"../lib_release/libmysqld.lib"
|
||||
# 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 ..\extra\yassl\Release\yassl.lib /nologo /dll /machine:I386 /out:"../lib_classic/libmysqld.dll" /implib:"../lib_release/libmysqld.lib"
|
||||
# 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 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 /machine:I386 /out:"../lib_pro/libmysqld.dll" /implib:"../lib_release/libmysqld.lib"
|
||||
# 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\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 ..\extra\yassl\Release\yassl.lib /nologo /dll /machine:I386 /out:"../lib_pro/libmysqld.dll" /implib:"../lib_release/libmysqld.lib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
@ -172,6 +172,10 @@ SOURCE="..\sql-common\client.c"
|
|||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\mysys\charset.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\strings\ctype-latin1.c"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
|
|
@ -41,8 +41,8 @@ RSC=rc.exe
|
|||
# PROP Output_Dir ".\Debug"
|
||||
# PROP Intermediate_Dir ".\Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /I "../include" /I "../" /Z7 /W3 /Od /G6 /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /Fp".\Debug/mysql_test_run_new.pch" /Fo".\Debug/" /Fd".\Debug/" /GZ /c /GX
|
||||
# ADD CPP /nologo /MTd /I "../include" /I "../" /Z7 /W3 /Od /G6 /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /Fp".\Debug/mysql_test_run_new.pch" /Fo".\Debug/" /Fd".\Debug/" /GZ /c /GX
|
||||
# ADD BASE CPP /nologo /MTd /I "../include" /I "../" /Z7 /W3 /Od /G6 /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /Fp".\Debug/mysql_test_run_new.pch" /Fo".\Debug/" /Fd".\Debug/" /GZ /FD /c /GX
|
||||
# ADD CPP /nologo /MTd /I "../include" /I "../" /Z7 /W3 /Od /G6 /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /Fp".\Debug/mysql_test_run_new.pch" /Fo".\Debug/" /Fd".\Debug/" /GZ /FD /c /GX
|
||||
# ADD BASE MTL /nologo /tlb".\Debug\mysql_test_run_new.tlb" /win32
|
||||
# ADD MTL /nologo /tlb".\Debug\mysql_test_run_new.tlb" /win32
|
||||
# ADD BASE RSC /l 1033
|
||||
|
@ -66,8 +66,8 @@ LINK32=link.exe
|
|||
# PROP Output_Dir ".\Release"
|
||||
# PROP Intermediate_Dir ".\Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /I "../include" /I "../" /W3 /Ob1 /G6 /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /GF /Gy /Fp".\Release/mysql_test_run_new.pch" /Fo".\Release/" /Fd".\Release/" /c /GX
|
||||
# ADD CPP /nologo /MTd /I "../include" /I "../" /W3 /Ob1 /G6 /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /GF /Gy /Fp".\Release/mysql_test_run_new.pch" /Fo".\Release/" /Fd".\Release/" /c /GX
|
||||
# ADD BASE CPP /nologo /MTd /I "../include" /I "../" /W3 /Ob1 /G6 /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /GF /Gy /Fp".\Release/mysql_test_run_new.pch" /Fo".\Release/" /Fd".\Release/" /FD /c /GX
|
||||
# ADD CPP /nologo /MTd /I "../include" /I "../" /W3 /Ob1 /G6 /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /GF /Gy /Fp".\Release/mysql_test_run_new.pch" /Fo".\Release/" /Fd".\Release/" /FD /c /GX
|
||||
# ADD BASE MTL /nologo /tlb".\Release\mysql_test_run_new.tlb" /win32
|
||||
# ADD MTL /nologo /tlb".\Release\mysql_test_run_new.tlb" /win32
|
||||
# ADD BASE RSC /l 1033
|
||||
|
|
|
@ -83,6 +83,9 @@ Package=<4>
|
|||
Begin Project Dependency
|
||||
Project_Dep_Name mysys
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name yassl
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
@ -125,6 +128,9 @@ Package=<4>
|
|||
Begin Project Dependency
|
||||
Project_Dep_Name zlib
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name yassl
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
@ -305,6 +311,9 @@ Package=<4>
|
|||
Begin Project Dependency
|
||||
Project_Dep_Name mysqlclient
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name mysys
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
@ -371,6 +380,9 @@ Package=<4>
|
|||
Begin Project Dependency
|
||||
Project_Dep_Name zlib
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name yassl
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
@ -440,6 +452,9 @@ Package=<4>
|
|||
Begin Project Dependency
|
||||
Project_Dep_Name innobase
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name yassl
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
@ -467,6 +482,9 @@ Package=<4>
|
|||
Begin Project Dependency
|
||||
Project_Dep_Name mysqlclient
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name mysys
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
@ -549,6 +567,33 @@ Package=<4>
|
|||
|
||||
###############################################################################
|
||||
|
||||
Project: "yassl"=".\extra\yassl\yassl.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name taocrypt
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "taocrypt"=".\extra\yassl\taocrypt\taocrypt.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "mysys"=".\mysys\mysys.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
|
@ -656,6 +701,9 @@ Package=<4>
|
|||
Begin Project Dependency
|
||||
Project_Dep_Name zlib
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name yassl
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
@ -722,6 +770,9 @@ Package=<4>
|
|||
Begin Project Dependency
|
||||
Project_Dep_Name regex
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name yassl
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
|
|
@ -51,7 +51,7 @@ BSC32=bscmake.exe
|
|||
# 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 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 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 zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlbinlog.exe" /libpath:"..\lib_release\\"
|
||||
# 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 zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlbinlog.exe" /libpath:"..\lib_release\\"
|
||||
# SUBTRACT LINK32 /pdb:none /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqlbinlog - Win32 Debug"
|
||||
|
@ -76,7 +76,7 @@ BSC32=bscmake.exe
|
|||
# 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 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 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 zlib.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqlbinlog.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
|
||||
# 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 zlib.lib ..\extra\yassl\Debug\yassl.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqlbinlog.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqlbinlog - Win32 classic"
|
||||
|
||||
|
@ -102,7 +102,7 @@ BSC32=bscmake.exe
|
|||
LINK32=xilink6.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 /machine:I386 /out:"../client_release/mysqlbinlog.exe" /libpath:"..\lib_release\\"
|
||||
# SUBTRACT BASE LINK32 /pdb:none /debug
|
||||
# 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 zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqlbinlog.exe" /libpath:"..\lib_release\\"
|
||||
# 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 zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqlbinlog.exe" /libpath:"..\lib_release\\"
|
||||
# SUBTRACT LINK32 /pdb:none /debug
|
||||
|
||||
!ENDIF
|
||||
|
|
|
@ -51,7 +51,7 @@ BSC32=bscmake.exe
|
|||
# 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 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 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 zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlcheck.exe" /libpath:"..\lib_release\\"
|
||||
# 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 zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /machine:I386 /out:"../client_release/mysqlcheck.exe" /libpath:"..\lib_release\\"
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqlcheck - Win32 Debug"
|
||||
|
||||
|
@ -75,7 +75,7 @@ BSC32=bscmake.exe
|
|||
# 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 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 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 zlib.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqlcheck.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
|
||||
# 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 zlib.lib ..\extra\yassl\Debug\yassl.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqlcheck.exe" /pdbtype:sept /libpath:"..\lib_debug\\"
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqlcheck - Win32 classic"
|
||||
|
||||
|
@ -100,7 +100,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.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 /machine:I386 /out:"../client_release/mysqlcheck.exe" /libpath:"..\lib_release\\"
|
||||
# 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 zlib.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqlcheck.exe" /libpath:"..\lib_release\\"
|
||||
# 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 zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /machine:I386 /out:"../client_classic/mysqlcheck.exe" /libpath:"..\lib_release\\"
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 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\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_release/mysqld.exe"
|
||||
# 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\vio.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_release/mysqld.exe"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqld - Win32 Debug"
|
||||
|
@ -84,7 +84,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 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\vio.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_debug\bdb.lib ..\lib_debug\innodb.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqld-debug.exe" /pdbtype:sept
|
||||
# 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\vio.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_debug\bdb.lib ..\lib_debug\innodb.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqld-debug.exe" /pdbtype:sept
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqld - Win32 nt"
|
||||
|
||||
|
@ -111,7 +111,7 @@ BSC32=bscmake.exe
|
|||
# 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 Wsock32.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /debug /machine:I386
|
||||
# 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\vio.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 /nologo /subsystem:console /map /machine:I386 /out:"../client_release/mysqld-nt.exe"
|
||||
# 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\vio.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 ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /map /machine:I386 /out:"../client_release/mysqld-nt.exe"
|
||||
# SUBTRACT LINK32 /pdb:none /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqld - Win32 Max nt"
|
||||
|
@ -140,7 +140,7 @@ BSC32=bscmake.exe
|
|||
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 Wsock32.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:I386
|
||||
# SUBTRACT BASE LINK32 /pdb:none /debug
|
||||
# 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\vio.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\bdb.lib /nologo /subsystem:console /map /machine:I386 /out:"../client_release/mysqld-max-nt.exe"
|
||||
# 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\vio.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\bdb.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /map /machine:I386 /out:"../client_release/mysqld-max-nt.exe"
|
||||
# SUBTRACT LINK32 /pdb:none /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqld - Win32 Max"
|
||||
|
@ -168,7 +168,7 @@ BSC32=bscmake.exe
|
|||
# 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 Wsock32.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /pdb:none /debug /machine:I386
|
||||
# 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\vio.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\bdb.lib ..\lib_release\zlib.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_release/mysqld-max.exe"
|
||||
# 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\vio.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\bdb.lib ..\lib_release\zlib.lib ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_release/mysqld-max.exe"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqld - Win32 classic"
|
||||
|
@ -196,7 +196,7 @@ BSC32=bscmake.exe
|
|||
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 Wsock32.lib ..\lib_release\vio.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /pdb:none /machine:I386
|
||||
# SUBTRACT BASE LINK32 /debug
|
||||
# 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\vio.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 /pdb:none /machine:I386 /out:"../client_classic/mysqld.exe" /libpath:"..\lib_release"
|
||||
# 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\vio.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 ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_classic/mysqld.exe" /libpath:"..\lib_release"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqld - Win32 pro"
|
||||
|
@ -224,7 +224,7 @@ BSC32=bscmake.exe
|
|||
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 Wsock32.lib ..\lib_release\vio.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /pdb:none /machine:I386
|
||||
# SUBTRACT BASE LINK32 /debug
|
||||
# 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\vio.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 /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_pro/mysqld.exe" /libpath:"..\lib_release"
|
||||
# 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\vio.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 ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_pro/mysqld.exe" /libpath:"..\lib_release"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqld - Win32 classic nt"
|
||||
|
@ -253,7 +253,7 @@ BSC32=bscmake.exe
|
|||
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 Wsock32.lib ..\lib_release\vio.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /pdb:none /machine:I386
|
||||
# SUBTRACT BASE LINK32 /debug
|
||||
# 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\vio.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 /pdb:none /machine:I386 /out:"../client_classic/mysqld-nt.exe" /libpath:"..\lib_release"
|
||||
# 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\vio.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 ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_classic/mysqld-nt.exe" /libpath:"..\lib_release"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqld - Win32 pro nt"
|
||||
|
@ -272,7 +272,7 @@ LINK32=xilink6.exe
|
|||
# PROP Target_Dir ""
|
||||
# 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 /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../zlib" /I "../extra/yassl/include" /D "__NT__" /D "DBUG_OFF" /D "NDEBUG" /D "HAVE_INNOBASE_DB" /D "MYSQL_SERVER" /D LICENSE=Commercial /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D MYSQL_SERVER_SUFFIX=-pro-nt" /FD /c
|
||||
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../zlib" /I "../extra/yassl/include" /D "__NT__" /D "DBUG_OFF" /D "NDEBUG" /D "HAVE_INNOBASE_DB" /D "MYSQL_SERVER" /D LICENSE=Commercial /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /D MYSQL_SERVER_SUFFIX=-pro-nt /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
|
@ -282,7 +282,7 @@ BSC32=bscmake.exe
|
|||
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 Wsock32.lib ..\lib_release\vio.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /pdb:none /machine:I386
|
||||
# SUBTRACT BASE LINK32 /debug
|
||||
# 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\vio.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 /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_pro/mysqld-nt.exe" /libpath:"..\lib_release"
|
||||
# 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\vio.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 ..\extra\yassl\Release\yassl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_pro/mysqld-nt.exe" /libpath:"..\lib_release"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ENDIF
|
||||
|
@ -356,6 +356,10 @@ SOURCE=.\derror.cpp
|
|||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\des_key_file.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\discover.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
|
|
@ -41,8 +41,8 @@ RSC=rc.exe
|
|||
# PROP Output_Dir ".\Debug"
|
||||
# PROP Intermediate_Dir ".\Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /I "../include" /I "../" /Z7 /W3 /Od /G6 /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /Fp".\Debug/mysql_client_test.pch" /Fo".\Debug/" /Fd".\Debug/" /GZ /c /GX
|
||||
# ADD CPP /nologo /MTd /I "../include" /I "../" /Z7 /W3 /Od /G6 /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /Fp".\Debug/mysql_client_test.pch" /Fo".\Debug/" /Fd".\Debug/" /GZ /c /GX
|
||||
# ADD BASE CPP /nologo /MTd /I "../include" /I "../" /Z7 /W3 /Od /G6 /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /Fp".\Debug/mysql_client_test.pch" /Fo".\Debug/" /Fd".\Debug/" /GZ /FD /c /GX
|
||||
# ADD CPP /nologo /MTd /I "../include" /I "../" /Z7 /W3 /Od /G6 /D "_DEBUG" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /Fp".\Debug/mysql_client_test.pch" /Fo".\Debug/" /Fd".\Debug/" /GZ /FD /c /GX
|
||||
# ADD BASE MTL /nologo /tlb".\Debug\mysql_client_test.tlb" /win32
|
||||
# ADD MTL /nologo /tlb".\Debug\mysql_client_test.tlb" /win32
|
||||
# ADD BASE RSC /l 1033
|
||||
|
@ -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:"..\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
|
||||
# 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 ..\extra\yassl\Release\yassl.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 ..\extra\yassl\Release\yassl.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"
|
||||
|
||||
|
@ -66,8 +66,8 @@ LINK32=link.exe
|
|||
# PROP Output_Dir ".\Release"
|
||||
# PROP Intermediate_Dir ".\Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /I "../include" /I "../" /W3 /Ob1 /G6 /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /GF /Gy /Fp".\Release/mysql_client_test.pch" /Fo".\Release/" /Fd".\Release/" /c /GX
|
||||
# ADD CPP /nologo /MTd /I "../include" /I "../" /W3 /Ob1 /G6 /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /GF /Gy /Fp".\Release/mysql_client_test.pch" /Fo".\Release/" /Fd".\Release/" /c /GX
|
||||
# ADD BASE CPP /nologo /MTd /I "../include" /I "../" /W3 /Ob1 /G6 /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /GF /Gy /Fp".\Release/mysql_client_test.pch" /Fo".\Release/" /Fd".\Release/" /FD /c /GX
|
||||
# ADD CPP /nologo /MTd /I "../include" /I "../" /W3 /Ob1 /G6 /D "DBUG_OFF" /D "_WINDOWS" /D "SAFE_MUTEX" /D "USE_TLS" /D "MYSQL_CLIENT" /D "__WIN__" /D "_WIN32" /GF /Gy /Fp".\Release/mysql_client_test.pch" /Fo".\Release/" /Fd".\Release/" /FD /c /GX
|
||||
# ADD BASE MTL /nologo /tlb".\Release\mysql_client_test.tlb" /win32
|
||||
# ADD MTL /nologo /tlb".\Release\mysql_client_test.tlb" /win32
|
||||
# ADD BASE RSC /l 1033
|
||||
|
@ -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:"..\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
|
||||
# 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 mysqlclient.lib mysys.lib regex.lib ..\extra\yassl\Release\yassl.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 mysqlclient.lib mysys.lib regex.lib ..\extra\yassl\Release\yassl.lib /nologo /out:"..\mysql_client_test.exe" /incremental:no /pdb:".\Release\mysql_client_test.pdb" /pdbtype:sept /subsystem:console
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ RSC=rc.exe
|
|||
# PROP Intermediate_Dir "release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c
|
||||
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../extra/yassl/include" /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
|
@ -64,7 +64,7 @@ LIB32=xilink6.exe -lib
|
|||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /G6 /MTd /W3 /Z7 /Od /I "../include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_SYMDIR" /FD /c
|
||||
# ADD CPP /nologo /G6 /MTd /W3 /Z7 /Od /I "../include" /I "../extra/yassl/include" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /D "USE_SYMDIR" /FD /c
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
|
|
|
@ -953,6 +953,7 @@ static int read_lines(bool execute_commands)
|
|||
{
|
||||
#if defined( __WIN__) || defined(OS2) || defined(__NETWARE__)
|
||||
char linebuffer[254];
|
||||
String buffer;
|
||||
#endif
|
||||
char *line;
|
||||
char in_string=0;
|
||||
|
@ -994,8 +995,24 @@ static int read_lines(bool execute_commands)
|
|||
*p = '\0';
|
||||
}
|
||||
#else
|
||||
linebuffer[0]= (char) sizeof(linebuffer);
|
||||
line= _cgets(linebuffer);
|
||||
buffer.length(0);
|
||||
/* _cgets() expects the buffer size - 3 as the first byte */
|
||||
linebuffer[0]= (char) sizeof(linebuffer) - 3;
|
||||
do
|
||||
{
|
||||
line= _cgets(linebuffer);
|
||||
buffer.append(line, (unsigned char)linebuffer[1]);
|
||||
/*
|
||||
If _cgets() gets an input line that is linebuffer[0] bytes
|
||||
long, the next call to _cgets() will return immediately with
|
||||
linebuffer[1] == 0, and it does the same thing for input that
|
||||
is linebuffer[0]-1 bytes long. So it appears that even though
|
||||
_cgets() replaces the newline (which is two bytes on Window) with
|
||||
a nil, it still needs the space in the linebuffer for it. This is,
|
||||
naturally, undocumented.
|
||||
*/
|
||||
} while (linebuffer[0] <= linebuffer[1] + 1);
|
||||
line= buffer.c_ptr();
|
||||
#endif /* __NETWARE__ */
|
||||
#else
|
||||
if (opt_outfile)
|
||||
|
@ -1052,6 +1069,9 @@ static int read_lines(bool execute_commands)
|
|||
status.exit_status=0;
|
||||
}
|
||||
}
|
||||
#if defined( __WIN__) || defined(OS2) || defined(__NETWARE__)
|
||||
buffer.free();
|
||||
#endif
|
||||
return status.exit_status;
|
||||
}
|
||||
|
||||
|
|
|
@ -447,7 +447,7 @@ list_tables(MYSQL *mysql,const char *db,const char *table)
|
|||
We just hijack the 'rows' variable for a bit to store the escaped
|
||||
table name
|
||||
*/
|
||||
mysql_escape_string(rows, table, sizeof(rows));
|
||||
mysql_real_escape_string(mysql, rows, table, (unsigned long)strlen(table));
|
||||
my_snprintf(query, sizeof(query), "show%s tables like '%s'",
|
||||
opt_table_type ? " full" : "", rows);
|
||||
}
|
||||
|
|
16
configure.in
16
configure.in
|
@ -443,33 +443,33 @@ PS=$ac_cv_path_PS
|
|||
# Linux style
|
||||
if $PS p $$ 2> /dev/null | grep $0 > /dev/null
|
||||
then
|
||||
FIND_PROC="$PS p \$\$PID | grep \$\$MYSQLD > /dev/null"
|
||||
FIND_PROC="$PS p \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null"
|
||||
# Solaris
|
||||
elif $PS -fp $$ 2> /dev/null | grep $0 > /dev/null
|
||||
then
|
||||
FIND_PROC="$PS -p \$\$PID | grep \$\$MYSQLD > /dev/null"
|
||||
FIND_PROC="$PS -p \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null"
|
||||
# BSD style
|
||||
elif $PS -uaxww 2> /dev/null | grep $0 > /dev/null
|
||||
then
|
||||
FIND_PROC="$PS -uaxww | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null"
|
||||
FIND_PROC="$PS -uaxww | grep -v grep | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null"
|
||||
# SysV style
|
||||
elif $PS -ef 2> /dev/null | grep $0 > /dev/null
|
||||
then
|
||||
FIND_PROC="$PS -ef | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null"
|
||||
FIND_PROC="$PS -ef | grep -v grep | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null"
|
||||
# Do anybody use this?
|
||||
elif $PS $$ 2> /dev/null | grep $0 > /dev/null
|
||||
then
|
||||
FIND_PROC="$PS \$\$PID | grep \$\$MYSQLD > /dev/null"
|
||||
FIND_PROC="$PS \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null"
|
||||
else
|
||||
case $SYSTEM_TYPE in
|
||||
*freebsd*)
|
||||
FIND_PROC="$PS p \$\$PID | grep \$\$MYSQLD > /dev/null"
|
||||
FIND_PROC="$PS p \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null"
|
||||
;;
|
||||
*darwin*)
|
||||
FIND_PROC="$PS -uaxww | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null"
|
||||
FIND_PROC="$PS -uaxww | grep -v grep | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null"
|
||||
;;
|
||||
*cygwin*)
|
||||
FIND_PROC="$PS -e | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null"
|
||||
FIND_PROC="$PS -e | grep -v grep | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null"
|
||||
;;
|
||||
*netware*)
|
||||
FIND_PROC=
|
||||
|
|
|
@ -29,7 +29,6 @@
|
|||
|
||||
#include <assert.h> // assert
|
||||
#include "yassl_types.hpp" // ysDelete
|
||||
#include "yassl_error.hpp" // Error
|
||||
#include "memory.hpp" // mySTL::auto_ptr
|
||||
#include "algorithm.hpp" // mySTL::swap
|
||||
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
|
||||
#include "vector.hpp"
|
||||
#include "pair.hpp"
|
||||
#include "yassl_error.hpp"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@ namespace yaSSL {
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
#undef X509_NAME /* wincrypt.h clash */
|
||||
|
||||
#if defined(__cplusplus) && !defined(YASSL_MYSQL_COMPATIBLE)
|
||||
class SSL;
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#define yaSSL_INT_HPP
|
||||
|
||||
#include "yassl_imp.hpp"
|
||||
#include "yassl_error.hpp"
|
||||
#include "crypto_wrapper.hpp"
|
||||
#include "cert_wrapper.hpp"
|
||||
#include "log.hpp"
|
||||
|
@ -129,6 +130,8 @@ private:
|
|||
};
|
||||
|
||||
|
||||
#undef X509_NAME // wincrypt.h clash
|
||||
|
||||
// openSSL X509 names
|
||||
class X509_NAME {
|
||||
char* name_;
|
||||
|
|
|
@ -71,7 +71,7 @@ void ysArrayDelete(T* ptr)
|
|||
|
||||
|
||||
// to resolve compiler generated operator delete on base classes with
|
||||
// virtual destructors, make sure doesn't get called
|
||||
// virtual destructors (when on stack), make sure doesn't get called
|
||||
class virtual_base {
|
||||
public:
|
||||
static void operator delete(void*) { assert(0); }
|
||||
|
|
|
@ -29,6 +29,8 @@
|
|||
|
||||
|
||||
#include <string.h> // strncpy
|
||||
#include <assert.h> // assert
|
||||
#include <stdlib.h> // size_t
|
||||
|
||||
|
||||
namespace mySTL {
|
||||
|
@ -37,9 +39,15 @@ namespace mySTL {
|
|||
class exception {
|
||||
public:
|
||||
exception() {}
|
||||
virtual ~exception() {}
|
||||
virtual ~exception() {} // to shut up compiler warnings
|
||||
|
||||
virtual const char* what() const { return ""; }
|
||||
|
||||
// for compiler generated call, never used
|
||||
static void operator delete(void*) { assert(0); }
|
||||
private:
|
||||
// don't allow dynamic creation of exceptions
|
||||
static void* operator new(size_t);
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
* with SSL types and sockets
|
||||
*/
|
||||
|
||||
#include <string.h> // memcpy
|
||||
#include "buffer.hpp"
|
||||
#include "yassl_types.hpp"
|
||||
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
|
||||
|
||||
#include "socket_wrapper.hpp"
|
||||
#include "yassl_error.hpp"
|
||||
|
||||
#ifndef WIN32
|
||||
#include <errno.h>
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
#include <stdio.h>
|
||||
#include "runtime.hpp"
|
||||
|
||||
|
||||
namespace yaSSL {
|
||||
|
||||
using mySTL::min;
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
#define TAO_CRYPT_BLOCK_HPP
|
||||
|
||||
#include "algorithm.hpp" // mySTL::swap
|
||||
#include "stdexcept.hpp" // mySTL::runtime_error
|
||||
#include "misc.hpp"
|
||||
#include <string.h> // memcpy
|
||||
#include <stddef.h> // ptrdiff_t
|
||||
|
|
|
@ -49,20 +49,20 @@ public:
|
|||
// HASH with Transform
|
||||
class HASHwithTransform : public HASH {
|
||||
public:
|
||||
HASHwithTransform(word32 digSz, word32 buffSz)
|
||||
: digest_(new (tc) word32[digSz]), buffer_(new (tc) byte[buffSz]) {}
|
||||
virtual ~HASHwithTransform() { tcArrayDelete(buffer_);
|
||||
tcArrayDelete(digest_); }
|
||||
HASHwithTransform(word32 digSz, word32 buffSz);
|
||||
virtual ~HASHwithTransform() {}
|
||||
virtual ByteOrder getByteOrder() const = 0;
|
||||
virtual word32 getPadSize() const = 0;
|
||||
|
||||
virtual void Update(const byte*, word32);
|
||||
virtual void Final(byte*);
|
||||
|
||||
enum { MaxDigestSz = 5, MaxBufferSz = 64 };
|
||||
protected:
|
||||
word32 buffLen_;
|
||||
word32 length_; // in Bits
|
||||
word32* digest_;
|
||||
byte* buffer_;
|
||||
word32 digest_[MaxDigestSz];
|
||||
word32 buffer_[MaxBufferSz / sizeof(word32)];
|
||||
|
||||
virtual void Transform() = 0;
|
||||
};
|
||||
|
|
|
@ -37,18 +37,31 @@ class HMAC {
|
|||
public:
|
||||
enum { IPAD = 0x36, OPAD = 0x5C };
|
||||
|
||||
HMAC() { Init(); }
|
||||
HMAC() : ipad_(reinterpret_cast<byte*>(&ip_)),
|
||||
opad_(reinterpret_cast<byte*>(&op_)),
|
||||
innerHash_(reinterpret_cast<byte*>(&innerH_))
|
||||
{
|
||||
Init();
|
||||
}
|
||||
void Update(const byte*, word32);
|
||||
void Final(byte*);
|
||||
void Init();
|
||||
|
||||
void SetKey(const byte*, word32);
|
||||
private:
|
||||
byte ipad_[T::BLOCK_SIZE];
|
||||
byte opad_[T::BLOCK_SIZE];
|
||||
byte innerHash_[T::DIGEST_SIZE];
|
||||
bool innerHashKeyed_;
|
||||
T mac_;
|
||||
byte* ipad_;
|
||||
byte* opad_;
|
||||
byte* innerHash_;
|
||||
bool innerHashKeyed_;
|
||||
T mac_;
|
||||
|
||||
// MSVC 6 HACK, gives compiler error if calculated in array
|
||||
enum { BSIZE = T::BLOCK_SIZE / sizeof(word32),
|
||||
DSIZE = T::DIGEST_SIZE / sizeof(word32) };
|
||||
|
||||
word32 ip_[BSIZE]; // align ipad_ on word32
|
||||
word32 op_[BSIZE]; // align opad_ on word32
|
||||
word32 innerH_[DSIZE]; // align innerHash_ on word32
|
||||
|
||||
void KeyInnerHash();
|
||||
|
||||
|
|
|
@ -25,6 +25,17 @@
|
|||
#ifndef TAO_CRYPT_INTEGER_HPP
|
||||
#define TAO_CRYPT_INTEGER_HPP
|
||||
|
||||
|
||||
#ifdef _MSC_VER
|
||||
// 4250: dominance
|
||||
// 4660: explicitly instantiating a class already implicitly instantiated
|
||||
// 4661: no suitable definition provided for explicit template request
|
||||
// 4786: identifer was truncated in debug information
|
||||
// 4355: 'this' : used in base member initializer list
|
||||
# pragma warning(disable: 4250 4660 4661 4786 4355)
|
||||
#endif
|
||||
|
||||
|
||||
#include "misc.hpp"
|
||||
#include "block.hpp"
|
||||
#include "random.hpp"
|
||||
|
|
|
@ -60,7 +60,12 @@ class Mode_BASE : public virtual_base {
|
|||
public:
|
||||
enum { MaxBlockSz = 16 };
|
||||
|
||||
explicit Mode_BASE(int sz) : blockSz_(sz) { assert(sz <= MaxBlockSz); }
|
||||
explicit Mode_BASE(int sz)
|
||||
: blockSz_(sz), reg_(reinterpret_cast<byte*>(r_)),
|
||||
tmp_(reinterpret_cast<byte*>(t_))
|
||||
{
|
||||
assert(sz <= MaxBlockSz);
|
||||
}
|
||||
virtual ~Mode_BASE() {}
|
||||
|
||||
virtual void ProcessAndXorBlock(const byte*, const byte*, byte*) const = 0;
|
||||
|
@ -71,9 +76,13 @@ public:
|
|||
|
||||
void SetIV(const byte* iv) { memcpy(reg_, iv, blockSz_); }
|
||||
private:
|
||||
byte reg_[MaxBlockSz];
|
||||
byte tmp_[MaxBlockSz];
|
||||
int blockSz_;
|
||||
int blockSz_;
|
||||
byte* reg_;
|
||||
byte* tmp_;
|
||||
|
||||
word32 r_[MaxBlockSz / sizeof(word32)]; // align reg_ on word32
|
||||
word32 t_[MaxBlockSz / sizeof(word32)]; // align tmp_ on word32
|
||||
|
||||
|
||||
Mode_BASE(const Mode_BASE&); // hide copy
|
||||
Mode_BASE& operator=(const Mode_BASE&); // and assign
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
|
||||
#include "integer.hpp"
|
||||
#include "random.hpp"
|
||||
#include "stdexcept.hpp"
|
||||
|
||||
|
||||
namespace TaoCrypt {
|
||||
|
|
|
@ -68,8 +68,9 @@ typedef unsigned int word32;
|
|||
|
||||
// TODO: FIXME, add asm multiply for x86_64 on Solaris and remove !__sun
|
||||
|
||||
#if defined(__alpha__) || defined(__ia64__) || defined(_ARCH_PPC64) || \
|
||||
defined(__mips64) || (defined(__x86_64__) && !defined(__sun))
|
||||
#if defined(__alpha__) || (defined(__ia64__) && !defined(__INTEL_COMPILER)) || \
|
||||
defined(_ARCH_PPC64) || defined(__mips64) || \
|
||||
(defined(__x86_64__) && !defined(__sun))
|
||||
// These platforms have 64-bit CPU registers. Unfortunately most C++ compilers
|
||||
// don't allow any way to access the 64-bit by 64-bit multiply instruction
|
||||
// without using assembly, so in order to use word64 as word, the assembly
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
#include "runtime.hpp"
|
||||
#include "aes.hpp"
|
||||
#include "stdexcept.hpp"
|
||||
|
||||
|
||||
namespace TaoCrypt {
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#include "sha.hpp"
|
||||
#include "asn.hpp"
|
||||
#include "modarith.hpp"
|
||||
#include "stdexcept.hpp"
|
||||
|
||||
|
||||
namespace TaoCrypt {
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
#include "runtime.hpp"
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include "hash.hpp"
|
||||
|
||||
|
@ -31,21 +32,30 @@
|
|||
namespace TaoCrypt {
|
||||
|
||||
|
||||
HASHwithTransform::HASHwithTransform(word32 digSz, word32 buffSz)
|
||||
{
|
||||
assert(digSz <= MaxDigestSz);
|
||||
assert(buffSz <= MaxBufferSz);
|
||||
}
|
||||
|
||||
|
||||
// Update digest with data of size len, do in blocks
|
||||
void HASHwithTransform::Update(const byte* data, word32 len)
|
||||
{
|
||||
// do block size increments
|
||||
word32 blockSz = getBlockSize();
|
||||
byte* local = reinterpret_cast<byte*>(buffer_);
|
||||
|
||||
while (len) {
|
||||
word32 add = min(len, blockSz - buffLen_);
|
||||
memcpy(&buffer_[buffLen_], data, add);
|
||||
memcpy(&local[buffLen_], data, add);
|
||||
|
||||
buffLen_ += add;
|
||||
data += add;
|
||||
len -= add;
|
||||
|
||||
if (buffLen_ == blockSz) {
|
||||
ByteReverseIf(buffer_, buffer_, blockSz, getByteOrder());
|
||||
ByteReverseIf(local, local, blockSz, getByteOrder());
|
||||
Transform();
|
||||
}
|
||||
}
|
||||
|
@ -60,22 +70,23 @@ void HASHwithTransform::Final(byte* hash)
|
|||
word32 padSz = getPadSize();
|
||||
ByteOrder order = getByteOrder();
|
||||
word32 prePadLen = length_ + buffLen_ * 8; // in bits
|
||||
byte* local = reinterpret_cast<byte*>(buffer_);
|
||||
|
||||
buffer_[buffLen_++] = 0x80; // add 1
|
||||
local[buffLen_++] = 0x80; // add 1
|
||||
|
||||
// pad with zeros
|
||||
if (buffLen_ > padSz) {
|
||||
while (buffLen_ < blockSz) buffer_[buffLen_++] = 0;
|
||||
ByteReverseIf(buffer_, buffer_, blockSz, order);
|
||||
while (buffLen_ < blockSz) local[buffLen_++] = 0;
|
||||
ByteReverseIf(local, local, blockSz, order);
|
||||
Transform();
|
||||
}
|
||||
while (buffLen_ < padSz) buffer_[buffLen_++] = 0;
|
||||
while (buffLen_ < padSz) local[buffLen_++] = 0;
|
||||
|
||||
ByteReverseIf(buffer_, buffer_, blockSz, order);
|
||||
ByteReverseIf(local, local, blockSz, order);
|
||||
|
||||
word32 hiSize = 0; // for future 64 bit length TODO:
|
||||
memcpy(&buffer_[padSz], order ? &hiSize : &prePadLen, sizeof(prePadLen));
|
||||
memcpy(&buffer_[padSz+4], order ? &prePadLen : &hiSize, sizeof(prePadLen));
|
||||
memcpy(&local[padSz], order ? &hiSize : &prePadLen, sizeof(prePadLen));
|
||||
memcpy(&local[padSz+4], order ? &prePadLen : &hiSize, sizeof(prePadLen));
|
||||
|
||||
|
||||
Transform();
|
||||
|
|
|
@ -23,19 +23,9 @@
|
|||
|
||||
/* based on Wei Dai's integer.cpp from CryptoPP */
|
||||
|
||||
#ifdef _MSC_VER
|
||||
// 4250: dominance
|
||||
// 4660: explicitly instantiating a class already implicitly instantiated
|
||||
// 4661: no suitable definition provided for explicit template request
|
||||
// 4786: identifer was truncated in debug information
|
||||
// 4355: 'this' : used in base member initializer list
|
||||
# pragma warning(disable: 4250 4660 4661 4786 4355)
|
||||
#endif
|
||||
|
||||
#include "integer.hpp"
|
||||
#include "modarith.hpp"
|
||||
#include "asn.hpp"
|
||||
#include "stdexcept.hpp"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -61,10 +61,11 @@ MD5& MD5::operator= (const MD5& that)
|
|||
|
||||
void MD5::Swap(MD5& other)
|
||||
{
|
||||
mySTL::swap(buffer_, other.buffer_);
|
||||
mySTL::swap(buffLen_, other.buffLen_);
|
||||
mySTL::swap(digest_, other.digest_);
|
||||
mySTL::swap(length_, other.length_);
|
||||
mySTL::swap(buffLen_, other.buffLen_);
|
||||
|
||||
memcpy(digest_, other.digest_, DIGEST_SIZE);
|
||||
memcpy(buffer_, other.buffer_, BLOCK_SIZE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -84,73 +85,73 @@ void MD5::Transform()
|
|||
word32 c = digest_[2];
|
||||
word32 d = digest_[3];
|
||||
|
||||
MD5STEP(F1, a, b, c, d, *(word32*)&buffer_[0*4] + 0xd76aa478, 7);
|
||||
MD5STEP(F1, d, a, b, c, *(word32*)&buffer_[1*4] + 0xe8c7b756, 12);
|
||||
MD5STEP(F1, c, d, a, b, *(word32*)&buffer_[2*4] + 0x242070db, 17);
|
||||
MD5STEP(F1, b, c, d, a, *(word32*)&buffer_[3*4] + 0xc1bdceee, 22);
|
||||
MD5STEP(F1, a, b, c, d, *(word32*)&buffer_[4*4] + 0xf57c0faf, 7);
|
||||
MD5STEP(F1, d, a, b, c, *(word32*)&buffer_[5*4] + 0x4787c62a, 12);
|
||||
MD5STEP(F1, c, d, a, b, *(word32*)&buffer_[6*4] + 0xa8304613, 17);
|
||||
MD5STEP(F1, b, c, d, a, *(word32*)&buffer_[7*4] + 0xfd469501, 22);
|
||||
MD5STEP(F1, a, b, c, d, *(word32*)&buffer_[8*4] + 0x698098d8, 7);
|
||||
MD5STEP(F1, d, a, b, c, *(word32*)&buffer_[9*4] + 0x8b44f7af, 12);
|
||||
MD5STEP(F1, c, d, a, b, *(word32*)&buffer_[10*4] + 0xffff5bb1, 17);
|
||||
MD5STEP(F1, b, c, d, a, *(word32*)&buffer_[11*4] + 0x895cd7be, 22);
|
||||
MD5STEP(F1, a, b, c, d, *(word32*)&buffer_[12*4] + 0x6b901122, 7);
|
||||
MD5STEP(F1, d, a, b, c, *(word32*)&buffer_[13*4] + 0xfd987193, 12);
|
||||
MD5STEP(F1, c, d, a, b, *(word32*)&buffer_[14*4] + 0xa679438e, 17);
|
||||
MD5STEP(F1, b, c, d, a, *(word32*)&buffer_[15*4] + 0x49b40821, 22);
|
||||
MD5STEP(F1, a, b, c, d, buffer_[0] + 0xd76aa478, 7);
|
||||
MD5STEP(F1, d, a, b, c, buffer_[1] + 0xe8c7b756, 12);
|
||||
MD5STEP(F1, c, d, a, b, buffer_[2] + 0x242070db, 17);
|
||||
MD5STEP(F1, b, c, d, a, buffer_[3] + 0xc1bdceee, 22);
|
||||
MD5STEP(F1, a, b, c, d, buffer_[4] + 0xf57c0faf, 7);
|
||||
MD5STEP(F1, d, a, b, c, buffer_[5] + 0x4787c62a, 12);
|
||||
MD5STEP(F1, c, d, a, b, buffer_[6] + 0xa8304613, 17);
|
||||
MD5STEP(F1, b, c, d, a, buffer_[7] + 0xfd469501, 22);
|
||||
MD5STEP(F1, a, b, c, d, buffer_[8] + 0x698098d8, 7);
|
||||
MD5STEP(F1, d, a, b, c, buffer_[9] + 0x8b44f7af, 12);
|
||||
MD5STEP(F1, c, d, a, b, buffer_[10] + 0xffff5bb1, 17);
|
||||
MD5STEP(F1, b, c, d, a, buffer_[11] + 0x895cd7be, 22);
|
||||
MD5STEP(F1, a, b, c, d, buffer_[12] + 0x6b901122, 7);
|
||||
MD5STEP(F1, d, a, b, c, buffer_[13] + 0xfd987193, 12);
|
||||
MD5STEP(F1, c, d, a, b, buffer_[14] + 0xa679438e, 17);
|
||||
MD5STEP(F1, b, c, d, a, buffer_[15] + 0x49b40821, 22);
|
||||
|
||||
MD5STEP(F2, a, b, c, d, *(word32*)&buffer_[1*4] + 0xf61e2562, 5);
|
||||
MD5STEP(F2, d, a, b, c, *(word32*)&buffer_[6*4] + 0xc040b340, 9);
|
||||
MD5STEP(F2, c, d, a, b, *(word32*)&buffer_[11*4] + 0x265e5a51, 14);
|
||||
MD5STEP(F2, b, c, d, a, *(word32*)&buffer_[0*4] + 0xe9b6c7aa, 20);
|
||||
MD5STEP(F2, a, b, c, d, *(word32*)&buffer_[5*4] + 0xd62f105d, 5);
|
||||
MD5STEP(F2, d, a, b, c, *(word32*)&buffer_[10*4] + 0x02441453, 9);
|
||||
MD5STEP(F2, c, d, a, b, *(word32*)&buffer_[15*4] + 0xd8a1e681, 14);
|
||||
MD5STEP(F2, b, c, d, a, *(word32*)&buffer_[4*4] + 0xe7d3fbc8, 20);
|
||||
MD5STEP(F2, a, b, c, d, *(word32*)&buffer_[9*4] + 0x21e1cde6, 5);
|
||||
MD5STEP(F2, d, a, b, c, *(word32*)&buffer_[14*4] + 0xc33707d6, 9);
|
||||
MD5STEP(F2, c, d, a, b, *(word32*)&buffer_[3*4] + 0xf4d50d87, 14);
|
||||
MD5STEP(F2, b, c, d, a, *(word32*)&buffer_[8*4] + 0x455a14ed, 20);
|
||||
MD5STEP(F2, a, b, c, d, *(word32*)&buffer_[13*4] + 0xa9e3e905, 5);
|
||||
MD5STEP(F2, d, a, b, c, *(word32*)&buffer_[2*4] + 0xfcefa3f8, 9);
|
||||
MD5STEP(F2, c, d, a, b, *(word32*)&buffer_[7*4] + 0x676f02d9, 14);
|
||||
MD5STEP(F2, b, c, d, a, *(word32*)&buffer_[12*4] + 0x8d2a4c8a, 20);
|
||||
MD5STEP(F2, a, b, c, d, buffer_[1] + 0xf61e2562, 5);
|
||||
MD5STEP(F2, d, a, b, c, buffer_[6] + 0xc040b340, 9);
|
||||
MD5STEP(F2, c, d, a, b, buffer_[11] + 0x265e5a51, 14);
|
||||
MD5STEP(F2, b, c, d, a, buffer_[0] + 0xe9b6c7aa, 20);
|
||||
MD5STEP(F2, a, b, c, d, buffer_[5] + 0xd62f105d, 5);
|
||||
MD5STEP(F2, d, a, b, c, buffer_[10] + 0x02441453, 9);
|
||||
MD5STEP(F2, c, d, a, b, buffer_[15] + 0xd8a1e681, 14);
|
||||
MD5STEP(F2, b, c, d, a, buffer_[4] + 0xe7d3fbc8, 20);
|
||||
MD5STEP(F2, a, b, c, d, buffer_[9] + 0x21e1cde6, 5);
|
||||
MD5STEP(F2, d, a, b, c, buffer_[14] + 0xc33707d6, 9);
|
||||
MD5STEP(F2, c, d, a, b, buffer_[3] + 0xf4d50d87, 14);
|
||||
MD5STEP(F2, b, c, d, a, buffer_[8] + 0x455a14ed, 20);
|
||||
MD5STEP(F2, a, b, c, d, buffer_[13] + 0xa9e3e905, 5);
|
||||
MD5STEP(F2, d, a, b, c, buffer_[2] + 0xfcefa3f8, 9);
|
||||
MD5STEP(F2, c, d, a, b, buffer_[7] + 0x676f02d9, 14);
|
||||
MD5STEP(F2, b, c, d, a, buffer_[12] + 0x8d2a4c8a, 20);
|
||||
|
||||
MD5STEP(F3, a, b, c, d, *(word32*)&buffer_[5*4] + 0xfffa3942, 4);
|
||||
MD5STEP(F3, d, a, b, c, *(word32*)&buffer_[8*4] + 0x8771f681, 11);
|
||||
MD5STEP(F3, c, d, a, b, *(word32*)&buffer_[11*4] + 0x6d9d6122, 16);
|
||||
MD5STEP(F3, b, c, d, a, *(word32*)&buffer_[14*4] + 0xfde5380c, 23);
|
||||
MD5STEP(F3, a, b, c, d, *(word32*)&buffer_[1*4] + 0xa4beea44, 4);
|
||||
MD5STEP(F3, d, a, b, c, *(word32*)&buffer_[4*4] + 0x4bdecfa9, 11);
|
||||
MD5STEP(F3, c, d, a, b, *(word32*)&buffer_[7*4] + 0xf6bb4b60, 16);
|
||||
MD5STEP(F3, b, c, d, a, *(word32*)&buffer_[10*4] + 0xbebfbc70, 23);
|
||||
MD5STEP(F3, a, b, c, d, *(word32*)&buffer_[13*4] + 0x289b7ec6, 4);
|
||||
MD5STEP(F3, d, a, b, c, *(word32*)&buffer_[0*4] + 0xeaa127fa, 11);
|
||||
MD5STEP(F3, c, d, a, b, *(word32*)&buffer_[3*4] + 0xd4ef3085, 16);
|
||||
MD5STEP(F3, b, c, d, a, *(word32*)&buffer_[6*4] + 0x04881d05, 23);
|
||||
MD5STEP(F3, a, b, c, d, *(word32*)&buffer_[9*4] + 0xd9d4d039, 4);
|
||||
MD5STEP(F3, d, a, b, c, *(word32*)&buffer_[12*4] + 0xe6db99e5, 11);
|
||||
MD5STEP(F3, c, d, a, b, *(word32*)&buffer_[15*4] + 0x1fa27cf8, 16);
|
||||
MD5STEP(F3, b, c, d, a, *(word32*)&buffer_[2*4] + 0xc4ac5665, 23);
|
||||
MD5STEP(F3, a, b, c, d, buffer_[5] + 0xfffa3942, 4);
|
||||
MD5STEP(F3, d, a, b, c, buffer_[8] + 0x8771f681, 11);
|
||||
MD5STEP(F3, c, d, a, b, buffer_[11] + 0x6d9d6122, 16);
|
||||
MD5STEP(F3, b, c, d, a, buffer_[14] + 0xfde5380c, 23);
|
||||
MD5STEP(F3, a, b, c, d, buffer_[1] + 0xa4beea44, 4);
|
||||
MD5STEP(F3, d, a, b, c, buffer_[4] + 0x4bdecfa9, 11);
|
||||
MD5STEP(F3, c, d, a, b, buffer_[7] + 0xf6bb4b60, 16);
|
||||
MD5STEP(F3, b, c, d, a, buffer_[10] + 0xbebfbc70, 23);
|
||||
MD5STEP(F3, a, b, c, d, buffer_[13] + 0x289b7ec6, 4);
|
||||
MD5STEP(F3, d, a, b, c, buffer_[0] + 0xeaa127fa, 11);
|
||||
MD5STEP(F3, c, d, a, b, buffer_[3] + 0xd4ef3085, 16);
|
||||
MD5STEP(F3, b, c, d, a, buffer_[6] + 0x04881d05, 23);
|
||||
MD5STEP(F3, a, b, c, d, buffer_[9] + 0xd9d4d039, 4);
|
||||
MD5STEP(F3, d, a, b, c, buffer_[12] + 0xe6db99e5, 11);
|
||||
MD5STEP(F3, c, d, a, b, buffer_[15] + 0x1fa27cf8, 16);
|
||||
MD5STEP(F3, b, c, d, a, buffer_[2] + 0xc4ac5665, 23);
|
||||
|
||||
MD5STEP(F4, a, b, c, d, *(word32*)&buffer_[0*4] + 0xf4292244, 6);
|
||||
MD5STEP(F4, d, a, b, c, *(word32*)&buffer_[7*4] + 0x432aff97, 10);
|
||||
MD5STEP(F4, c, d, a, b, *(word32*)&buffer_[14*4] + 0xab9423a7, 15);
|
||||
MD5STEP(F4, b, c, d, a, *(word32*)&buffer_[5*4] + 0xfc93a039, 21);
|
||||
MD5STEP(F4, a, b, c, d, *(word32*)&buffer_[12*4] + 0x655b59c3, 6);
|
||||
MD5STEP(F4, d, a, b, c, *(word32*)&buffer_[3*4] + 0x8f0ccc92, 10);
|
||||
MD5STEP(F4, c, d, a, b, *(word32*)&buffer_[10*4] + 0xffeff47d, 15);
|
||||
MD5STEP(F4, b, c, d, a, *(word32*)&buffer_[1*4] + 0x85845dd1, 21);
|
||||
MD5STEP(F4, a, b, c, d, *(word32*)&buffer_[8*4] + 0x6fa87e4f, 6);
|
||||
MD5STEP(F4, d, a, b, c, *(word32*)&buffer_[15*4] + 0xfe2ce6e0, 10);
|
||||
MD5STEP(F4, c, d, a, b, *(word32*)&buffer_[6*4] + 0xa3014314, 15);
|
||||
MD5STEP(F4, b, c, d, a, *(word32*)&buffer_[13*4] + 0x4e0811a1, 21);
|
||||
MD5STEP(F4, a, b, c, d, *(word32*)&buffer_[4*4] + 0xf7537e82, 6);
|
||||
MD5STEP(F4, d, a, b, c, *(word32*)&buffer_[11*4] + 0xbd3af235, 10);
|
||||
MD5STEP(F4, c, d, a, b, *(word32*)&buffer_[2*4] + 0x2ad7d2bb, 15);
|
||||
MD5STEP(F4, b, c, d, a, *(word32*)&buffer_[9*4] + 0xeb86d391, 21);
|
||||
MD5STEP(F4, a, b, c, d, buffer_[0] + 0xf4292244, 6);
|
||||
MD5STEP(F4, d, a, b, c, buffer_[7] + 0x432aff97, 10);
|
||||
MD5STEP(F4, c, d, a, b, buffer_[14] + 0xab9423a7, 15);
|
||||
MD5STEP(F4, b, c, d, a, buffer_[5] + 0xfc93a039, 21);
|
||||
MD5STEP(F4, a, b, c, d, buffer_[12] + 0x655b59c3, 6);
|
||||
MD5STEP(F4, d, a, b, c, buffer_[3] + 0x8f0ccc92, 10);
|
||||
MD5STEP(F4, c, d, a, b, buffer_[10] + 0xffeff47d, 15);
|
||||
MD5STEP(F4, b, c, d, a, buffer_[1] + 0x85845dd1, 21);
|
||||
MD5STEP(F4, a, b, c, d, buffer_[8] + 0x6fa87e4f, 6);
|
||||
MD5STEP(F4, d, a, b, c, buffer_[15] + 0xfe2ce6e0, 10);
|
||||
MD5STEP(F4, c, d, a, b, buffer_[6] + 0xa3014314, 15);
|
||||
MD5STEP(F4, b, c, d, a, buffer_[13] + 0x4e0811a1, 21);
|
||||
MD5STEP(F4, a, b, c, d, buffer_[4] + 0xf7537e82, 6);
|
||||
MD5STEP(F4, d, a, b, c, buffer_[11] + 0xbd3af235, 10);
|
||||
MD5STEP(F4, c, d, a, b, buffer_[2] + 0x2ad7d2bb, 15);
|
||||
MD5STEP(F4, b, c, d, a, buffer_[9] + 0xeb86d391, 21);
|
||||
|
||||
// Add the working vars back into digest state[]
|
||||
digest_[0] += a;
|
||||
|
|
|
@ -55,27 +55,13 @@ void operator delete[](void* ptr, TaoCrypt::new_t)
|
|||
|
||||
/* uncomment to test
|
||||
// make sure not using globals anywhere by forgetting to use overloaded
|
||||
void* operator new(size_t sz)
|
||||
{
|
||||
assert(0);
|
||||
return malloc(sz);
|
||||
}
|
||||
void* operator new(size_t sz);
|
||||
|
||||
void operator delete(void* ptr)
|
||||
{
|
||||
assert(0);
|
||||
}
|
||||
void operator delete(void* ptr);
|
||||
|
||||
void* operator new[](size_t sz)
|
||||
{
|
||||
assert(0);
|
||||
return malloc(sz);
|
||||
}
|
||||
void* operator new[](size_t sz);
|
||||
|
||||
void operator delete[](void* ptr)
|
||||
{
|
||||
assert(0);
|
||||
}
|
||||
void operator delete[](void* ptr);
|
||||
*/
|
||||
|
||||
/* namespace GCC_ABI {
|
||||
|
|
|
@ -63,10 +63,11 @@ RIPEMD160& RIPEMD160::operator= (const RIPEMD160& that)
|
|||
|
||||
void RIPEMD160::Swap(RIPEMD160& other)
|
||||
{
|
||||
mySTL::swap(buffer_, other.buffer_);
|
||||
mySTL::swap(buffLen_, other.buffLen_);
|
||||
mySTL::swap(digest_, other.digest_);
|
||||
mySTL::swap(length_, other.length_);
|
||||
mySTL::swap(buffLen_, other.buffLen_);
|
||||
|
||||
memcpy(digest_, other.digest_, DIGEST_SIZE);
|
||||
memcpy(buffer_, other.buffer_, BLOCK_SIZE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -104,175 +105,175 @@ void RIPEMD160::Transform()
|
|||
d1 = d2 = digest_[3];
|
||||
e1 = e2 = digest_[4];
|
||||
|
||||
Subround(F, a1, b1, c1, d1, e1, *(word32*)&buffer_[ 0*4], 11, k0);
|
||||
Subround(F, e1, a1, b1, c1, d1, *(word32*)&buffer_[ 1*4], 14, k0);
|
||||
Subround(F, d1, e1, a1, b1, c1, *(word32*)&buffer_[ 2*4], 15, k0);
|
||||
Subround(F, c1, d1, e1, a1, b1, *(word32*)&buffer_[ 3*4], 12, k0);
|
||||
Subround(F, b1, c1, d1, e1, a1, *(word32*)&buffer_[ 4*4], 5, k0);
|
||||
Subround(F, a1, b1, c1, d1, e1, *(word32*)&buffer_[ 5*4], 8, k0);
|
||||
Subround(F, e1, a1, b1, c1, d1, *(word32*)&buffer_[ 6*4], 7, k0);
|
||||
Subround(F, d1, e1, a1, b1, c1, *(word32*)&buffer_[ 7*4], 9, k0);
|
||||
Subround(F, c1, d1, e1, a1, b1, *(word32*)&buffer_[ 8*4], 11, k0);
|
||||
Subround(F, b1, c1, d1, e1, a1, *(word32*)&buffer_[ 9*4], 13, k0);
|
||||
Subround(F, a1, b1, c1, d1, e1, *(word32*)&buffer_[10*4], 14, k0);
|
||||
Subround(F, e1, a1, b1, c1, d1, *(word32*)&buffer_[11*4], 15, k0);
|
||||
Subround(F, d1, e1, a1, b1, c1, *(word32*)&buffer_[12*4], 6, k0);
|
||||
Subround(F, c1, d1, e1, a1, b1, *(word32*)&buffer_[13*4], 7, k0);
|
||||
Subround(F, b1, c1, d1, e1, a1, *(word32*)&buffer_[14*4], 9, k0);
|
||||
Subround(F, a1, b1, c1, d1, e1, *(word32*)&buffer_[15*4], 8, k0);
|
||||
Subround(F, a1, b1, c1, d1, e1, buffer_[ 0], 11, k0);
|
||||
Subround(F, e1, a1, b1, c1, d1, buffer_[ 1], 14, k0);
|
||||
Subround(F, d1, e1, a1, b1, c1, buffer_[ 2], 15, k0);
|
||||
Subround(F, c1, d1, e1, a1, b1, buffer_[ 3], 12, k0);
|
||||
Subround(F, b1, c1, d1, e1, a1, buffer_[ 4], 5, k0);
|
||||
Subround(F, a1, b1, c1, d1, e1, buffer_[ 5], 8, k0);
|
||||
Subround(F, e1, a1, b1, c1, d1, buffer_[ 6], 7, k0);
|
||||
Subround(F, d1, e1, a1, b1, c1, buffer_[ 7], 9, k0);
|
||||
Subround(F, c1, d1, e1, a1, b1, buffer_[ 8], 11, k0);
|
||||
Subround(F, b1, c1, d1, e1, a1, buffer_[ 9], 13, k0);
|
||||
Subround(F, a1, b1, c1, d1, e1, buffer_[10], 14, k0);
|
||||
Subround(F, e1, a1, b1, c1, d1, buffer_[11], 15, k0);
|
||||
Subround(F, d1, e1, a1, b1, c1, buffer_[12], 6, k0);
|
||||
Subround(F, c1, d1, e1, a1, b1, buffer_[13], 7, k0);
|
||||
Subround(F, b1, c1, d1, e1, a1, buffer_[14], 9, k0);
|
||||
Subround(F, a1, b1, c1, d1, e1, buffer_[15], 8, k0);
|
||||
|
||||
Subround(G, e1, a1, b1, c1, d1, *(word32*)&buffer_[ 7*4], 7, k1);
|
||||
Subround(G, d1, e1, a1, b1, c1, *(word32*)&buffer_[ 4*4], 6, k1);
|
||||
Subround(G, c1, d1, e1, a1, b1, *(word32*)&buffer_[13*4], 8, k1);
|
||||
Subround(G, b1, c1, d1, e1, a1, *(word32*)&buffer_[ 1*4], 13, k1);
|
||||
Subround(G, a1, b1, c1, d1, e1, *(word32*)&buffer_[10*4], 11, k1);
|
||||
Subround(G, e1, a1, b1, c1, d1, *(word32*)&buffer_[ 6*4], 9, k1);
|
||||
Subround(G, d1, e1, a1, b1, c1, *(word32*)&buffer_[15*4], 7, k1);
|
||||
Subround(G, c1, d1, e1, a1, b1, *(word32*)&buffer_[ 3*4], 15, k1);
|
||||
Subround(G, b1, c1, d1, e1, a1, *(word32*)&buffer_[12*4], 7, k1);
|
||||
Subround(G, a1, b1, c1, d1, e1, *(word32*)&buffer_[ 0*4], 12, k1);
|
||||
Subround(G, e1, a1, b1, c1, d1, *(word32*)&buffer_[ 9*4], 15, k1);
|
||||
Subround(G, d1, e1, a1, b1, c1, *(word32*)&buffer_[ 5*4], 9, k1);
|
||||
Subround(G, c1, d1, e1, a1, b1, *(word32*)&buffer_[ 2*4], 11, k1);
|
||||
Subround(G, b1, c1, d1, e1, a1, *(word32*)&buffer_[14*4], 7, k1);
|
||||
Subround(G, a1, b1, c1, d1, e1, *(word32*)&buffer_[11*4], 13, k1);
|
||||
Subround(G, e1, a1, b1, c1, d1, *(word32*)&buffer_[ 8*4], 12, k1);
|
||||
Subround(G, e1, a1, b1, c1, d1, buffer_[ 7], 7, k1);
|
||||
Subround(G, d1, e1, a1, b1, c1, buffer_[ 4], 6, k1);
|
||||
Subround(G, c1, d1, e1, a1, b1, buffer_[13], 8, k1);
|
||||
Subround(G, b1, c1, d1, e1, a1, buffer_[ 1], 13, k1);
|
||||
Subround(G, a1, b1, c1, d1, e1, buffer_[10], 11, k1);
|
||||
Subround(G, e1, a1, b1, c1, d1, buffer_[ 6], 9, k1);
|
||||
Subround(G, d1, e1, a1, b1, c1, buffer_[15], 7, k1);
|
||||
Subround(G, c1, d1, e1, a1, b1, buffer_[ 3], 15, k1);
|
||||
Subround(G, b1, c1, d1, e1, a1, buffer_[12], 7, k1);
|
||||
Subround(G, a1, b1, c1, d1, e1, buffer_[ 0], 12, k1);
|
||||
Subround(G, e1, a1, b1, c1, d1, buffer_[ 9], 15, k1);
|
||||
Subround(G, d1, e1, a1, b1, c1, buffer_[ 5], 9, k1);
|
||||
Subround(G, c1, d1, e1, a1, b1, buffer_[ 2], 11, k1);
|
||||
Subround(G, b1, c1, d1, e1, a1, buffer_[14], 7, k1);
|
||||
Subround(G, a1, b1, c1, d1, e1, buffer_[11], 13, k1);
|
||||
Subround(G, e1, a1, b1, c1, d1, buffer_[ 8], 12, k1);
|
||||
|
||||
Subround(H, d1, e1, a1, b1, c1, *(word32*)&buffer_[ 3*4], 11, k2);
|
||||
Subround(H, c1, d1, e1, a1, b1, *(word32*)&buffer_[10*4], 13, k2);
|
||||
Subround(H, b1, c1, d1, e1, a1, *(word32*)&buffer_[14*4], 6, k2);
|
||||
Subround(H, a1, b1, c1, d1, e1, *(word32*)&buffer_[ 4*4], 7, k2);
|
||||
Subround(H, e1, a1, b1, c1, d1, *(word32*)&buffer_[ 9*4], 14, k2);
|
||||
Subround(H, d1, e1, a1, b1, c1, *(word32*)&buffer_[15*4], 9, k2);
|
||||
Subround(H, c1, d1, e1, a1, b1, *(word32*)&buffer_[ 8*4], 13, k2);
|
||||
Subround(H, b1, c1, d1, e1, a1, *(word32*)&buffer_[ 1*4], 15, k2);
|
||||
Subround(H, a1, b1, c1, d1, e1, *(word32*)&buffer_[ 2*4], 14, k2);
|
||||
Subround(H, e1, a1, b1, c1, d1, *(word32*)&buffer_[ 7*4], 8, k2);
|
||||
Subround(H, d1, e1, a1, b1, c1, *(word32*)&buffer_[ 0*4], 13, k2);
|
||||
Subround(H, c1, d1, e1, a1, b1, *(word32*)&buffer_[ 6*4], 6, k2);
|
||||
Subround(H, b1, c1, d1, e1, a1, *(word32*)&buffer_[13*4], 5, k2);
|
||||
Subround(H, a1, b1, c1, d1, e1, *(word32*)&buffer_[11*4], 12, k2);
|
||||
Subround(H, e1, a1, b1, c1, d1, *(word32*)&buffer_[ 5*4], 7, k2);
|
||||
Subround(H, d1, e1, a1, b1, c1, *(word32*)&buffer_[12*4], 5, k2);
|
||||
Subround(H, d1, e1, a1, b1, c1, buffer_[ 3], 11, k2);
|
||||
Subround(H, c1, d1, e1, a1, b1, buffer_[10], 13, k2);
|
||||
Subround(H, b1, c1, d1, e1, a1, buffer_[14], 6, k2);
|
||||
Subround(H, a1, b1, c1, d1, e1, buffer_[ 4], 7, k2);
|
||||
Subround(H, e1, a1, b1, c1, d1, buffer_[ 9], 14, k2);
|
||||
Subround(H, d1, e1, a1, b1, c1, buffer_[15], 9, k2);
|
||||
Subround(H, c1, d1, e1, a1, b1, buffer_[ 8], 13, k2);
|
||||
Subround(H, b1, c1, d1, e1, a1, buffer_[ 1], 15, k2);
|
||||
Subround(H, a1, b1, c1, d1, e1, buffer_[ 2], 14, k2);
|
||||
Subround(H, e1, a1, b1, c1, d1, buffer_[ 7], 8, k2);
|
||||
Subround(H, d1, e1, a1, b1, c1, buffer_[ 0], 13, k2);
|
||||
Subround(H, c1, d1, e1, a1, b1, buffer_[ 6], 6, k2);
|
||||
Subround(H, b1, c1, d1, e1, a1, buffer_[13], 5, k2);
|
||||
Subround(H, a1, b1, c1, d1, e1, buffer_[11], 12, k2);
|
||||
Subround(H, e1, a1, b1, c1, d1, buffer_[ 5], 7, k2);
|
||||
Subround(H, d1, e1, a1, b1, c1, buffer_[12], 5, k2);
|
||||
|
||||
Subround(I, c1, d1, e1, a1, b1, *(word32*)&buffer_[ 1*4], 11, k3);
|
||||
Subround(I, b1, c1, d1, e1, a1, *(word32*)&buffer_[ 9*4], 12, k3);
|
||||
Subround(I, a1, b1, c1, d1, e1, *(word32*)&buffer_[11*4], 14, k3);
|
||||
Subround(I, e1, a1, b1, c1, d1, *(word32*)&buffer_[10*4], 15, k3);
|
||||
Subround(I, d1, e1, a1, b1, c1, *(word32*)&buffer_[ 0*4], 14, k3);
|
||||
Subround(I, c1, d1, e1, a1, b1, *(word32*)&buffer_[ 8*4], 15, k3);
|
||||
Subround(I, b1, c1, d1, e1, a1, *(word32*)&buffer_[12*4], 9, k3);
|
||||
Subround(I, a1, b1, c1, d1, e1, *(word32*)&buffer_[ 4*4], 8, k3);
|
||||
Subround(I, e1, a1, b1, c1, d1, *(word32*)&buffer_[13*4], 9, k3);
|
||||
Subround(I, d1, e1, a1, b1, c1, *(word32*)&buffer_[ 3*4], 14, k3);
|
||||
Subround(I, c1, d1, e1, a1, b1, *(word32*)&buffer_[ 7*4], 5, k3);
|
||||
Subround(I, b1, c1, d1, e1, a1, *(word32*)&buffer_[15*4], 6, k3);
|
||||
Subround(I, a1, b1, c1, d1, e1, *(word32*)&buffer_[14*4], 8, k3);
|
||||
Subround(I, e1, a1, b1, c1, d1, *(word32*)&buffer_[ 5*4], 6, k3);
|
||||
Subround(I, d1, e1, a1, b1, c1, *(word32*)&buffer_[ 6*4], 5, k3);
|
||||
Subround(I, c1, d1, e1, a1, b1, *(word32*)&buffer_[ 2*4], 12, k3);
|
||||
Subround(I, c1, d1, e1, a1, b1, buffer_[ 1], 11, k3);
|
||||
Subround(I, b1, c1, d1, e1, a1, buffer_[ 9], 12, k3);
|
||||
Subround(I, a1, b1, c1, d1, e1, buffer_[11], 14, k3);
|
||||
Subround(I, e1, a1, b1, c1, d1, buffer_[10], 15, k3);
|
||||
Subround(I, d1, e1, a1, b1, c1, buffer_[ 0], 14, k3);
|
||||
Subround(I, c1, d1, e1, a1, b1, buffer_[ 8], 15, k3);
|
||||
Subround(I, b1, c1, d1, e1, a1, buffer_[12], 9, k3);
|
||||
Subround(I, a1, b1, c1, d1, e1, buffer_[ 4], 8, k3);
|
||||
Subround(I, e1, a1, b1, c1, d1, buffer_[13], 9, k3);
|
||||
Subround(I, d1, e1, a1, b1, c1, buffer_[ 3], 14, k3);
|
||||
Subround(I, c1, d1, e1, a1, b1, buffer_[ 7], 5, k3);
|
||||
Subround(I, b1, c1, d1, e1, a1, buffer_[15], 6, k3);
|
||||
Subround(I, a1, b1, c1, d1, e1, buffer_[14], 8, k3);
|
||||
Subround(I, e1, a1, b1, c1, d1, buffer_[ 5], 6, k3);
|
||||
Subround(I, d1, e1, a1, b1, c1, buffer_[ 6], 5, k3);
|
||||
Subround(I, c1, d1, e1, a1, b1, buffer_[ 2], 12, k3);
|
||||
|
||||
Subround(J, b1, c1, d1, e1, a1, *(word32*)&buffer_[ 4*4], 9, k4);
|
||||
Subround(J, a1, b1, c1, d1, e1, *(word32*)&buffer_[ 0*4], 15, k4);
|
||||
Subround(J, e1, a1, b1, c1, d1, *(word32*)&buffer_[ 5*4], 5, k4);
|
||||
Subround(J, d1, e1, a1, b1, c1, *(word32*)&buffer_[ 9*4], 11, k4);
|
||||
Subround(J, c1, d1, e1, a1, b1, *(word32*)&buffer_[ 7*4], 6, k4);
|
||||
Subround(J, b1, c1, d1, e1, a1, *(word32*)&buffer_[12*4], 8, k4);
|
||||
Subround(J, a1, b1, c1, d1, e1, *(word32*)&buffer_[ 2*4], 13, k4);
|
||||
Subround(J, e1, a1, b1, c1, d1, *(word32*)&buffer_[10*4], 12, k4);
|
||||
Subround(J, d1, e1, a1, b1, c1, *(word32*)&buffer_[14*4], 5, k4);
|
||||
Subround(J, c1, d1, e1, a1, b1, *(word32*)&buffer_[ 1*4], 12, k4);
|
||||
Subround(J, b1, c1, d1, e1, a1, *(word32*)&buffer_[ 3*4], 13, k4);
|
||||
Subround(J, a1, b1, c1, d1, e1, *(word32*)&buffer_[ 8*4], 14, k4);
|
||||
Subround(J, e1, a1, b1, c1, d1, *(word32*)&buffer_[11*4], 11, k4);
|
||||
Subround(J, d1, e1, a1, b1, c1, *(word32*)&buffer_[ 6*4], 8, k4);
|
||||
Subround(J, c1, d1, e1, a1, b1, *(word32*)&buffer_[15*4], 5, k4);
|
||||
Subround(J, b1, c1, d1, e1, a1, *(word32*)&buffer_[13*4], 6, k4);
|
||||
Subround(J, b1, c1, d1, e1, a1, buffer_[ 4], 9, k4);
|
||||
Subround(J, a1, b1, c1, d1, e1, buffer_[ 0], 15, k4);
|
||||
Subround(J, e1, a1, b1, c1, d1, buffer_[ 5], 5, k4);
|
||||
Subround(J, d1, e1, a1, b1, c1, buffer_[ 9], 11, k4);
|
||||
Subround(J, c1, d1, e1, a1, b1, buffer_[ 7], 6, k4);
|
||||
Subround(J, b1, c1, d1, e1, a1, buffer_[12], 8, k4);
|
||||
Subround(J, a1, b1, c1, d1, e1, buffer_[ 2], 13, k4);
|
||||
Subround(J, e1, a1, b1, c1, d1, buffer_[10], 12, k4);
|
||||
Subround(J, d1, e1, a1, b1, c1, buffer_[14], 5, k4);
|
||||
Subround(J, c1, d1, e1, a1, b1, buffer_[ 1], 12, k4);
|
||||
Subround(J, b1, c1, d1, e1, a1, buffer_[ 3], 13, k4);
|
||||
Subround(J, a1, b1, c1, d1, e1, buffer_[ 8], 14, k4);
|
||||
Subround(J, e1, a1, b1, c1, d1, buffer_[11], 11, k4);
|
||||
Subround(J, d1, e1, a1, b1, c1, buffer_[ 6], 8, k4);
|
||||
Subround(J, c1, d1, e1, a1, b1, buffer_[15], 5, k4);
|
||||
Subround(J, b1, c1, d1, e1, a1, buffer_[13], 6, k4);
|
||||
|
||||
Subround(J, a2, b2, c2, d2, e2, *(word32*)&buffer_[ 5*4], 8, k5);
|
||||
Subround(J, e2, a2, b2, c2, d2, *(word32*)&buffer_[14*4], 9, k5);
|
||||
Subround(J, d2, e2, a2, b2, c2, *(word32*)&buffer_[ 7*4], 9, k5);
|
||||
Subround(J, c2, d2, e2, a2, b2, *(word32*)&buffer_[ 0*4], 11, k5);
|
||||
Subround(J, b2, c2, d2, e2, a2, *(word32*)&buffer_[ 9*4], 13, k5);
|
||||
Subround(J, a2, b2, c2, d2, e2, *(word32*)&buffer_[ 2*4], 15, k5);
|
||||
Subround(J, e2, a2, b2, c2, d2, *(word32*)&buffer_[11*4], 15, k5);
|
||||
Subround(J, d2, e2, a2, b2, c2, *(word32*)&buffer_[ 4*4], 5, k5);
|
||||
Subround(J, c2, d2, e2, a2, b2, *(word32*)&buffer_[13*4], 7, k5);
|
||||
Subround(J, b2, c2, d2, e2, a2, *(word32*)&buffer_[ 6*4], 7, k5);
|
||||
Subround(J, a2, b2, c2, d2, e2, *(word32*)&buffer_[15*4], 8, k5);
|
||||
Subround(J, e2, a2, b2, c2, d2, *(word32*)&buffer_[ 8*4], 11, k5);
|
||||
Subround(J, d2, e2, a2, b2, c2, *(word32*)&buffer_[ 1*4], 14, k5);
|
||||
Subround(J, c2, d2, e2, a2, b2, *(word32*)&buffer_[10*4], 14, k5);
|
||||
Subround(J, b2, c2, d2, e2, a2, *(word32*)&buffer_[ 3*4], 12, k5);
|
||||
Subround(J, a2, b2, c2, d2, e2, *(word32*)&buffer_[12*4], 6, k5);
|
||||
Subround(J, a2, b2, c2, d2, e2, buffer_[ 5], 8, k5);
|
||||
Subround(J, e2, a2, b2, c2, d2, buffer_[14], 9, k5);
|
||||
Subround(J, d2, e2, a2, b2, c2, buffer_[ 7], 9, k5);
|
||||
Subround(J, c2, d2, e2, a2, b2, buffer_[ 0], 11, k5);
|
||||
Subround(J, b2, c2, d2, e2, a2, buffer_[ 9], 13, k5);
|
||||
Subround(J, a2, b2, c2, d2, e2, buffer_[ 2], 15, k5);
|
||||
Subround(J, e2, a2, b2, c2, d2, buffer_[11], 15, k5);
|
||||
Subround(J, d2, e2, a2, b2, c2, buffer_[ 4], 5, k5);
|
||||
Subround(J, c2, d2, e2, a2, b2, buffer_[13], 7, k5);
|
||||
Subround(J, b2, c2, d2, e2, a2, buffer_[ 6], 7, k5);
|
||||
Subround(J, a2, b2, c2, d2, e2, buffer_[15], 8, k5);
|
||||
Subround(J, e2, a2, b2, c2, d2, buffer_[ 8], 11, k5);
|
||||
Subround(J, d2, e2, a2, b2, c2, buffer_[ 1], 14, k5);
|
||||
Subround(J, c2, d2, e2, a2, b2, buffer_[10], 14, k5);
|
||||
Subround(J, b2, c2, d2, e2, a2, buffer_[ 3], 12, k5);
|
||||
Subround(J, a2, b2, c2, d2, e2, buffer_[12], 6, k5);
|
||||
|
||||
Subround(I, e2, a2, b2, c2, d2, *(word32*)&buffer_[ 6*4], 9, k6);
|
||||
Subround(I, d2, e2, a2, b2, c2, *(word32*)&buffer_[11*4], 13, k6);
|
||||
Subround(I, c2, d2, e2, a2, b2, *(word32*)&buffer_[ 3*4], 15, k6);
|
||||
Subround(I, b2, c2, d2, e2, a2, *(word32*)&buffer_[ 7*4], 7, k6);
|
||||
Subround(I, a2, b2, c2, d2, e2, *(word32*)&buffer_[ 0*4], 12, k6);
|
||||
Subround(I, e2, a2, b2, c2, d2, *(word32*)&buffer_[13*4], 8, k6);
|
||||
Subround(I, d2, e2, a2, b2, c2, *(word32*)&buffer_[ 5*4], 9, k6);
|
||||
Subround(I, c2, d2, e2, a2, b2, *(word32*)&buffer_[10*4], 11, k6);
|
||||
Subround(I, b2, c2, d2, e2, a2, *(word32*)&buffer_[14*4], 7, k6);
|
||||
Subround(I, a2, b2, c2, d2, e2, *(word32*)&buffer_[15*4], 7, k6);
|
||||
Subround(I, e2, a2, b2, c2, d2, *(word32*)&buffer_[ 8*4], 12, k6);
|
||||
Subround(I, d2, e2, a2, b2, c2, *(word32*)&buffer_[12*4], 7, k6);
|
||||
Subround(I, c2, d2, e2, a2, b2, *(word32*)&buffer_[ 4*4], 6, k6);
|
||||
Subround(I, b2, c2, d2, e2, a2, *(word32*)&buffer_[ 9*4], 15, k6);
|
||||
Subround(I, a2, b2, c2, d2, e2, *(word32*)&buffer_[ 1*4], 13, k6);
|
||||
Subround(I, e2, a2, b2, c2, d2, *(word32*)&buffer_[ 2*4], 11, k6);
|
||||
Subround(I, e2, a2, b2, c2, d2, buffer_[ 6], 9, k6);
|
||||
Subround(I, d2, e2, a2, b2, c2, buffer_[11], 13, k6);
|
||||
Subround(I, c2, d2, e2, a2, b2, buffer_[ 3], 15, k6);
|
||||
Subround(I, b2, c2, d2, e2, a2, buffer_[ 7], 7, k6);
|
||||
Subround(I, a2, b2, c2, d2, e2, buffer_[ 0], 12, k6);
|
||||
Subround(I, e2, a2, b2, c2, d2, buffer_[13], 8, k6);
|
||||
Subround(I, d2, e2, a2, b2, c2, buffer_[ 5], 9, k6);
|
||||
Subround(I, c2, d2, e2, a2, b2, buffer_[10], 11, k6);
|
||||
Subround(I, b2, c2, d2, e2, a2, buffer_[14], 7, k6);
|
||||
Subround(I, a2, b2, c2, d2, e2, buffer_[15], 7, k6);
|
||||
Subround(I, e2, a2, b2, c2, d2, buffer_[ 8], 12, k6);
|
||||
Subround(I, d2, e2, a2, b2, c2, buffer_[12], 7, k6);
|
||||
Subround(I, c2, d2, e2, a2, b2, buffer_[ 4], 6, k6);
|
||||
Subround(I, b2, c2, d2, e2, a2, buffer_[ 9], 15, k6);
|
||||
Subround(I, a2, b2, c2, d2, e2, buffer_[ 1], 13, k6);
|
||||
Subround(I, e2, a2, b2, c2, d2, buffer_[ 2], 11, k6);
|
||||
|
||||
Subround(H, d2, e2, a2, b2, c2, *(word32*)&buffer_[15*4], 9, k7);
|
||||
Subround(H, c2, d2, e2, a2, b2, *(word32*)&buffer_[ 5*4], 7, k7);
|
||||
Subround(H, b2, c2, d2, e2, a2, *(word32*)&buffer_[ 1*4], 15, k7);
|
||||
Subround(H, a2, b2, c2, d2, e2, *(word32*)&buffer_[ 3*4], 11, k7);
|
||||
Subround(H, e2, a2, b2, c2, d2, *(word32*)&buffer_[ 7*4], 8, k7);
|
||||
Subround(H, d2, e2, a2, b2, c2, *(word32*)&buffer_[14*4], 6, k7);
|
||||
Subround(H, c2, d2, e2, a2, b2, *(word32*)&buffer_[ 6*4], 6, k7);
|
||||
Subround(H, b2, c2, d2, e2, a2, *(word32*)&buffer_[ 9*4], 14, k7);
|
||||
Subround(H, a2, b2, c2, d2, e2, *(word32*)&buffer_[11*4], 12, k7);
|
||||
Subround(H, e2, a2, b2, c2, d2, *(word32*)&buffer_[ 8*4], 13, k7);
|
||||
Subround(H, d2, e2, a2, b2, c2, *(word32*)&buffer_[12*4], 5, k7);
|
||||
Subround(H, c2, d2, e2, a2, b2, *(word32*)&buffer_[ 2*4], 14, k7);
|
||||
Subround(H, b2, c2, d2, e2, a2, *(word32*)&buffer_[10*4], 13, k7);
|
||||
Subround(H, a2, b2, c2, d2, e2, *(word32*)&buffer_[ 0*4], 13, k7);
|
||||
Subround(H, e2, a2, b2, c2, d2, *(word32*)&buffer_[ 4*4], 7, k7);
|
||||
Subround(H, d2, e2, a2, b2, c2, *(word32*)&buffer_[13*4], 5, k7);
|
||||
Subround(H, d2, e2, a2, b2, c2, buffer_[15], 9, k7);
|
||||
Subround(H, c2, d2, e2, a2, b2, buffer_[ 5], 7, k7);
|
||||
Subround(H, b2, c2, d2, e2, a2, buffer_[ 1], 15, k7);
|
||||
Subround(H, a2, b2, c2, d2, e2, buffer_[ 3], 11, k7);
|
||||
Subround(H, e2, a2, b2, c2, d2, buffer_[ 7], 8, k7);
|
||||
Subround(H, d2, e2, a2, b2, c2, buffer_[14], 6, k7);
|
||||
Subround(H, c2, d2, e2, a2, b2, buffer_[ 6], 6, k7);
|
||||
Subround(H, b2, c2, d2, e2, a2, buffer_[ 9], 14, k7);
|
||||
Subround(H, a2, b2, c2, d2, e2, buffer_[11], 12, k7);
|
||||
Subround(H, e2, a2, b2, c2, d2, buffer_[ 8], 13, k7);
|
||||
Subround(H, d2, e2, a2, b2, c2, buffer_[12], 5, k7);
|
||||
Subround(H, c2, d2, e2, a2, b2, buffer_[ 2], 14, k7);
|
||||
Subround(H, b2, c2, d2, e2, a2, buffer_[10], 13, k7);
|
||||
Subround(H, a2, b2, c2, d2, e2, buffer_[ 0], 13, k7);
|
||||
Subround(H, e2, a2, b2, c2, d2, buffer_[ 4], 7, k7);
|
||||
Subround(H, d2, e2, a2, b2, c2, buffer_[13], 5, k7);
|
||||
|
||||
Subround(G, c2, d2, e2, a2, b2, *(word32*)&buffer_[ 8*4], 15, k8);
|
||||
Subround(G, b2, c2, d2, e2, a2, *(word32*)&buffer_[ 6*4], 5, k8);
|
||||
Subround(G, a2, b2, c2, d2, e2, *(word32*)&buffer_[ 4*4], 8, k8);
|
||||
Subround(G, e2, a2, b2, c2, d2, *(word32*)&buffer_[ 1*4], 11, k8);
|
||||
Subround(G, d2, e2, a2, b2, c2, *(word32*)&buffer_[ 3*4], 14, k8);
|
||||
Subround(G, c2, d2, e2, a2, b2, *(word32*)&buffer_[11*4], 14, k8);
|
||||
Subround(G, b2, c2, d2, e2, a2, *(word32*)&buffer_[15*4], 6, k8);
|
||||
Subround(G, a2, b2, c2, d2, e2, *(word32*)&buffer_[ 0*4], 14, k8);
|
||||
Subround(G, e2, a2, b2, c2, d2, *(word32*)&buffer_[ 5*4], 6, k8);
|
||||
Subround(G, d2, e2, a2, b2, c2, *(word32*)&buffer_[12*4], 9, k8);
|
||||
Subround(G, c2, d2, e2, a2, b2, *(word32*)&buffer_[ 2*4], 12, k8);
|
||||
Subround(G, b2, c2, d2, e2, a2, *(word32*)&buffer_[13*4], 9, k8);
|
||||
Subround(G, a2, b2, c2, d2, e2, *(word32*)&buffer_[ 9*4], 12, k8);
|
||||
Subround(G, e2, a2, b2, c2, d2, *(word32*)&buffer_[ 7*4], 5, k8);
|
||||
Subround(G, d2, e2, a2, b2, c2, *(word32*)&buffer_[10*4], 15, k8);
|
||||
Subround(G, c2, d2, e2, a2, b2, *(word32*)&buffer_[14*4], 8, k8);
|
||||
Subround(G, c2, d2, e2, a2, b2, buffer_[ 8], 15, k8);
|
||||
Subround(G, b2, c2, d2, e2, a2, buffer_[ 6], 5, k8);
|
||||
Subround(G, a2, b2, c2, d2, e2, buffer_[ 4], 8, k8);
|
||||
Subround(G, e2, a2, b2, c2, d2, buffer_[ 1], 11, k8);
|
||||
Subround(G, d2, e2, a2, b2, c2, buffer_[ 3], 14, k8);
|
||||
Subround(G, c2, d2, e2, a2, b2, buffer_[11], 14, k8);
|
||||
Subround(G, b2, c2, d2, e2, a2, buffer_[15], 6, k8);
|
||||
Subround(G, a2, b2, c2, d2, e2, buffer_[ 0], 14, k8);
|
||||
Subround(G, e2, a2, b2, c2, d2, buffer_[ 5], 6, k8);
|
||||
Subround(G, d2, e2, a2, b2, c2, buffer_[12], 9, k8);
|
||||
Subround(G, c2, d2, e2, a2, b2, buffer_[ 2], 12, k8);
|
||||
Subround(G, b2, c2, d2, e2, a2, buffer_[13], 9, k8);
|
||||
Subround(G, a2, b2, c2, d2, e2, buffer_[ 9], 12, k8);
|
||||
Subround(G, e2, a2, b2, c2, d2, buffer_[ 7], 5, k8);
|
||||
Subround(G, d2, e2, a2, b2, c2, buffer_[10], 15, k8);
|
||||
Subround(G, c2, d2, e2, a2, b2, buffer_[14], 8, k8);
|
||||
|
||||
Subround(F, b2, c2, d2, e2, a2, *(word32*)&buffer_[12*4], 8, k9);
|
||||
Subround(F, a2, b2, c2, d2, e2, *(word32*)&buffer_[15*4], 5, k9);
|
||||
Subround(F, e2, a2, b2, c2, d2, *(word32*)&buffer_[10*4], 12, k9);
|
||||
Subround(F, d2, e2, a2, b2, c2, *(word32*)&buffer_[ 4*4], 9, k9);
|
||||
Subround(F, c2, d2, e2, a2, b2, *(word32*)&buffer_[ 1*4], 12, k9);
|
||||
Subround(F, b2, c2, d2, e2, a2, *(word32*)&buffer_[ 5*4], 5, k9);
|
||||
Subround(F, a2, b2, c2, d2, e2, *(word32*)&buffer_[ 8*4], 14, k9);
|
||||
Subround(F, e2, a2, b2, c2, d2, *(word32*)&buffer_[ 7*4], 6, k9);
|
||||
Subround(F, d2, e2, a2, b2, c2, *(word32*)&buffer_[ 6*4], 8, k9);
|
||||
Subround(F, c2, d2, e2, a2, b2, *(word32*)&buffer_[ 2*4], 13, k9);
|
||||
Subround(F, b2, c2, d2, e2, a2, *(word32*)&buffer_[13*4], 6, k9);
|
||||
Subround(F, a2, b2, c2, d2, e2, *(word32*)&buffer_[14*4], 5, k9);
|
||||
Subround(F, e2, a2, b2, c2, d2, *(word32*)&buffer_[ 0*4], 15, k9);
|
||||
Subround(F, d2, e2, a2, b2, c2, *(word32*)&buffer_[ 3*4], 13, k9);
|
||||
Subround(F, c2, d2, e2, a2, b2, *(word32*)&buffer_[ 9*4], 11, k9);
|
||||
Subround(F, b2, c2, d2, e2, a2, *(word32*)&buffer_[11*4], 11, k9);
|
||||
Subround(F, b2, c2, d2, e2, a2, buffer_[12], 8, k9);
|
||||
Subround(F, a2, b2, c2, d2, e2, buffer_[15], 5, k9);
|
||||
Subround(F, e2, a2, b2, c2, d2, buffer_[10], 12, k9);
|
||||
Subround(F, d2, e2, a2, b2, c2, buffer_[ 4], 9, k9);
|
||||
Subround(F, c2, d2, e2, a2, b2, buffer_[ 1], 12, k9);
|
||||
Subround(F, b2, c2, d2, e2, a2, buffer_[ 5], 5, k9);
|
||||
Subround(F, a2, b2, c2, d2, e2, buffer_[ 8], 14, k9);
|
||||
Subround(F, e2, a2, b2, c2, d2, buffer_[ 7], 6, k9);
|
||||
Subround(F, d2, e2, a2, b2, c2, buffer_[ 6], 8, k9);
|
||||
Subround(F, c2, d2, e2, a2, b2, buffer_[ 2], 13, k9);
|
||||
Subround(F, b2, c2, d2, e2, a2, buffer_[13], 6, k9);
|
||||
Subround(F, a2, b2, c2, d2, e2, buffer_[14], 5, k9);
|
||||
Subround(F, e2, a2, b2, c2, d2, buffer_[ 0], 15, k9);
|
||||
Subround(F, d2, e2, a2, b2, c2, buffer_[ 3], 13, k9);
|
||||
Subround(F, c2, d2, e2, a2, b2, buffer_[ 9], 11, k9);
|
||||
Subround(F, b2, c2, d2, e2, a2, buffer_[11], 11, k9);
|
||||
|
||||
c1 = digest_[1] + c1 + d2;
|
||||
digest_[1] = digest_[2] + d1 + e2;
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#include "rsa.hpp"
|
||||
#include "asn.hpp"
|
||||
#include "modarith.hpp"
|
||||
#include "stdexcept.hpp"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
namespace TaoCrypt {
|
||||
|
||||
#define blk0(i) (W[i] = (*reinterpret_cast<word32*>(&buffer_[i*4])))
|
||||
#define blk0(i) (W[i] = buffer_[i])
|
||||
#define blk1(i) (W[i&15] = \
|
||||
rotlFixed(W[(i+13)&15]^W[(i+8)&15]^W[(i+2)&15]^W[i&15],1))
|
||||
|
||||
|
@ -85,10 +85,11 @@ SHA& SHA::operator= (const SHA& that)
|
|||
|
||||
void SHA::Swap(SHA& other)
|
||||
{
|
||||
mySTL::swap(buffer_, other.buffer_);
|
||||
mySTL::swap(buffLen_, other.buffLen_);
|
||||
mySTL::swap(digest_, other.digest_);
|
||||
mySTL::swap(length_, other.length_);
|
||||
mySTL::swap(buffLen_, other.buffLen_);
|
||||
|
||||
memcpy(digest_, other.digest_, DIGEST_SIZE);
|
||||
memcpy(buffer_, other.buffer_, BLOCK_SIZE);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -388,6 +388,9 @@ inline double ulonglong2double(ulonglong value)
|
|||
#define HAVE_SPATIAL 1
|
||||
#define HAVE_RTREE_KEYS 1
|
||||
|
||||
#define HAVE_OPENSSL 1
|
||||
#define HAVE_YASSL 1
|
||||
|
||||
/* Define charsets you want */
|
||||
/* #undef HAVE_CHARSET_armscii8 */
|
||||
/* #undef HAVE_CHARSET_ascii */
|
||||
|
|
|
@ -285,13 +285,7 @@ C_MODE_END
|
|||
# endif
|
||||
#endif /* TIME_WITH_SYS_TIME */
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#if defined(HAVE_OPENSSL) && !defined(__FreeBSD__) && !defined(NeXT) && !defined(__OpenBSD__) && !defined(__APPLE__)
|
||||
#define crypt unistd_crypt
|
||||
#endif
|
||||
#include <unistd.h>
|
||||
#ifdef HAVE_OPENSSL
|
||||
#undef crypt
|
||||
#endif
|
||||
#endif
|
||||
#if defined(__cplusplus) && defined(NO_CPLUSPLUS_ALLOCA)
|
||||
#undef HAVE_ALLOCA
|
||||
|
|
|
@ -263,6 +263,7 @@ extern my_bool NEAR my_disable_locking,NEAR my_disable_async_io,
|
|||
extern char wild_many,wild_one,wild_prefix;
|
||||
extern const char *charsets_dir;
|
||||
extern char *defaults_extra_file;
|
||||
extern const char *defaults_instance;
|
||||
|
||||
extern my_bool timed_mutexes;
|
||||
|
||||
|
|
|
@ -96,6 +96,7 @@ libmysqld.a: libmysqld_int.a $(INC_LIB)
|
|||
if DARWIN_MWCC
|
||||
mwld -lib -o $@ libmysqld_int.a `echo $(INC_LIB) | sort -u`
|
||||
else
|
||||
-rm -f libmysqld.a
|
||||
if test "$(host_os)" = "netware" ; \
|
||||
then \
|
||||
$(libmysqld_a_AR) libmysqld.a libmysqld_int.a $(INC_LIB) ; \
|
||||
|
|
|
@ -113,6 +113,7 @@ EXPORTS
|
|||
my_charset_latin1
|
||||
init_alloc_root
|
||||
my_progname
|
||||
get_charset_name
|
||||
get_charset_by_csname
|
||||
print_defaults
|
||||
find_type
|
||||
|
|
|
@ -35,7 +35,8 @@ testdir = $(benchdir_root)/mysql-test
|
|||
EXTRA_SCRIPTS = mysql-test-run.sh mysql-test-run.pl install_test_db.sh valgrind.supp
|
||||
EXTRA_DIST = $(EXTRA_SCRIPTS)
|
||||
test_SCRIPTS = mysql-test-run install_test_db
|
||||
test_DATA = std_data/client-key.pem std_data/client-cert.pem std_data/cacert.pem
|
||||
test_DATA = std_data/client-key.pem std_data/client-cert.pem std_data/cacert.pem \
|
||||
std_data/server-cert.pem std_data/server-key.pem
|
||||
CLEANFILES = $(test_SCRIPTS) $(test_DATA)
|
||||
|
||||
INCLUDES = -I$(srcdir)/../include -I../include -I..
|
||||
|
|
19
mysql-test/include/show_msg.inc
Executable file
19
mysql-test/include/show_msg.inc
Executable file
|
@ -0,0 +1,19 @@
|
|||
#### include/show_msg.inc
|
||||
#
|
||||
# This file writes the value set in @message into the
|
||||
# a protocol file as part of executing a test sequence
|
||||
#
|
||||
# Usage:
|
||||
# Add the following to any *.test file:
|
||||
# :
|
||||
# set @message="This is a message example";
|
||||
# --source include/show_msg.inc
|
||||
# :
|
||||
#
|
||||
|
||||
--disable_query_log
|
||||
SET @utf8_message = CONVERT(@message using utf8);
|
||||
select @utf8_message as ""
|
||||
union
|
||||
select repeat(CONVERT('-' using utf8),char_length(@utf8_message));
|
||||
--enable_query_log
|
23
mysql-test/include/show_msg80.inc
Executable file
23
mysql-test/include/show_msg80.inc
Executable file
|
@ -0,0 +1,23 @@
|
|||
#### include/show_msg80.inc
|
||||
#
|
||||
# This file writes the value set in @message into the
|
||||
# a protocol file as part of executing a test sequence
|
||||
# with a dash line that is fixed on 80 characters.
|
||||
# This can be used in the case of long messages,
|
||||
# multi line messages that exceed 80 or if an 80 char
|
||||
# line is desired for short messages.
|
||||
#
|
||||
# Usage:
|
||||
# Add the following to any *.test file:
|
||||
# :
|
||||
# set @message="This is a message example";
|
||||
# --source include/show_msg80.inc
|
||||
# :
|
||||
#
|
||||
|
||||
--disable_query_log
|
||||
SET @utf8_message = CONVERT(@message using utf8);
|
||||
select @utf8_message as ""
|
||||
union
|
||||
select repeat(CONVERT('-' using utf8),80);
|
||||
--enable_query_log
|
|
@ -1806,11 +1806,12 @@ sub mysqld_arguments ($$$$$) {
|
|||
|
||||
if ( $opt_with_openssl )
|
||||
{
|
||||
mtr_add_arg($args, "%s--ssl-ca=%s/SSL/cacert.pem", $prefix, $glob_basedir);
|
||||
mtr_add_arg($args, "%s--ssl-cert=%s/SSL/server-cert.pem", $prefix,
|
||||
$glob_basedir);
|
||||
mtr_add_arg($args, "%s--ssl-key=%s/SSL/server-key.pem", $prefix,
|
||||
$glob_basedir);
|
||||
mtr_add_arg($args, "%s--ssl-ca=%s/std_data/cacert.pem", $prefix,
|
||||
$glob_mysql_test_dir);
|
||||
mtr_add_arg($args, "%s--ssl-cert=%s/std_data/server-cert.pem", $prefix,
|
||||
$glob_mysql_test_dir);
|
||||
mtr_add_arg($args, "%s--ssl-key=%s/std_data/server-key.pem", $prefix,
|
||||
$glob_mysql_test_dir);
|
||||
}
|
||||
|
||||
if ( $opt_warnings )
|
||||
|
@ -2148,9 +2149,12 @@ sub run_mysqltest ($$) {
|
|||
|
||||
if ( $opt_with_openssl )
|
||||
{
|
||||
mtr_add_arg($args, "--ssl-ca=%s/SSL/cacert.pem", $glob_basedir);
|
||||
mtr_add_arg($args, "--ssl-cert=%s/SSL/client-cert.pem", $glob_basedir);
|
||||
mtr_add_arg($args, "--ssl-key=%s/SSL/client-key.pem", $glob_basedir);
|
||||
mtr_add_arg($args, "--ssl-ca=%s/std_data/cacert.pem",
|
||||
$glob_mysql_test_dir);
|
||||
mtr_add_arg($args, "--ssl-cert=%s/std_data/client-cert.pem",
|
||||
$glob_mysql_test_dir);
|
||||
mtr_add_arg($args, "--ssl-key=%s/std_data/client-key.pem",
|
||||
$glob_mysql_test_dir);
|
||||
}
|
||||
|
||||
mtr_add_arg($args, "-R");
|
||||
|
|
|
@ -299,16 +299,16 @@ while test $# -gt 0; do
|
|||
--ndbcluster_port=*) NDBCLUSTER_PORT=`$ECHO "$1" | $SED -e "s;--ndbcluster_port=;;"` ;;
|
||||
--with-openssl)
|
||||
EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT \
|
||||
--ssl-ca=$BASEDIR/SSL/cacert.pem \
|
||||
--ssl-cert=$BASEDIR/SSL/server-cert.pem \
|
||||
--ssl-key=$BASEDIR/SSL/server-key.pem"
|
||||
--ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem \
|
||||
--ssl-cert=$MYSQL_TEST_DIR/std_data/server-cert.pem \
|
||||
--ssl-key=$MYSQL_TEST_DIR/std_data/server-key.pem"
|
||||
EXTRA_SLAVE_MYSQLD_OPT="$EXTRA_SLAVE_MYSQLD_OPT \
|
||||
--ssl-ca=$BASEDIR/SSL/cacert.pem \
|
||||
--ssl-cert=$BASEDIR/SSL/server-cert.pem \
|
||||
--ssl-key=$BASEDIR/SSL/server-key.pem"
|
||||
--ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem \
|
||||
--ssl-cert=$MYSQL_TEST_DIR/std_data/server-cert.pem \
|
||||
--ssl-key=$MYSQL_TEST_DIR/std_data/server-key.pem"
|
||||
MYSQL_TEST_SSL_OPTS="--ssl-ca=$BASEDIR/SSL/cacert.pem \
|
||||
--ssl-cert=$BASEDIR/SSL/client-cert.pem \
|
||||
--ssl-key=$BASEDIR/SSL/client-key.pem" ;;
|
||||
--ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem \
|
||||
--ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem" ;;
|
||||
--no-manager | --skip-manager) USE_MANAGER=0 ;;
|
||||
--manager)
|
||||
USE_MANAGER=1
|
||||
|
@ -1793,6 +1793,11 @@ then
|
|||
$ECHO "Installing Test Databases"
|
||||
mysql_install_db
|
||||
|
||||
if [ -n "$1" -a `expr "X$*" : '.*ndb'` -eq 0 ]
|
||||
then
|
||||
USE_NDBCLUSTER=""
|
||||
fi
|
||||
|
||||
start_manager
|
||||
|
||||
# Do not automagically start daemons if we are in gdb or running only one test
|
||||
|
|
|
@ -1345,11 +1345,11 @@ void setup(char *file __attribute__((unused)))
|
|||
#endif /* HAVE_OPENSSL */
|
||||
|
||||
/* OpenSSL paths */
|
||||
snprintf(ca_cert, FN_REFLEN, "%s/SSL/cacert.pem", base_dir);
|
||||
snprintf(server_cert, FN_REFLEN, "%s/SSL/server-cert.pem", base_dir);
|
||||
snprintf(server_key, FN_REFLEN, "%s/SSL/server-key.pem", base_dir);
|
||||
snprintf(client_cert, FN_REFLEN, "%s/SSL/client-cert.pem", base_dir);
|
||||
snprintf(client_key, FN_REFLEN, "%s/SSL/client-key.pem", base_dir);
|
||||
snprintf(ca_cert, FN_REFLEN, "%s/std_data/cacert.pem", mysql_test_dir);
|
||||
snprintf(server_cert, FN_REFLEN, "%s/std_data/server-cert.pem", mysql_test_dir);
|
||||
snprintf(server_key, FN_REFLEN, "%s/std_data/server-key.pem", mysql_test_dir);
|
||||
snprintf(client_cert, FN_REFLEN, "%s/std_data/client-cert.pem", mysql_test_dir);
|
||||
snprintf(client_key, FN_REFLEN, "%s/std_data/client-key.pem", mysql_test_dir);
|
||||
|
||||
/* setup files */
|
||||
snprintf(mysqld_file, FN_REFLEN, "%s/mysqld", bin_dir);
|
||||
|
@ -1378,11 +1378,11 @@ void setup(char *file __attribute__((unused)))
|
|||
#endif /* HAVE_OPENSSL */
|
||||
|
||||
/* OpenSSL paths */
|
||||
snprintf(ca_cert, FN_REFLEN, "%s/SSL/cacert.pem", base_dir);
|
||||
snprintf(server_cert, FN_REFLEN, "%s/SSL/server-cert.pem", base_dir);
|
||||
snprintf(server_key, FN_REFLEN, "%s/SSL/server-key.pem", base_dir);
|
||||
snprintf(client_cert, FN_REFLEN, "%s/SSL/client-cert.pem", base_dir);
|
||||
snprintf(client_key, FN_REFLEN, "%s/SSL/client-key.pem", base_dir);
|
||||
snprintf(ca_cert, FN_REFLEN, "%s/std_data/cacert.pem", mysql_test_dir);
|
||||
snprintf(server_cert, FN_REFLEN, "%s/std_data/server-cert.pem", mysql_test_dir);
|
||||
snprintf(server_key, FN_REFLEN, "%s/std_data/server-key.pem", mysql_test_dir);
|
||||
snprintf(client_cert, FN_REFLEN, "%s/std_data/client-cert.pem", mysql_test_dir);
|
||||
snprintf(client_key, FN_REFLEN, "%s/std_data/client-key.pem", mysql_test_dir);
|
||||
|
||||
/* setup files */
|
||||
#ifdef _DEBUG
|
||||
|
@ -1411,11 +1411,11 @@ void setup(char *file __attribute__((unused)))
|
|||
#endif /* HAVE_OPENSSL */
|
||||
|
||||
/* OpenSSL paths */
|
||||
snprintf(ca_cert, FN_REFLEN, "%s/SSL/cacert.pem", base_dir);
|
||||
snprintf(server_cert, FN_REFLEN, "%s/SSL/server-cert.pem", base_dir);
|
||||
snprintf(server_key, FN_REFLEN, "%s/SSL/server-key.pem", base_dir);
|
||||
snprintf(client_cert, FN_REFLEN, "%s/SSL/client-cert.pem", base_dir);
|
||||
snprintf(client_key, FN_REFLEN, "%s/SSL/client-key.pem", base_dir);
|
||||
snprintf(ca_cert, FN_REFLEN, "%s/std_data/cacert.pem", mysql_test_dir);
|
||||
snprintf(server_cert, FN_REFLEN, "%s/std_data/server-cert.pem", mysql_test_dir);
|
||||
snprintf(server_key, FN_REFLEN, "%s/std_data/server-key.pem", mysql_test_dir);
|
||||
snprintf(client_cert, FN_REFLEN, "%s/std_data/client-cert.pem", mysql_test_dir);
|
||||
snprintf(client_key, FN_REFLEN, "%s/std_data/client-key.pem", mysql_test_dir);
|
||||
|
||||
/* setup files */
|
||||
snprintf(mysqld_file, FN_REFLEN, "%s/sql/mysqld", base_dir);
|
||||
|
|
32
mysql-test/r/analyze.result
Normal file
32
mysql-test/r/analyze.result
Normal file
|
@ -0,0 +1,32 @@
|
|||
create table t1 (a bigint);
|
||||
lock tables t1 write;
|
||||
insert into t1 values(0);
|
||||
analyze table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
unlock tables;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
create table t1 (a bigint);
|
||||
insert into t1 values(0);
|
||||
lock tables t1 write;
|
||||
delete from t1;
|
||||
analyze table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
unlock tables;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
create table t1 (a bigint);
|
||||
insert into t1 values(0);
|
||||
analyze table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
|
@ -596,3 +596,9 @@ ERROR 42000: Incorrect database name 'xyz'
|
|||
create table t1(t1.name int);
|
||||
create table t2(test.t2.name int);
|
||||
drop table t1,t2;
|
||||
create database mysqltest;
|
||||
use mysqltest;
|
||||
drop database mysqltest;
|
||||
create table test.t1 like x;
|
||||
ERROR 42000: Incorrect database name 'NULL'
|
||||
drop table if exists test.t1;
|
||||
|
|
|
@ -143,3 +143,6 @@ select format(col2,6) from t1 where col1=7;
|
|||
format(col2,6)
|
||||
1,234,567,890,123,456.123450
|
||||
drop table t1;
|
||||
select round(150, 2);
|
||||
round(150, 2)
|
||||
150.00
|
||||
|
|
|
@ -696,3 +696,8 @@ drop table t1;
|
|||
create table t1 (a int not null, b int not null auto_increment,
|
||||
primary key(a, b)) engine=heap;
|
||||
ERROR 42000: Incorrect table definition; there can be only one auto column and it must be defined as a key
|
||||
create table t1 (c char(255), primary key(c(90)));
|
||||
insert into t1 values ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
|
||||
insert into t1 values ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
|
||||
ERROR 23000: Duplicate entry 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl' for key 1
|
||||
drop table t1;
|
||||
|
|
|
@ -132,6 +132,22 @@ a b
|
|||
handler t2 read last;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
|
||||
handler t2 close;
|
||||
handler t1 open;
|
||||
handler t1 read a next;
|
||||
a b
|
||||
14 aaa
|
||||
handler t1 read a next;
|
||||
a b
|
||||
15 bbb
|
||||
handler t1 close;
|
||||
handler t1 open;
|
||||
handler t1 read a prev;
|
||||
a b
|
||||
22 iii
|
||||
handler t1 read a prev;
|
||||
a b
|
||||
21 hhh
|
||||
handler t1 close;
|
||||
handler t1 open as t2;
|
||||
handler t2 read first;
|
||||
a b
|
||||
|
|
|
@ -329,3 +329,28 @@ ERROR 42S21: Duplicate column name 'c1'
|
|||
alter table t1 add key (c1,c1,c2);
|
||||
ERROR 42S21: Duplicate column name 'c1'
|
||||
drop table t1;
|
||||
create table t1 (a varchar(10), b varchar(10), key(a(10),b(10)));
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` varchar(10) default NULL,
|
||||
`b` varchar(10) default NULL,
|
||||
KEY `a` (`a`,`b`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
alter table t1 modify b varchar(20);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` varchar(10) default NULL,
|
||||
`b` varchar(20) default NULL,
|
||||
KEY `a` (`a`,`b`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
alter table t1 modify a varchar(20);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` varchar(20) default NULL,
|
||||
`b` varchar(20) default NULL,
|
||||
KEY `a` (`a`,`b`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
DROP TABLE IF EXISTS t1,t2,T1,T2,t3,T3;
|
||||
DROP TABLE IF EXISTS t1,t2,t3;
|
||||
DROP DATABASE IF EXISTS `TEST_$1`;
|
||||
DROP DATABASE IF EXISTS `test_$1`;
|
||||
CREATE TABLE T1 (a int);
|
||||
|
@ -159,3 +159,8 @@ select * from myUC;
|
|||
i
|
||||
use test;
|
||||
drop database mysqltest_LC2;
|
||||
create table t2aA (col1 int);
|
||||
create table t1Aa (col1 int);
|
||||
select t1Aa.col1 from t1aA,t2Aa where t1Aa.col1 = t2aA.col1;
|
||||
col1
|
||||
drop table t2aA, t1Aa;
|
||||
|
|
|
@ -148,3 +148,17 @@ a'b a"b
|
|||
select 'aaa\\','aa''a',"aa""a";
|
||||
aaa\ aa'a aa"a
|
||||
aaa\ aa'a aa"a
|
||||
SET @message = 'Here comes a message';
|
||||
|
||||
Here comes a message
|
||||
--------------------
|
||||
SET @message = USER();
|
||||
|
||||
root@localhost
|
||||
--------------
|
||||
SET @message = 'Here comes a very very long message that is longer then 80 characters
|
||||
on multiple lines';
|
||||
|
||||
Here comes a very very long message that is longer then 80 characters
|
||||
on multiple lines
|
||||
--------------------------------------------------------------------------------
|
||||
|
|
|
@ -2682,3 +2682,20 @@ AND FK_firma_id = 2;
|
|||
COUNT(*)
|
||||
0
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a int);
|
||||
CREATE TABLE t2 (a int);
|
||||
INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
|
||||
INSERT INTO t2 VALUES (2), (4), (6);
|
||||
SELECT t1.a FROM t1 STRAIGHT_JOIN t2 ON t1.a=t2.a;
|
||||
a
|
||||
2
|
||||
4
|
||||
EXPLAIN SELECT t1.a FROM t1 STRAIGHT_JOIN t2 ON t1.a=t2.a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 5
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
|
||||
EXPLAIN SELECT t1.a FROM t1 INNER JOIN t2 ON t1.a=t2.a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 3
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 5 Using where
|
||||
DROP TABLE t1,t2;
|
||||
|
|
|
@ -251,7 +251,7 @@ call sub1("sub1a", (select 7))|
|
|||
call sub1("sub1b", (select max(i) from t2))|
|
||||
call sub1("sub1c", (select i,d from t2 limit 1))|
|
||||
call sub1("sub1d", (select 1 from (select 1) a))|
|
||||
call sub2("sub2");
|
||||
call sub2("sub2")|
|
||||
select * from t1|
|
||||
id data
|
||||
sub1a 7
|
||||
|
@ -265,6 +265,7 @@ sub3((select max(i) from t2))
|
|||
drop procedure sub1|
|
||||
drop procedure sub2|
|
||||
drop function sub3|
|
||||
delete from t1|
|
||||
delete from t2|
|
||||
drop procedure if exists a0|
|
||||
create procedure a0(x int)
|
||||
|
@ -275,11 +276,6 @@ end while|
|
|||
call a0(3)|
|
||||
select * from t1|
|
||||
id data
|
||||
sub1a 7
|
||||
sub1b 3
|
||||
sub1c 1
|
||||
sub1d 1
|
||||
sub2 6
|
||||
a0 2
|
||||
a0 1
|
||||
a0 0
|
||||
|
|
|
@ -138,6 +138,8 @@ t1 CREATE TABLE `t1` (
|
|||
`min_num` decimal(7,6) default '0.000001'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1 ;
|
||||
set @@SQL_MODE=NULL;
|
||||
ERROR 42000: Variable 'sql_mode' can't be set to the value of 'NULL'
|
||||
SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE='';
|
||||
show local variables like 'SQL_MODE';
|
||||
Variable_name Value
|
||||
|
|
|
@ -896,6 +896,14 @@ create table t1( d1 decimal(18) unsigned, d2 decimal(20) unsigned, d3 decimal (2
|
|||
insert into t1 values(1,-1,-1);
|
||||
ERROR 22003: Out of range value adjusted for column 'd2' at row 1
|
||||
drop table t1;
|
||||
create table t1 (col1 decimal(5,2), col2 numeric(5,2));
|
||||
insert into t1 values (999.999,999.999);
|
||||
ERROR 22003: Out of range value adjusted for column 'col1' at row 1
|
||||
insert into t1 values (-999.999,-999.999);
|
||||
ERROR 22003: Out of range value adjusted for column 'col1' at row 1
|
||||
select * from t1;
|
||||
col1 col2
|
||||
drop table t1;
|
||||
set sql_mode='';
|
||||
set @sav_dpi= @@div_precision_increment;
|
||||
set @@div_precision_increment=15;
|
||||
|
|
|
@ -126,13 +126,13 @@ Some sample data
|
|||
Some samples
|
||||
explain select * from t1 where v like 'This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 3 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 258 NULL 3 Using where; Using index
|
||||
explain select * from t1 where v='This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref v v 257 const 3 Using where
|
||||
1 SIMPLE t1 ref v v 258 const 3 Using where; Using index
|
||||
explain select * from t1 where v like 'S%' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 2 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 258 NULL 2 Using where; Using index
|
||||
alter table t1 change v v varchar(256);
|
||||
select * from t1 where v like 'This is a test' order by v;
|
||||
v
|
||||
|
@ -150,13 +150,13 @@ Some sample data
|
|||
Some samples
|
||||
explain select * from t1 where v like 'This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 3 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 259 NULL 3 Using where; Using index
|
||||
explain select * from t1 where v='This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref v v 257 const 3 Using where
|
||||
1 SIMPLE t1 ref v v 259 const 3 Using where; Using index
|
||||
explain select * from t1 where v like 'S%' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 2 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 259 NULL 2 Using where; Using index
|
||||
alter table t1 change v v varchar(257);
|
||||
select * from t1 where v like 'This is a test' order by v;
|
||||
v
|
||||
|
@ -174,13 +174,13 @@ Some sample data
|
|||
Some samples
|
||||
explain select * from t1 where v like 'This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 3 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 260 NULL 3 Using where; Using index
|
||||
explain select * from t1 where v='This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref v v 257 const 3 Using where
|
||||
1 SIMPLE t1 ref v v 260 const 3 Using where; Using index
|
||||
explain select * from t1 where v like 'S%' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 2 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 260 NULL 2 Using where; Using index
|
||||
alter table t1 change v v varchar(258);
|
||||
select * from t1 where v like 'This is a test' order by v;
|
||||
v
|
||||
|
@ -198,13 +198,13 @@ Some sample data
|
|||
Some samples
|
||||
explain select * from t1 where v like 'This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 3 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 261 NULL 3 Using where; Using index
|
||||
explain select * from t1 where v='This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref v v 257 const 3 Using where
|
||||
1 SIMPLE t1 ref v v 261 const 3 Using where; Using index
|
||||
explain select * from t1 where v like 'S%' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 2 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 261 NULL 2 Using where; Using index
|
||||
alter table t1 change v v varchar(259);
|
||||
select * from t1 where v like 'This is a test' order by v;
|
||||
v
|
||||
|
@ -222,13 +222,13 @@ Some sample data
|
|||
Some samples
|
||||
explain select * from t1 where v like 'This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 3 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 262 NULL 3 Using where; Using index
|
||||
explain select * from t1 where v='This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref v v 257 const 3 Using where
|
||||
1 SIMPLE t1 ref v v 262 const 3 Using where; Using index
|
||||
explain select * from t1 where v like 'S%' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 2 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 262 NULL 2 Using where; Using index
|
||||
alter table t1 change v v varchar(258);
|
||||
select * from t1 where v like 'This is a test' order by v;
|
||||
v
|
||||
|
@ -246,13 +246,13 @@ Some sample data
|
|||
Some samples
|
||||
explain select * from t1 where v like 'This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 3 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 261 NULL 3 Using where; Using index
|
||||
explain select * from t1 where v='This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref v v 257 const 3 Using where
|
||||
1 SIMPLE t1 ref v v 261 const 3 Using where; Using index
|
||||
explain select * from t1 where v like 'S%' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 2 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 261 NULL 2 Using where; Using index
|
||||
alter table t1 change v v varchar(257);
|
||||
select * from t1 where v like 'This is a test' order by v;
|
||||
v
|
||||
|
@ -270,13 +270,13 @@ Some sample data
|
|||
Some samples
|
||||
explain select * from t1 where v like 'This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 3 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 260 NULL 3 Using where; Using index
|
||||
explain select * from t1 where v='This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref v v 257 const 3 Using where
|
||||
1 SIMPLE t1 ref v v 260 const 3 Using where; Using index
|
||||
explain select * from t1 where v like 'S%' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 2 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 260 NULL 2 Using where; Using index
|
||||
alter table t1 change v v varchar(256);
|
||||
select * from t1 where v like 'This is a test' order by v;
|
||||
v
|
||||
|
@ -294,13 +294,13 @@ Some sample data
|
|||
Some samples
|
||||
explain select * from t1 where v like 'This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 3 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 259 NULL 3 Using where; Using index
|
||||
explain select * from t1 where v='This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref v v 257 const 3 Using where
|
||||
1 SIMPLE t1 ref v v 259 const 3 Using where; Using index
|
||||
explain select * from t1 where v like 'S%' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 2 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 259 NULL 2 Using where; Using index
|
||||
alter table t1 change v v varchar(255);
|
||||
select * from t1 where v like 'This is a test' order by v;
|
||||
v
|
||||
|
@ -318,13 +318,13 @@ Some sample data
|
|||
Some samples
|
||||
explain select * from t1 where v like 'This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 3 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 258 NULL 3 Using where; Using index
|
||||
explain select * from t1 where v='This is a test' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref v v 257 const 3 Using where
|
||||
1 SIMPLE t1 ref v v 258 const 3 Using where; Using index
|
||||
explain select * from t1 where v like 'S%' order by v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range v v 257 NULL 2 Using where; Using filesort
|
||||
1 SIMPLE t1 range v v 258 NULL 2 Using where; Using index
|
||||
alter table t1 change v v varchar(254);
|
||||
select * from t1 where v like 'This is a test' order by v;
|
||||
v
|
||||
|
@ -392,3 +392,26 @@ group by t1.b, t1.a;
|
|||
a b min(t1.b)
|
||||
22 NULL NULL
|
||||
drop table t1, t2;
|
||||
create table t1 (f1 varchar(65500));
|
||||
create index index1 on t1(f1(10));
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`f1` varchar(65500) default NULL,
|
||||
KEY `index1` (`f1`(10))
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
alter table t1 modify f1 varchar(255);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`f1` varchar(255) default NULL,
|
||||
KEY `index1` (`f1`(10))
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
alter table t1 modify f1 tinytext;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`f1` tinytext,
|
||||
KEY `index1` (`f1`(10))
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
|
|
39
mysql-test/t/analyze.test
Normal file
39
mysql-test/t/analyze.test
Normal file
|
@ -0,0 +1,39 @@
|
|||
#
|
||||
# Bug #10901 Analyze Table on new table destroys table
|
||||
# This is minimal test case to get error
|
||||
# The problem was that analyze table wrote the shared state to the file and this
|
||||
# didn't include the inserts while locked. A check was needed to ensure that
|
||||
# state information was not updated when executing analyze table for a locked table.
|
||||
# The analyze table had to be within locks and check table had to be after unlocking
|
||||
# since then it brings the wrong state from disk rather than from the currently
|
||||
# correct internal state. The insert is needed since it changes the file state,
|
||||
# number of records.
|
||||
# The fix is to synchronise the state of the shared state and the current state before
|
||||
# calling mi_state_info_write
|
||||
#
|
||||
create table t1 (a bigint);
|
||||
lock tables t1 write;
|
||||
insert into t1 values(0);
|
||||
analyze table t1;
|
||||
unlock tables;
|
||||
check table t1;
|
||||
|
||||
drop table t1;
|
||||
|
||||
create table t1 (a bigint);
|
||||
insert into t1 values(0);
|
||||
lock tables t1 write;
|
||||
delete from t1;
|
||||
analyze table t1;
|
||||
unlock tables;
|
||||
check table t1;
|
||||
|
||||
drop table t1;
|
||||
|
||||
create table t1 (a bigint);
|
||||
insert into t1 values(0);
|
||||
analyze table t1;
|
||||
check table t1;
|
||||
|
||||
drop table t1;
|
||||
|
|
@ -503,3 +503,14 @@ create table t1(t1.name int);
|
|||
create table t2(test.t2.name int);
|
||||
drop table t1,t2;
|
||||
|
||||
#
|
||||
# Bug#11028: Crash on create table like
|
||||
#
|
||||
create database mysqltest;
|
||||
use mysqltest;
|
||||
drop database mysqltest;
|
||||
--error 1102
|
||||
create table test.t1 like x;
|
||||
--disable_warnings
|
||||
drop table if exists test.t1;
|
||||
--enable_warnings
|
||||
|
|
|
@ -79,3 +79,8 @@ insert into t1 values(7,1234567890123456.12345);
|
|||
select format(col2,6) from t1 where col1=7;
|
||||
drop table t1;
|
||||
|
||||
|
||||
#
|
||||
# Bug #10083 (round doesn't increase decimals)
|
||||
#
|
||||
select round(150, 2);
|
||||
|
|
|
@ -426,3 +426,12 @@ drop table t1;
|
|||
--error 1075
|
||||
create table t1 (a int not null, b int not null auto_increment,
|
||||
primary key(a, b)) engine=heap;
|
||||
|
||||
#
|
||||
# Bug #10566: Verify that we can create a prefixed key with length > 255
|
||||
#
|
||||
create table t1 (c char(255), primary key(c(90)));
|
||||
insert into t1 values ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
|
||||
--error 1062
|
||||
insert into t1 values ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
|
||||
drop table t1;
|
||||
|
|
|
@ -69,6 +69,16 @@ handler t2 read next;
|
|||
handler t2 read last;
|
||||
handler t2 close;
|
||||
|
||||
handler t1 open;
|
||||
handler t1 read a next; # this used to crash as a bug#5373
|
||||
handler t1 read a next;
|
||||
handler t1 close;
|
||||
|
||||
handler t1 open;
|
||||
handler t1 read a prev; # this used to crash as a bug#5373
|
||||
handler t1 read a prev;
|
||||
handler t1 close;
|
||||
|
||||
handler t1 open as t2;
|
||||
handler t2 read first;
|
||||
alter table t1 engine=innodb;
|
||||
|
|
|
@ -324,3 +324,16 @@ alter table t1 add key (c1,c2,c1);
|
|||
--error 1060
|
||||
alter table t1 add key (c1,c1,c2);
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# If we use a partial field for a key that is actually the length of the
|
||||
# field, and we extend the field, we end up with a key that includes the
|
||||
# whole new length of the field.
|
||||
#
|
||||
create table t1 (a varchar(10), b varchar(10), key(a(10),b(10)));
|
||||
show create table t1;
|
||||
alter table t1 modify b varchar(20);
|
||||
show create table t1;
|
||||
alter table t1 modify a varchar(20);
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
|
|
@ -10,7 +10,7 @@ show variables like "lower_case_table_names";
|
|||
enable_query_log;
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1,t2,T1,T2,t3,T3;
|
||||
DROP TABLE IF EXISTS t1,t2,t3;
|
||||
DROP DATABASE IF EXISTS `TEST_$1`;
|
||||
DROP DATABASE IF EXISTS `test_$1`;
|
||||
--enable_warnings
|
||||
|
@ -128,3 +128,11 @@ create table myUC (i int);
|
|||
select * from myUC;
|
||||
use test;
|
||||
drop database mysqltest_LC2;
|
||||
|
||||
#
|
||||
# Bug #9500: Problem with WHERE clause
|
||||
#
|
||||
create table t2aA (col1 int);
|
||||
create table t1Aa (col1 int);
|
||||
select t1Aa.col1 from t1aA,t2Aa where t1Aa.col1 = t2aA.col1;
|
||||
drop table t2aA, t1Aa;
|
||||
|
|
|
@ -295,3 +295,23 @@ select 1 as `a'b`, 2 as `a"b`;
|
|||
|
||||
# Test escaping of quotes
|
||||
select 'aaa\\','aa''a',"aa""a";
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Check of include/show_msg.inc
|
||||
#
|
||||
|
||||
# The message contains in most cases a string with the default character set
|
||||
SET @message = 'Here comes a message';
|
||||
--source include/show_msg.inc
|
||||
|
||||
# The message could also contain a string with character set utf8
|
||||
SET @message = USER();
|
||||
--source include/show_msg.inc
|
||||
|
||||
# The message contains more then 80 characters on multiple lines
|
||||
SET @message = 'Here comes a very very long message that is longer then 80 characters
|
||||
on multiple lines';
|
||||
--source include/show_msg80.inc
|
||||
|
||||
|
|
|
@ -2255,3 +2255,19 @@ AND FK_firma_id = 2;
|
|||
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Test for bug #10084: STRAIGHT_JOIN with ON expression
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int);
|
||||
CREATE TABLE t2 (a int);
|
||||
INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
|
||||
INSERT INTO t2 VALUES (2), (4), (6);
|
||||
|
||||
SELECT t1.a FROM t1 STRAIGHT_JOIN t2 ON t1.a=t2.a;
|
||||
|
||||
EXPLAIN SELECT t1.a FROM t1 STRAIGHT_JOIN t2 ON t1.a=t2.a;
|
||||
EXPLAIN SELECT t1.a FROM t1 INNER JOIN t2 ON t1.a=t2.a;
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
|
|
|
@ -372,12 +372,13 @@ call sub1("sub1a", (select 7))|
|
|||
call sub1("sub1b", (select max(i) from t2))|
|
||||
call sub1("sub1c", (select i,d from t2 limit 1))|
|
||||
call sub1("sub1d", (select 1 from (select 1) a))|
|
||||
call sub2("sub2");
|
||||
call sub2("sub2")|
|
||||
select * from t1|
|
||||
select sub3((select max(i) from t2))|
|
||||
drop procedure sub1|
|
||||
drop procedure sub2|
|
||||
drop function sub3|
|
||||
delete from t1|
|
||||
delete from t2|
|
||||
|
||||
# Basic tests of the flow control constructs
|
||||
|
|
|
@ -80,6 +80,11 @@ create table t1 ( min_num dec(6,6) default .000001);
|
|||
show create table t1;
|
||||
drop table t1 ;
|
||||
|
||||
#
|
||||
# Bug #10732: Set SQL_MODE to NULL gives garbled error message
|
||||
#
|
||||
--error 1231
|
||||
set @@SQL_MODE=NULL;
|
||||
|
||||
#
|
||||
# test for
|
||||
|
|
|
@ -934,6 +934,13 @@ create table t1( d1 decimal(18) unsigned, d2 decimal(20) unsigned, d3 decimal (2
|
|||
--error 1264
|
||||
insert into t1 values(1,-1,-1);
|
||||
drop table t1;
|
||||
create table t1 (col1 decimal(5,2), col2 numeric(5,2));
|
||||
--error 1264
|
||||
insert into t1 values (999.999,999.999);
|
||||
--error 1264
|
||||
insert into t1 values (-999.999,-999.999);
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
set sql_mode='';
|
||||
|
||||
#
|
||||
|
|
|
@ -118,3 +118,15 @@ insert into t2 values (22), (22);
|
|||
select t1.a, t1.b, min(t1.b) from t1 inner join t2 ON t2.a = t1.a
|
||||
group by t1.b, t1.a;
|
||||
drop table t1, t2;
|
||||
|
||||
#
|
||||
# Bug #10543: convert varchar with index to text
|
||||
#
|
||||
create table t1 (f1 varchar(65500));
|
||||
create index index1 on t1(f1(10));
|
||||
show create table t1;
|
||||
alter table t1 modify f1 varchar(255);
|
||||
show create table t1;
|
||||
alter table t1 modify f1 tinytext;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
--defaults-file=full-path-to-default-file ; Only this file will be read.
|
||||
--defaults-extra-file=full-path-to-default-file ; Read this file before ~/
|
||||
--print-defaults ; Print the modified command line and exit
|
||||
--instance ; also read groups with concat(group, instance)
|
||||
****************************************************************************/
|
||||
|
||||
#include "mysys_priv.h"
|
||||
|
@ -41,6 +42,8 @@
|
|||
#include <winbase.h>
|
||||
#endif
|
||||
|
||||
const char *defaults_instance=0;
|
||||
static const char instance_option[] = "--instance=";
|
||||
char *defaults_extra_file=0;
|
||||
|
||||
/* Which directories are searched for options (and in which order) */
|
||||
|
@ -115,7 +118,7 @@ int my_search_option_files(const char *conf_file, int *argc, char ***argv,
|
|||
DBUG_ENTER("my_search_option_files");
|
||||
|
||||
/* Check if we want to force the use a specific default file */
|
||||
get_defaults_files(*argc, *argv,
|
||||
get_defaults_files(*argc - *args_used, *argv + *args_used,
|
||||
(char **)&forced_default_file,
|
||||
(char **)&forced_extra_defaults);
|
||||
if (forced_default_file)
|
||||
|
@ -325,6 +328,49 @@ int load_defaults(const char *conf_file, const char **groups,
|
|||
ctx.args= &args;
|
||||
ctx.group= &group;
|
||||
|
||||
if (*argc >= 2 + args_used &&
|
||||
is_prefix(argv[0][1+args_used], instance_option))
|
||||
{
|
||||
args_used++;
|
||||
defaults_instance= argv[0][args_used]+sizeof(instance_option)-1;
|
||||
}
|
||||
else
|
||||
{
|
||||
defaults_instance= getenv("MYSQL_INSTANCE");
|
||||
}
|
||||
|
||||
if (defaults_instance)
|
||||
{
|
||||
/** Handle --instance= */
|
||||
uint i, len;
|
||||
const char **extra_groups;
|
||||
const uint instance_len= strlen(defaults_instance);
|
||||
|
||||
if (!(extra_groups=
|
||||
(const char**)alloc_root(&alloc, (2*group.count+1)*sizeof(char*))))
|
||||
goto err;
|
||||
|
||||
for (i= 0; i<group.count; i++)
|
||||
{
|
||||
extra_groups[i]= group.type_names[i]; /** copy group */
|
||||
|
||||
len= strlen(extra_groups[i]);
|
||||
if (!(ptr= alloc_root(&alloc, len+instance_len+1)))
|
||||
goto err;
|
||||
|
||||
extra_groups[i+group.count]= ptr;
|
||||
|
||||
/** Construct new group */
|
||||
memcpy(ptr, extra_groups[i], len);
|
||||
ptr+= len;
|
||||
memcpy(ptr, defaults_instance, instance_len+1);
|
||||
}
|
||||
|
||||
group.count*= 2;
|
||||
group.type_names= extra_groups;
|
||||
group.type_names[group.count]= 0;
|
||||
}
|
||||
|
||||
error= my_search_option_files(conf_file, argc, argv, &args_used,
|
||||
handle_default_option, (void *) &ctx);
|
||||
/*
|
||||
|
@ -794,6 +840,7 @@ void my_print_default_files(const char *conf_file)
|
|||
|
||||
void print_defaults(const char *conf_file, const char **groups)
|
||||
{
|
||||
const char **groups_save= groups;
|
||||
my_print_default_files(conf_file);
|
||||
|
||||
fputs("The following groups are read:",stdout);
|
||||
|
@ -802,6 +849,17 @@ void print_defaults(const char *conf_file, const char **groups)
|
|||
fputc(' ',stdout);
|
||||
fputs(*groups,stdout);
|
||||
}
|
||||
|
||||
if (defaults_instance)
|
||||
{
|
||||
groups= groups_save;
|
||||
for ( ; *groups ; groups++)
|
||||
{
|
||||
fputc(' ',stdout);
|
||||
fputs(*groups,stdout);
|
||||
fputs(defaults_instance,stdout);
|
||||
}
|
||||
}
|
||||
puts("\nThe following options may be given as the first argument:\n\
|
||||
--print-defaults Print the program argument list and exit\n\
|
||||
--no-defaults Don't read default options from any options file\n\
|
||||
|
|
|
@ -37,22 +37,20 @@
|
|||
#define NEWLINE_LEN 1
|
||||
#endif
|
||||
|
||||
static char *add_option(char *dst, const char *option_value,
|
||||
const char *option, int remove_option);
|
||||
|
||||
int modify_defaults_file(const char *file_location, const char *option,
|
||||
const char *option_value,
|
||||
const char *section_name, int remove_option)
|
||||
{
|
||||
FILE *cnf_file;
|
||||
MY_STAT file_stat;
|
||||
char linebuff[BUFF_SIZE], tmp[BUFF_SIZE], *tmp_ptr, *src_ptr, *dst_ptr,
|
||||
*file_buffer;
|
||||
uint optlen, optval_len, sect_len;
|
||||
my_bool in_section= FALSE;
|
||||
char linebuff[BUFF_SIZE], *src_ptr, *dst_ptr, *file_buffer;
|
||||
uint optlen, optval_len, sect_len, nr_newlines= 0;
|
||||
my_bool in_section= FALSE, opt_applied= 0;
|
||||
DBUG_ENTER("modify_defaults_file");
|
||||
|
||||
optlen= strlen(option);
|
||||
optval_len= strlen(option_value);
|
||||
sect_len= strlen(section_name);
|
||||
|
||||
if (!(cnf_file= my_fopen(file_location, O_RDWR | O_BINARY, MYF(0))))
|
||||
DBUG_RETURN(2);
|
||||
|
||||
|
@ -60,12 +58,15 @@ int modify_defaults_file(const char *file_location, const char *option,
|
|||
if (my_fstat(fileno(cnf_file), &file_stat, MYF(0)))
|
||||
goto err;
|
||||
|
||||
optlen= strlen(option);
|
||||
optval_len= strlen(option_value);
|
||||
|
||||
/*
|
||||
Reserve space to read the contents of the file and some more
|
||||
for the option we want to add.
|
||||
*/
|
||||
if (!(file_buffer= (char*) my_malloc(sizeof(char)*
|
||||
(file_stat.st_size +
|
||||
if (!(file_buffer= (char*) my_malloc(sizeof(char) *
|
||||
(file_stat.st_size +
|
||||
/* option name len */
|
||||
optlen +
|
||||
/* reserve space for newline */
|
||||
|
@ -73,35 +74,44 @@ int modify_defaults_file(const char *file_location, const char *option,
|
|||
/* reserve for '=' char */
|
||||
1 +
|
||||
/* option value len */
|
||||
optval_len), MYF(MY_WME))))
|
||||
optval_len +
|
||||
/* The ending zero plus some safety */
|
||||
FN_REFLEN), MYF(MY_WME))))
|
||||
goto malloc_err;
|
||||
|
||||
for (dst_ptr= file_buffer, tmp_ptr= 0;
|
||||
fgets(linebuff, BUFF_SIZE, cnf_file); )
|
||||
sect_len= strlen(section_name);
|
||||
|
||||
for (dst_ptr= file_buffer; fgets(linebuff, BUFF_SIZE, cnf_file); )
|
||||
{
|
||||
/* Skip over whitespaces */
|
||||
for (src_ptr= linebuff; my_isspace(&my_charset_latin1, *src_ptr);
|
||||
src_ptr++)
|
||||
{}
|
||||
|
||||
if (in_section && !strncmp(src_ptr, option, optlen) &&
|
||||
if (!*src_ptr) /* Empty line */
|
||||
{
|
||||
nr_newlines++;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!opt_applied && in_section && !strncmp(src_ptr, option, optlen) &&
|
||||
(*(src_ptr + optlen) == '=' ||
|
||||
my_isspace(&my_charset_latin1, *(src_ptr + optlen)) ||
|
||||
*(src_ptr + optlen) == '\0'))
|
||||
{
|
||||
/* The option under modifying was found in this section. Apply new. */
|
||||
if (!remove_option)
|
||||
dst_ptr= strmov(dst_ptr, tmp);
|
||||
tmp_ptr= 0; /* To mark that we have already applied this */
|
||||
dst_ptr= add_option(dst_ptr, option_value, option, remove_option);
|
||||
opt_applied= 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* If going to new group and we have option to apply, do it now */
|
||||
if (tmp_ptr && *src_ptr == '[')
|
||||
if (in_section && !opt_applied && *src_ptr == '[')
|
||||
{
|
||||
dst_ptr= strmov(dst_ptr, tmp);
|
||||
tmp_ptr= 0;
|
||||
dst_ptr= add_option(dst_ptr, option_value, option, remove_option);
|
||||
|
||||
}
|
||||
for (; nr_newlines; nr_newlines--)
|
||||
dst_ptr= strmov(dst_ptr, NEWLINE);
|
||||
dst_ptr= strmov(dst_ptr, linebuff);
|
||||
}
|
||||
/* Look for a section */
|
||||
|
@ -117,43 +127,38 @@ int modify_defaults_file(const char *file_location, const char *option,
|
|||
|
||||
if (*src_ptr != ']')
|
||||
continue; /* Missing closing parenthesis. Assume this was no group */
|
||||
|
||||
in_section= TRUE;
|
||||
/* add option */
|
||||
if (!remove_option)
|
||||
{
|
||||
tmp_ptr= strmov(tmp, option);
|
||||
if (*option_value)
|
||||
{
|
||||
*tmp_ptr++= '=';
|
||||
tmp_ptr= strmov(tmp_ptr, option_value);
|
||||
}
|
||||
/* add a newline */
|
||||
strmov(tmp_ptr, NEWLINE);
|
||||
}
|
||||
}
|
||||
else
|
||||
in_section= FALSE; /* mark that this section is of no interest to us */
|
||||
}
|
||||
}
|
||||
/* File ended. New option still remains to apply at the end */
|
||||
if (tmp_ptr)
|
||||
/* File ended. */
|
||||
if (!opt_applied && !remove_option && in_section)
|
||||
{
|
||||
/* New option still remains to apply at the end */
|
||||
if (*(dst_ptr - 1) != '\n')
|
||||
*dst_ptr++= '\n';
|
||||
dst_ptr= strmov(dst_ptr, tmp);
|
||||
dst_ptr= strmov(dst_ptr, NEWLINE);
|
||||
dst_ptr= add_option(dst_ptr, option_value, option, remove_option);
|
||||
opt_applied= 1;
|
||||
}
|
||||
for (; nr_newlines; nr_newlines--)
|
||||
dst_ptr= strmov(dst_ptr, NEWLINE);
|
||||
|
||||
if (my_chsize(fileno(cnf_file), (my_off_t) (dst_ptr - file_buffer), 0,
|
||||
MYF(MY_WME)) ||
|
||||
my_fseek(cnf_file, 0, MY_SEEK_SET, MYF(0)) ||
|
||||
my_fwrite(cnf_file, file_buffer, (uint) (dst_ptr - file_buffer),
|
||||
MYF(MY_NABP)) ||
|
||||
my_fclose(cnf_file, MYF(MY_WME)))
|
||||
goto err;
|
||||
if (opt_applied)
|
||||
{
|
||||
/* Don't write the file if there are no changes to be made */
|
||||
if (my_chsize(fileno(cnf_file), (my_off_t) (dst_ptr - file_buffer), 0,
|
||||
MYF(MY_WME)) ||
|
||||
my_fseek(cnf_file, 0, MY_SEEK_SET, MYF(0)) ||
|
||||
my_fwrite(cnf_file, file_buffer, (uint) (dst_ptr - file_buffer),
|
||||
MYF(MY_NABP)))
|
||||
goto err;
|
||||
}
|
||||
if (my_fclose(cnf_file, MYF(MY_WME)))
|
||||
goto err;
|
||||
|
||||
my_free(file_buffer, MYF(0));
|
||||
|
||||
DBUG_RETURN(0);
|
||||
|
||||
err:
|
||||
|
@ -162,3 +167,21 @@ malloc_err:
|
|||
my_fclose(cnf_file, MYF(0));
|
||||
DBUG_RETURN(1); /* out of resources */
|
||||
}
|
||||
|
||||
|
||||
static char *add_option(char *dst, const char *option_value,
|
||||
const char *option, int remove_option)
|
||||
{
|
||||
if (!remove_option)
|
||||
{
|
||||
dst= strmov(dst, option);
|
||||
if (*option_value)
|
||||
{
|
||||
*dst++= '=';
|
||||
dst= strmov(dst, option_value);
|
||||
}
|
||||
/* add a newline */
|
||||
dst= strmov(dst, NEWLINE);
|
||||
}
|
||||
return dst;
|
||||
}
|
||||
|
|
22
mysys/hash.c
22
mysys/hash.c
|
@ -262,7 +262,25 @@ static void movelink(HASH_LINK *array,uint find,uint next_link,uint newlink)
|
|||
return;
|
||||
}
|
||||
|
||||
/* Compare a key in a record to a whole key. Return 0 if identical */
|
||||
/*
|
||||
Compare a key in a record to a whole key. Return 0 if identical
|
||||
|
||||
SYNOPSIS
|
||||
hashcmp()
|
||||
hash hash table
|
||||
pos position of hash record to use in comparison
|
||||
key key for comparison
|
||||
length length of key
|
||||
|
||||
NOTES:
|
||||
If length is 0, comparison is done using the length of the
|
||||
record being compared against.
|
||||
|
||||
RETURN
|
||||
< 0 key of record < key
|
||||
= 0 key of record == key
|
||||
> 0 key of record > key
|
||||
*/
|
||||
|
||||
static int hashcmp(HASH *hash,HASH_LINK *pos,const byte *key,uint length)
|
||||
{
|
||||
|
@ -270,7 +288,7 @@ static int hashcmp(HASH *hash,HASH_LINK *pos,const byte *key,uint length)
|
|||
byte *rec_key= (byte*) hash_key(hash,pos->data,&rec_keylength,1);
|
||||
return ((length && length != rec_keylength) ||
|
||||
my_strnncoll(hash->charset, (uchar*) rec_key, rec_keylength,
|
||||
(uchar*) key, length));
|
||||
(uchar*) key, rec_keylength));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -158,32 +158,52 @@ FILE *my_fdopen(File Filedes, const char *name, int Flags, myf MyFlags)
|
|||
DBUG_RETURN(fd);
|
||||
} /* my_fdopen */
|
||||
|
||||
/*
|
||||
make_ftype
|
||||
Make a filehandler-open-typestring from ordinary inputflags
|
||||
|
||||
/* Make a filehandler-open-typestring from ordinary inputflags */
|
||||
|
||||
Note: This routine attempts to find the best possible match
|
||||
between a numeric option and a string option that could be
|
||||
fed to fopen. There is not a 1 to 1 mapping between the two.
|
||||
|
||||
r == O_RDONLY
|
||||
w == O_WRONLY|O_TRUNC|O_CREAT
|
||||
a == O_WRONLY|O_APPEND|O_CREAT
|
||||
r+ == O_RDWR
|
||||
w+ == O_RDWR|O_TRUNC|O_CREAT
|
||||
a+ == O_RDWR|O_APPEND|O_CREAT
|
||||
*/
|
||||
static void make_ftype(register my_string to, register int flag)
|
||||
{
|
||||
#if FILE_BINARY /* If we have binary-files */
|
||||
#if FILE_BINARY
|
||||
/* If we have binary-files */
|
||||
reg3 int org_flag=flag;
|
||||
#endif
|
||||
flag&= ~FILE_BINARY; /* remove binary bit */
|
||||
if (flag == O_RDONLY)
|
||||
*to++= 'r';
|
||||
else if (flag == O_WRONLY)
|
||||
*to++= 'w';
|
||||
else
|
||||
{ /* Add '+' after theese */
|
||||
if (flag == O_RDWR)
|
||||
#endif
|
||||
flag&= ~FILE_BINARY; /* remove binary bit */
|
||||
|
||||
/* check some possible invalid combinations */
|
||||
DBUG_ASSERT(flag & (O_TRUNC|O_APPEND) != O_TRUNC|O_APPEND);
|
||||
|
||||
if (flag & (O_RDONLY|O_WRONLY) == O_WRONLY)
|
||||
*to++= (flag & O_APPEND) ? 'a' : 'w';
|
||||
else if (flag & O_RDWR)
|
||||
{
|
||||
/* Add '+' after theese */
|
||||
if (flag & (O_TRUNC | O_CREAT))
|
||||
*to++= 'w';
|
||||
else if (flag & O_APPEND)
|
||||
*to++= 'a';
|
||||
else
|
||||
*to++= 'r';
|
||||
else if (flag & O_APPEND)
|
||||
*to++= 'a';
|
||||
else
|
||||
*to++= 'w'; /* Create file */
|
||||
*to++= '+';
|
||||
}
|
||||
#if FILE_BINARY /* If we have binary-files */
|
||||
if (org_flag & FILE_BINARY)
|
||||
*to++= '+';
|
||||
}
|
||||
else
|
||||
*to++= 'r';
|
||||
|
||||
#if FILE_BINARY /* If we have binary-files */
|
||||
if (org_flag & FILE_BINARY)
|
||||
*to++='b';
|
||||
#endif
|
||||
#endif
|
||||
*to='\0';
|
||||
} /* make_ftype */
|
||||
|
||||
|
|
33
sql/field.cc
33
sql/field.cc
|
@ -982,6 +982,39 @@ Item_result Field::result_merge_type(enum_field_types field_type)
|
|||
Static help functions
|
||||
*****************************************************************************/
|
||||
|
||||
|
||||
/*
|
||||
Check whether a field type can be partially indexed by a key
|
||||
|
||||
This is a static method, rather than a virtual function, because we need
|
||||
to check the type of a non-Field in mysql_alter_table().
|
||||
|
||||
SYNOPSIS
|
||||
type_can_have_key_part()
|
||||
type field type
|
||||
|
||||
RETURN
|
||||
TRUE Type can have a prefixed key
|
||||
FALSE Type can not have a prefixed key
|
||||
*/
|
||||
|
||||
bool Field::type_can_have_key_part(enum enum_field_types type)
|
||||
{
|
||||
switch (type) {
|
||||
case MYSQL_TYPE_VARCHAR:
|
||||
case MYSQL_TYPE_TINY_BLOB:
|
||||
case MYSQL_TYPE_MEDIUM_BLOB:
|
||||
case MYSQL_TYPE_LONG_BLOB:
|
||||
case MYSQL_TYPE_BLOB:
|
||||
case MYSQL_TYPE_VAR_STRING:
|
||||
case MYSQL_TYPE_STRING:
|
||||
return TRUE;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Numeric fields base class constructor
|
||||
*/
|
||||
|
|
|
@ -123,6 +123,7 @@ public:
|
|||
virtual Item_result result_type () const=0;
|
||||
virtual Item_result cmp_type () const { return result_type(); }
|
||||
virtual Item_result cast_to_int_type () const { return result_type(); }
|
||||
static bool type_can_have_key_part(enum_field_types);
|
||||
static enum_field_types field_type_merge(enum_field_types, enum_field_types);
|
||||
static Item_result result_merge_type(enum_field_types);
|
||||
bool eq(Field *field)
|
||||
|
|
|
@ -948,12 +948,6 @@ int ha_berkeley::write_row(byte * record)
|
|||
for (uint retry=0 ; retry < berkeley_trans_retry ; retry++)
|
||||
{
|
||||
key_map changed_keys(0);
|
||||
if (using_ignore && (thd_options & OPTION_INTERNAL_SUBTRANSACTIONS))
|
||||
{
|
||||
if ((error=txn_begin(db_env, transaction, &sub_trans, 0))) /* purecov: deadcode */
|
||||
break; /* purecov: deadcode */
|
||||
DBUG_PRINT("trans",("starting subtransaction")); /* purecov: deadcode */
|
||||
}
|
||||
if (!(error=file->put(file, sub_trans, create_key(&prim_key, primary_key,
|
||||
key_buff, record),
|
||||
&row, key_type[primary_key])))
|
||||
|
@ -983,12 +977,7 @@ int ha_berkeley::write_row(byte * record)
|
|||
if (using_ignore)
|
||||
{
|
||||
int new_error = 0;
|
||||
if (thd_options & OPTION_INTERNAL_SUBTRANSACTIONS)
|
||||
{
|
||||
DBUG_PRINT("trans",("aborting subtransaction")); /* purecov: deadcode */
|
||||
new_error=txn_abort(sub_trans); /* purecov: deadcode */
|
||||
}
|
||||
else if (!changed_keys.is_clear_all())
|
||||
if (!changed_keys.is_clear_all())
|
||||
{
|
||||
new_error = 0;
|
||||
for (uint keynr=0;
|
||||
|
@ -1010,11 +999,6 @@ int ha_berkeley::write_row(byte * record)
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (using_ignore && (thd_options & OPTION_INTERNAL_SUBTRANSACTIONS))
|
||||
{
|
||||
DBUG_PRINT("trans",("committing subtransaction")); /* purecov: deadcode */
|
||||
error=txn_commit(sub_trans, 0); /* purecov: deadcode */
|
||||
}
|
||||
if (error != DB_LOCK_DEADLOCK)
|
||||
break;
|
||||
}
|
||||
|
@ -1090,8 +1074,7 @@ int ha_berkeley::update_primary_key(DB_TXN *trans, bool primary_key_changed,
|
|||
{
|
||||
// Probably a duplicated key; restore old key and row if needed
|
||||
last_dup_key=primary_key;
|
||||
if (local_using_ignore &&
|
||||
!(thd_options & OPTION_INTERNAL_SUBTRANSACTIONS))
|
||||
if (local_using_ignore)
|
||||
{
|
||||
int new_error;
|
||||
if ((new_error=pack_row(&row, old_row, 0)) ||
|
||||
|
@ -1202,12 +1185,6 @@ int ha_berkeley::update_row(const byte * old_row, byte * new_row)
|
|||
for (uint retry=0 ; retry < berkeley_trans_retry ; retry++)
|
||||
{
|
||||
key_map changed_keys(0);
|
||||
if (using_ignore && (thd_options & OPTION_INTERNAL_SUBTRANSACTIONS))
|
||||
{
|
||||
if ((error=txn_begin(db_env, transaction, &sub_trans, 0))) /* purecov: deadcode */
|
||||
break; /* purecov: deadcode */
|
||||
DBUG_PRINT("trans",("starting subtransaction")); /* purecov: deadcode */
|
||||
}
|
||||
/* Start by updating the primary key */
|
||||
if (!(error=update_primary_key(sub_trans, primary_key_changed,
|
||||
old_row, &old_prim_key,
|
||||
|
@ -1223,15 +1200,6 @@ int ha_berkeley::update_row(const byte * old_row, byte * new_row)
|
|||
{
|
||||
if ((error=remove_key(sub_trans, keynr, old_row, &old_prim_key)))
|
||||
{
|
||||
if (using_ignore && /* purecov: inspected */
|
||||
(thd_options & OPTION_INTERNAL_SUBTRANSACTIONS))
|
||||
{
|
||||
int new_error;
|
||||
DBUG_PRINT("trans",("aborting subtransaction"));
|
||||
new_error=txn_abort(sub_trans);
|
||||
if (new_error)
|
||||
error = new_error;
|
||||
}
|
||||
table->insert_or_update= 0;
|
||||
DBUG_RETURN(error); // Fatal error /* purecov: inspected */
|
||||
}
|
||||
|
@ -1254,12 +1222,7 @@ int ha_berkeley::update_row(const byte * old_row, byte * new_row)
|
|||
if (using_ignore)
|
||||
{
|
||||
int new_error = 0;
|
||||
if (thd_options & OPTION_INTERNAL_SUBTRANSACTIONS)
|
||||
{
|
||||
DBUG_PRINT("trans",("aborting subtransaction")); /* purecov: deadcode */
|
||||
new_error=txn_abort(sub_trans); /* purecov: deadcode */
|
||||
}
|
||||
else if (!changed_keys.is_clear_all())
|
||||
if (!changed_keys.is_clear_all())
|
||||
new_error=restore_keys(transaction, &changed_keys, primary_key,
|
||||
old_row, &old_prim_key, new_row, &prim_key,
|
||||
thd_options);
|
||||
|
@ -1271,11 +1234,6 @@ int ha_berkeley::update_row(const byte * old_row, byte * new_row)
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (using_ignore && (thd_options & OPTION_INTERNAL_SUBTRANSACTIONS))
|
||||
{
|
||||
DBUG_PRINT("trans",("committing subtransaction")); /* purecov: deadcode */
|
||||
error=txn_commit(sub_trans, 0); /* purecov: deadcode */
|
||||
}
|
||||
if (error != DB_LOCK_DEADLOCK)
|
||||
break;
|
||||
}
|
||||
|
@ -1385,34 +1343,11 @@ int ha_berkeley::delete_row(const byte * record)
|
|||
DB_TXN *sub_trans = transaction;
|
||||
for (uint retry=0 ; retry < berkeley_trans_retry ; retry++)
|
||||
{
|
||||
if (thd_options & OPTION_INTERNAL_SUBTRANSACTIONS)
|
||||
{
|
||||
if ((error=txn_begin(db_env, transaction, &sub_trans, 0))) /* purecov: deadcode */
|
||||
break; /* purecov: deadcode */
|
||||
DBUG_PRINT("trans",("starting sub transaction")); /* purecov: deadcode */
|
||||
}
|
||||
error=remove_keys(sub_trans, record, &row, &prim_key, &keys);
|
||||
if (!error && (thd_options & OPTION_INTERNAL_SUBTRANSACTIONS))
|
||||
{
|
||||
DBUG_PRINT("trans",("ending sub transaction")); /* purecov: deadcode */
|
||||
error=txn_commit(sub_trans, 0); /* purecov: deadcode */
|
||||
}
|
||||
if (error)
|
||||
{ /* purecov: inspected */
|
||||
DBUG_PRINT("error",("Got error %d",error));
|
||||
if (thd_options & OPTION_INTERNAL_SUBTRANSACTIONS)
|
||||
{
|
||||
/* retry */
|
||||
int new_error;
|
||||
DBUG_PRINT("trans",("aborting subtransaction"));
|
||||
if ((new_error=txn_abort(sub_trans)))
|
||||
{
|
||||
error=new_error; // This shouldn't happen
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
break; // No retry - return error
|
||||
break; // No retry - return error
|
||||
}
|
||||
if (error != DB_LOCK_DEADLOCK)
|
||||
break;
|
||||
|
|
|
@ -57,6 +57,7 @@ public:
|
|||
}
|
||||
const key_map *keys_to_use_for_scanning() { return &btree_keys; }
|
||||
uint max_supported_keys() const { return MAX_KEY; }
|
||||
uint max_supported_key_part_length() const { return MAX_KEY_LENGTH; }
|
||||
double scan_time() { return (double) (records+deleted) / 20.0+10; }
|
||||
double read_time(uint index, uint ranges, ha_rows rows)
|
||||
{ return (double) rows / 20.0+1; }
|
||||
|
|
|
@ -1876,7 +1876,8 @@ void Item_func_round::fix_length_and_dec()
|
|||
max_length= float_length(decimals);
|
||||
break;
|
||||
case INT_RESULT:
|
||||
if (truncate || (args[0]->decimal_precision() < DECIMAL_LONGLONG_DIGITS))
|
||||
if ((decimals_to_set==0) &&
|
||||
(truncate || (args[0]->decimal_precision() < DECIMAL_LONGLONG_DIGITS)))
|
||||
{
|
||||
/* Here we can keep INT_RESULT */
|
||||
hybrid_type= INT_RESULT;
|
||||
|
@ -1890,18 +1891,12 @@ void Item_func_round::fix_length_and_dec()
|
|||
hybrid_type= DECIMAL_RESULT;
|
||||
int decimals_delta= args[0]->decimals - decimals_to_set;
|
||||
int precision= args[0]->decimal_precision();
|
||||
if (decimals_delta > 0)
|
||||
{
|
||||
int length_increase= truncate ? 0:1;
|
||||
precision-= decimals_delta - length_increase;
|
||||
decimals= decimals_to_set;
|
||||
}
|
||||
else
|
||||
/* Decimals to set is bigger that the original scale */
|
||||
/* we keep original decimals value */
|
||||
decimals= args[0]->decimals;
|
||||
int length_increase= ((decimals_delta <= 0) || truncate) ? 0:1;
|
||||
|
||||
precision-= decimals_delta - length_increase;
|
||||
decimals= decimals_to_set;
|
||||
max_length= my_decimal_precision_to_length(precision, decimals,
|
||||
unsigned_flag);
|
||||
unsigned_flag);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
@ -4697,6 +4692,16 @@ Item_func_sp::Item_func_sp(sp_name *name, List<Item> &list)
|
|||
dummy_table= (TABLE*) sql_calloc(sizeof(TABLE));
|
||||
}
|
||||
|
||||
void
|
||||
Item_func_sp::cleanup()
|
||||
{
|
||||
if (result_field)
|
||||
{
|
||||
delete result_field;
|
||||
result_field= NULL;
|
||||
}
|
||||
Item_func::cleanup();
|
||||
}
|
||||
|
||||
const char *
|
||||
Item_func_sp::func_name() const
|
||||
|
@ -4723,6 +4728,7 @@ Item_func_sp::func_name() const
|
|||
Field *
|
||||
Item_func_sp::sp_result_field(void) const
|
||||
{
|
||||
Field *field;
|
||||
DBUG_ENTER("Item_func_sp::sp_result_field");
|
||||
|
||||
if (!m_sp)
|
||||
|
@ -4744,7 +4750,8 @@ Item_func_sp::sp_result_field(void) const
|
|||
share->table_cache_key = empty_name;
|
||||
share->table_name = empty_name;
|
||||
}
|
||||
DBUG_RETURN(m_sp->make_field(max_length, name, dummy_table));
|
||||
field= m_sp->make_field(max_length, name, dummy_table);
|
||||
DBUG_RETURN(field);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1308,13 +1308,7 @@ public:
|
|||
virtual ~Item_func_sp()
|
||||
{}
|
||||
|
||||
void cleanup()
|
||||
{
|
||||
if (result_field)
|
||||
delete result_field;
|
||||
Item_func::cleanup();
|
||||
result_field= NULL;
|
||||
}
|
||||
void cleanup();
|
||||
|
||||
const char *func_name() const;
|
||||
|
||||
|
@ -1330,7 +1324,7 @@ public:
|
|||
{
|
||||
if (execute(&result_field))
|
||||
return (longlong) 0;
|
||||
return result_field->val_int();
|
||||
return result_field->val_int();
|
||||
}
|
||||
|
||||
double val_real()
|
||||
|
|
|
@ -708,7 +708,7 @@ failed my_b_read"));
|
|||
Log_event *res= 0;
|
||||
#ifndef max_allowed_packet
|
||||
THD *thd=current_thd;
|
||||
uint max_allowed_packet= thd ? thd->variables.max_allowed_packet : ~0;
|
||||
uint max_allowed_packet= thd ? thd->variables.max_allowed_packet : ~(ulong)0;
|
||||
#endif
|
||||
|
||||
if (data_len > max_allowed_packet)
|
||||
|
|
110
sql/mysql_priv.h
110
sql/mysql_priv.h
|
@ -218,66 +218,75 @@ extern CHARSET_INFO *national_charset_info, *table_alias_charset;
|
|||
#define TEST_CORE_ON_SIGNAL 256 /* Give core if signal */
|
||||
#define TEST_NO_STACKTRACE 512
|
||||
#define TEST_SIGINT 1024 /* Allow sigint on threads */
|
||||
#define TEST_SYNCHRONIZATION 2048 /* get server to do sleep in some
|
||||
places */
|
||||
#define TEST_SYNCHRONIZATION 2048 /* get server to do sleep in
|
||||
some places */
|
||||
#endif
|
||||
|
||||
/*
|
||||
/*
|
||||
This is included in the server and in the client.
|
||||
Options for select set by the yacc parser (stored in lex->options).
|
||||
None of the 32 defines below should have its value changed, or this will
|
||||
break replication.
|
||||
|
||||
XXX:
|
||||
log_event.h defines OPTIONS_WRITTEN_TO_BIN_LOG to specify what THD
|
||||
options list are written into binlog. These options can NOT change their
|
||||
values, or it will break replication between version.
|
||||
|
||||
context is encoded as following:
|
||||
SELECT - SELECT_LEX_NODE::options
|
||||
THD - THD::options
|
||||
intern - neither. used only as
|
||||
func(..., select_node->options | thd->options | OPTION_XXX, ...)
|
||||
|
||||
TODO: separate three contexts above, move them to separate bitfields.
|
||||
*/
|
||||
|
||||
#define SELECT_DISTINCT (1L << 0)
|
||||
#define SELECT_STRAIGHT_JOIN (1L << 1)
|
||||
#define SELECT_DESCRIBE (1L << 2)
|
||||
#define SELECT_SMALL_RESULT (1L << 3)
|
||||
#define SELECT_BIG_RESULT (1L << 4)
|
||||
#define OPTION_FOUND_ROWS (1L << 5)
|
||||
#define OPTION_TO_QUERY_CACHE (1L << 6)
|
||||
#define SELECT_NO_JOIN_CACHE (1L << 7) /* Intern */
|
||||
#define OPTION_BIG_TABLES (1L << 8) /* for SQL OPTION */
|
||||
#define OPTION_BIG_SELECTS (1L << 9) /* for SQL OPTION */
|
||||
#define OPTION_LOG_OFF (1L << 10)
|
||||
#define OPTION_UPDATE_LOG (1L << 11) /* update log flag */
|
||||
#define TMP_TABLE_ALL_COLUMNS (1L << 12)
|
||||
#define OPTION_WARNINGS (1L << 13)
|
||||
#define OPTION_AUTO_IS_NULL (1L << 14)
|
||||
#define OPTION_FOUND_COMMENT (1L << 15)
|
||||
#define OPTION_SAFE_UPDATES (1L << 16)
|
||||
#define OPTION_BUFFER_RESULT (1L << 17)
|
||||
#define OPTION_BIN_LOG (1L << 18)
|
||||
#define OPTION_NOT_AUTOCOMMIT (1L << 19)
|
||||
#define OPTION_BEGIN (1L << 20)
|
||||
#define OPTION_TABLE_LOCK (1L << 21)
|
||||
#define OPTION_QUICK (1L << 22)
|
||||
#define OPTION_QUOTE_SHOW_CREATE (1L << 23)
|
||||
#define OPTION_INTERNAL_SUBTRANSACTIONS (1L << 24)
|
||||
#define SELECT_DISTINCT (1L << 0) // SELECT, user
|
||||
#define SELECT_STRAIGHT_JOIN (1L << 1) // SELECT, user
|
||||
#define SELECT_DESCRIBE (1L << 2) // SELECT, user
|
||||
#define SELECT_SMALL_RESULT (1L << 3) // SELECT, user
|
||||
#define SELECT_BIG_RESULT (1L << 4) // SELECT, user
|
||||
#define OPTION_FOUND_ROWS (1L << 5) // SELECT, user
|
||||
#define OPTION_TO_QUERY_CACHE (1L << 6) // SELECT, user
|
||||
#define SELECT_NO_JOIN_CACHE (1L << 7) // intern
|
||||
#define OPTION_BIG_TABLES (1L << 8) // THD, user
|
||||
#define OPTION_BIG_SELECTS (1L << 9) // THD, user
|
||||
#define OPTION_LOG_OFF (1L << 10) // THD, user
|
||||
#define OPTION_UPDATE_LOG (1L << 11) // THD, user, unused
|
||||
#define TMP_TABLE_ALL_COLUMNS (1L << 12) // SELECT, intern
|
||||
#define OPTION_WARNINGS (1L << 13) // THD, user
|
||||
#define OPTION_AUTO_IS_NULL (1L << 14) // THD, user, binlog
|
||||
#define OPTION_FOUND_COMMENT (1L << 15) // SELECT, intern, parser
|
||||
#define OPTION_SAFE_UPDATES (1L << 16) // THD, user
|
||||
#define OPTION_BUFFER_RESULT (1L << 17) // SELECT, user
|
||||
#define OPTION_BIN_LOG (1L << 18) // THD, user
|
||||
#define OPTION_NOT_AUTOCOMMIT (1L << 19) // THD, user
|
||||
#define OPTION_BEGIN (1L << 20) // THD, intern
|
||||
#define OPTION_TABLE_LOCK (1L << 21) // THD, intern
|
||||
#define OPTION_QUICK (1L << 22) // SELECT (for DELETE)
|
||||
#define OPTION_QUOTE_SHOW_CREATE (1L << 23) // THD, user
|
||||
|
||||
/* Thr following is used to detect a conflict with DISTINCT
|
||||
in the user query has requested */
|
||||
#define SELECT_ALL (1L << 24) // SELECT, user, parser
|
||||
|
||||
/* Set if we are updating a non-transaction safe table */
|
||||
#define OPTION_STATUS_NO_TRANS_UPDATE (1L << 25)
|
||||
#define OPTION_STATUS_NO_TRANS_UPDATE (1L << 25) // THD, intern
|
||||
|
||||
/* The following can be set when importing tables in a 'wrong order'
|
||||
to suppress foreign key checks */
|
||||
#define OPTION_NO_FOREIGN_KEY_CHECKS (1L << 26)
|
||||
#define OPTION_NO_FOREIGN_KEY_CHECKS (1L << 26) // THD, user, binlog
|
||||
/* The following speeds up inserts to InnoDB tables by suppressing unique
|
||||
key checks in some cases */
|
||||
#define OPTION_RELAXED_UNIQUE_CHECKS (1L << 27)
|
||||
#define SELECT_NO_UNLOCK (1L << 28)
|
||||
#define OPTION_SCHEMA_TABLE (1L << 29)
|
||||
#define OPTION_RELAXED_UNIQUE_CHECKS (1L << 27) // THD, user, binlog
|
||||
#define SELECT_NO_UNLOCK (1L << 28) // SELECT, intern
|
||||
#define OPTION_SCHEMA_TABLE (1L << 29) // SELECT, intern
|
||||
/* Flag set if setup_tables already done */
|
||||
#define OPTION_SETUP_TABLES_DONE (1L << 30)
|
||||
#define OPTION_SETUP_TABLES_DONE (1L << 30) // intern
|
||||
/* If not set then the thread will ignore all warnings with level notes. */
|
||||
#define OPTION_SQL_NOTES (1L << 31) // THD, user
|
||||
|
||||
/* Options for select set by the yacc parser (stored in lex->options2). */
|
||||
|
||||
|
||||
/* The following is used to detect a conflict with DISTINCT
|
||||
in the user query has requested */
|
||||
#define SELECT_ALL (1L << 0)
|
||||
|
||||
/*
|
||||
Maximum length of time zone name that we support
|
||||
/*
|
||||
Maximum length of time zone name that we support
|
||||
(Time zone name is char(64) in db). mysqlbinlog needs it.
|
||||
*/
|
||||
#define MAX_TIME_ZONE_NAME_LENGTH 72
|
||||
|
@ -285,13 +294,10 @@ extern CHARSET_INFO *national_charset_info, *table_alias_charset;
|
|||
/* The rest of the file is included in the server only */
|
||||
#ifndef MYSQL_CLIENT
|
||||
|
||||
/* If not set then the thread will ignore all warnings with level notes. */
|
||||
#define OPTION_SQL_NOTES (1L << 31)
|
||||
|
||||
/* Bits for different SQL modes modes (including ANSI mode) */
|
||||
#define MODE_REAL_AS_FLOAT 1
|
||||
#define MODE_PIPES_AS_CONCAT 2
|
||||
#define MODE_ANSI_QUOTES 4
|
||||
#define MODE_REAL_AS_FLOAT 1
|
||||
#define MODE_PIPES_AS_CONCAT 2
|
||||
#define MODE_ANSI_QUOTES 4
|
||||
#define MODE_IGNORE_SPACE 8
|
||||
#define MODE_NOT_USED 16
|
||||
#define MODE_ONLY_FULL_GROUP_BY 32
|
||||
|
@ -838,7 +844,7 @@ void mysql_stmt_fetch(THD *thd, char *packet, uint packet_length);
|
|||
void mysql_stmt_free(THD *thd, char *packet);
|
||||
void mysql_stmt_reset(THD *thd, char *packet);
|
||||
void mysql_stmt_get_longdata(THD *thd, char *pos, ulong packet_length);
|
||||
void reset_stmt_for_execute(THD *thd, LEX *lex);
|
||||
void reinit_stmt_before_use(THD *thd, LEX *lex);
|
||||
void init_stmt_after_parse(THD*, LEX*);
|
||||
|
||||
/* sql_handler.cc */
|
||||
|
|
|
@ -3098,6 +3098,11 @@ You should consider changing lower_case_table_names to 1 or 2",
|
|||
lower_case_table_names= 0;
|
||||
}
|
||||
|
||||
/* Reset table_alias_charset, now that lower_case_table_names is set. */
|
||||
table_alias_charset= (lower_case_table_names ?
|
||||
files_charset_info :
|
||||
&my_charset_bin);
|
||||
|
||||
select_thread=pthread_self();
|
||||
select_thread_in_use=1;
|
||||
init_ssl();
|
||||
|
@ -6771,9 +6776,6 @@ static void get_options(int argc,char **argv)
|
|||
|
||||
/* Set global variables based on startup options */
|
||||
myisam_block_size=(uint) 1 << my_bit_log2(opt_myisam_block_size);
|
||||
table_alias_charset= (lower_case_table_names ?
|
||||
files_charset_info :
|
||||
&my_charset_bin);
|
||||
|
||||
if (opt_short_log_format)
|
||||
opt_specialflag|= SPECIAL_SHORT_LOG_FORMAT;
|
||||
|
|
|
@ -1616,7 +1616,10 @@ bool sys_var::check_set(THD *thd, set_var *var, TYPELIB *enum_names)
|
|||
if (var->value->result_type() == STRING_RESULT)
|
||||
{
|
||||
if (!(res= var->value->val_str(&str)))
|
||||
{
|
||||
strmake(buff, "NULL", 4);
|
||||
goto err;
|
||||
}
|
||||
var->save_result.ulong_value= ((ulong)
|
||||
find_set(enum_names, res->c_ptr(),
|
||||
res->length(),
|
||||
|
|
|
@ -533,17 +533,35 @@ sp_head::destroy()
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* This is only used for result fields from functions (both during
|
||||
* fix_length_and_dec() and evaluation).
|
||||
*
|
||||
* Since the current mem_root during a will be freed and the result
|
||||
* field will be used by the caller, we have to put it in the caller's
|
||||
* or main mem_root.
|
||||
*/
|
||||
Field *
|
||||
sp_head::make_field(uint max_length, const char *name, TABLE *dummy)
|
||||
{
|
||||
Field *field;
|
||||
MEM_ROOT *tmp_mem_root;
|
||||
THD *thd;
|
||||
DBUG_ENTER("sp_head::make_field");
|
||||
|
||||
thd= current_thd;
|
||||
tmp_mem_root= thd->mem_root;
|
||||
if (thd->spcont && thd->spcont->callers_mem_root)
|
||||
thd->mem_root= thd->spcont->callers_mem_root;
|
||||
else
|
||||
thd->mem_root= &thd->main_mem_root;
|
||||
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);
|
||||
thd->mem_root= tmp_mem_root;
|
||||
DBUG_RETURN(field);
|
||||
}
|
||||
|
||||
|
@ -695,6 +713,8 @@ sp_head::execute_function(THD *thd, Item **argp, uint argcount, Item **resp)
|
|||
sp_rcontext *nctx = NULL;
|
||||
uint i;
|
||||
int ret;
|
||||
MEM_ROOT *old_mem_root, call_mem_root;
|
||||
Item *old_free_list, *call_free_list;
|
||||
|
||||
if (argcount != params)
|
||||
{
|
||||
|
@ -705,9 +725,16 @@ sp_head::execute_function(THD *thd, Item **argp, uint argcount, Item **resp)
|
|||
DBUG_RETURN(-1);
|
||||
}
|
||||
|
||||
init_alloc_root(&call_mem_root, MEM_ROOT_BLOCK_SIZE, 0);
|
||||
old_mem_root= thd->mem_root;
|
||||
thd->mem_root= &call_mem_root;
|
||||
old_free_list= thd->free_list; // Keep the old list
|
||||
thd->free_list= NULL; // Start a new one
|
||||
|
||||
// QQ Should have some error checking here? (types, etc...)
|
||||
nctx= new sp_rcontext(csize, hmax, cmax);
|
||||
for (i= 0 ; i < params && i < argcount ; i++)
|
||||
nctx->callers_mem_root= old_mem_root;
|
||||
for (i= 0 ; i < argcount ; i++)
|
||||
{
|
||||
sp_pvar_t *pvar = m_pcont->find_pvar(i);
|
||||
Item *it= sp_eval_func_item(thd, argp++, pvar->type, NULL);
|
||||
|
@ -735,13 +762,20 @@ sp_head::execute_function(THD *thd, Item **argp, uint argcount, Item **resp)
|
|||
|
||||
ret= execute(thd);
|
||||
|
||||
// Partially restore context now.
|
||||
// We still need the call mem root and free list for processing
|
||||
// of the result.
|
||||
call_free_list= thd->free_list;
|
||||
thd->free_list= old_free_list;
|
||||
thd->mem_root= old_mem_root;
|
||||
|
||||
if (m_type == TYPE_ENUM_FUNCTION && ret == 0)
|
||||
{
|
||||
/* We need result only in function but not in trigger */
|
||||
Item *it= nctx->get_result();
|
||||
|
||||
if (it)
|
||||
*resp= it;
|
||||
*resp= sp_eval_func_item(thd, &it, m_returns, NULL);
|
||||
else
|
||||
{
|
||||
my_error(ER_SP_NORETURNEND, MYF(0), m_name.str);
|
||||
|
@ -751,6 +785,12 @@ sp_head::execute_function(THD *thd, Item **argp, uint argcount, Item **resp)
|
|||
|
||||
nctx->pop_all_cursors(); // To avoid memory leaks after an error
|
||||
thd->spcont= octx;
|
||||
|
||||
// Now get rid of the rest of the callee context
|
||||
cleanup_items(call_free_list);
|
||||
free_items(call_free_list);
|
||||
free_root(&call_mem_root, MYF(0));
|
||||
|
||||
DBUG_RETURN(ret);
|
||||
}
|
||||
|
||||
|
@ -780,6 +820,8 @@ sp_head::execute_procedure(THD *thd, List<Item> *args)
|
|||
sp_rcontext *octx = thd->spcont;
|
||||
sp_rcontext *nctx = NULL;
|
||||
my_bool tmp_octx = FALSE; // True if we have allocated a temporary octx
|
||||
MEM_ROOT *old_mem_root, call_mem_root;
|
||||
Item *old_free_list, *call_free_list;
|
||||
|
||||
if (args->elements != params)
|
||||
{
|
||||
|
@ -788,6 +830,12 @@ sp_head::execute_procedure(THD *thd, List<Item> *args)
|
|||
DBUG_RETURN(-1);
|
||||
}
|
||||
|
||||
init_alloc_root(&call_mem_root, MEM_ROOT_BLOCK_SIZE, 0);
|
||||
old_mem_root= thd->mem_root;
|
||||
thd->mem_root= &call_mem_root;
|
||||
old_free_list= thd->free_list; // Keep the old list
|
||||
thd->free_list= NULL; // Start a new one
|
||||
|
||||
if (csize > 0 || hmax > 0 || cmax > 0)
|
||||
{
|
||||
Item_null *nit= NULL; // Re-use this, and only create if needed
|
||||
|
@ -853,9 +901,16 @@ sp_head::execute_procedure(THD *thd, List<Item> *args)
|
|||
if (! ret)
|
||||
ret= execute(thd);
|
||||
|
||||
// Partially restore context now.
|
||||
// We still need the call mem root and free list for processing
|
||||
// of out parameters.
|
||||
call_free_list= thd->free_list;
|
||||
thd->free_list= old_free_list;
|
||||
thd->mem_root= old_mem_root;
|
||||
|
||||
if (!ret && csize > 0)
|
||||
{
|
||||
List_iterator_fast<Item> li(*args);
|
||||
List_iterator<Item> li(*args);
|
||||
Item *it;
|
||||
|
||||
// Copy back all OUT or INOUT values to the previous frame, or
|
||||
|
@ -867,8 +922,34 @@ sp_head::execute_procedure(THD *thd, List<Item> *args)
|
|||
if (pvar->mode != sp_param_in)
|
||||
{
|
||||
if (it->is_splocal())
|
||||
octx->set_item(static_cast<Item_splocal *>(it)->get_offset(),
|
||||
nctx->get_item(i));
|
||||
{
|
||||
// Have to copy the item to the caller's mem_root
|
||||
Item *copy;
|
||||
uint offset= static_cast<Item_splocal *>(it)->get_offset();
|
||||
Item *val= nctx->get_item(i);
|
||||
Item *orig= octx->get_item(offset);
|
||||
Item *o_item_next;
|
||||
Item *o_free_list= thd->free_list;
|
||||
LINT_INIT(o_item_next);
|
||||
|
||||
if (orig)
|
||||
o_item_next= orig->next;
|
||||
copy= sp_eval_func_item(thd, &val, pvar->type, orig); // Copy
|
||||
if (!copy)
|
||||
{
|
||||
ret= -1;
|
||||
break;
|
||||
}
|
||||
if (copy != orig)
|
||||
octx->set_item(offset, copy);
|
||||
if (orig && copy == orig)
|
||||
{
|
||||
// A reused item slot, where the constructor put it in the
|
||||
// free_list, so we have to restore the list.
|
||||
thd->free_list= o_free_list;
|
||||
copy->next= o_item_next;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Item_func_get_user_var *guv= item_is_user_var(it);
|
||||
|
@ -899,6 +980,12 @@ sp_head::execute_procedure(THD *thd, List<Item> *args)
|
|||
nctx->pop_all_cursors(); // To avoid memory leaks after an error
|
||||
thd->spcont= octx;
|
||||
|
||||
// Now get rid of the rest of the callee context
|
||||
cleanup_items(call_free_list);
|
||||
free_items(call_free_list);
|
||||
thd->lex->unit.cleanup();
|
||||
free_root(&call_mem_root, MYF(0));
|
||||
|
||||
DBUG_RETURN(ret);
|
||||
}
|
||||
|
||||
|
@ -1355,7 +1442,7 @@ sp_lex_keeper::reset_lex_and_exec_core(THD *thd, uint *nextp,
|
|||
implemented at the same time as ability not to store LEX for
|
||||
instruction if it is not really used.
|
||||
*/
|
||||
reset_stmt_for_execute(thd, m_lex);
|
||||
reinit_stmt_before_use(thd, m_lex);
|
||||
|
||||
/*
|
||||
If requested check whenever we have access to tables in LEX's table list
|
||||
|
|
|
@ -32,6 +32,7 @@ sp_rcontext::sp_rcontext(uint fsize, uint hmax, uint cmax)
|
|||
: m_count(0), m_fsize(fsize), m_result(NULL), m_hcount(0), m_hsp(0),
|
||||
m_hfound(-1), m_ccount(0)
|
||||
{
|
||||
callers_mem_root= NULL;
|
||||
in_handler= FALSE;
|
||||
m_frame= (Item **)sql_alloc(fsize * sizeof(Item*));
|
||||
m_handler= (sp_handler_t *)sql_alloc(hmax * sizeof(sp_handler_t));
|
||||
|
|
|
@ -47,6 +47,7 @@ class sp_rcontext : public Sql_alloc
|
|||
|
||||
public:
|
||||
|
||||
MEM_ROOT *callers_mem_root; // Used to store result fields
|
||||
bool in_handler;
|
||||
|
||||
sp_rcontext(uint fsize, uint hmax, uint cmax);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue