This commit is contained in:
monty@mashka.mysql.fi 2003-01-21 21:28:51 +02:00
commit 7436e9ec97
171 changed files with 2014 additions and 1802 deletions

View File

@ -3,9 +3,9 @@
path=`dirname $0`
. "$path/SETUP.sh"
extra_flags="$pentium_cflags $fast_cflags"
extra_flags="$pentium_cflags $fast_cflags -g"
extra_configs="$pentium_configs"
strip=yes
#strip=yes
extra_configs="$extra_configs --with-innodb --with-berkeley-db \
--with-embedded-server --enable-thread-safe-client \

View File

@ -21,7 +21,8 @@ AUTOMAKE_OPTIONS = foreign
# These are built from source in the Docs directory
EXTRA_DIST = INSTALL-SOURCE README \
COPYING COPYING.LIB
SUBDIRS = . include @docs_dirs@ @readline_dir@ \
SUBDIRS = . include @docs_dirs@ \
@readline_topdir@ @readline_dir@ \
@thread_dirs@ pstack @sql_client_dirs@ \
@sql_server_dirs@ scripts man tests \
BUILD os2 libmysql_r @libmysqld_dirs@ \

View File

@ -25,7 +25,7 @@ CFG=bdb - Win32 Max
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
CPP=xicl6.exe
RSC=rc.exe
!IF "$(CFG)" == "bdb - Win32 Debug"
@ -41,14 +41,13 @@ RSC=rc.exe
# 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 /Gf /I "../bdb/build_win32" /I "../bdb/include" /D "__WIN32__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /FD /c
# SUBTRACT CPP /Fr
# ADD CPP /nologo /G6 /MTd /W3 /Z7 /Od /Gf /I "../bdb/build_win32" /I "../bdb" /I "../bdb/dbinc" /D "__WIN32__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /FD /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib_debug\bdb.lib"
@ -66,13 +65,13 @@ LIB32=link.exe -lib
# PROP Target_Dir ""
# ADD BASE CPP /nologo /G6 /MTd /W3 /Z7 /Od /Gf /I "../bdb/build_win32" /I "../bdb/include" /D "__WIN32__" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "_WINDOWS" /FD /c
# SUBTRACT BASE CPP /Fr
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../bdb/build_win32" /I "../bdb/include" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /Fo"mysys___Win32_Max/" /Fd"mysys___Win32_Max/" /FD /c
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../bdb/build_win32" /I "../bdb" /D "NDEBUG" /D "DBUG_OFF" /D "_WINDOWS" /Fo"mysys___Win32_Max/" /Fd"mysys___Win32_Max/" /FD /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo /out:"..\lib_debug\bdb.lib"
# ADD LIB32 /nologo /out:"..\lib_release\bdb.lib"
@ -167,34 +166,6 @@ SOURCE=.\db\crdel_rec.c
# End Source File
# Begin Source File
SOURCE=.\cxx\cxx_app.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\cxx_except.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\cxx_lock.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\cxx_log.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\cxx_mpool.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\cxx_table.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\cxx_txn.cpp
# End Source File
# Begin Source File
SOURCE=.\db\db.c
# End Source File
# Begin Source File
@ -235,6 +206,10 @@ SOURCE=.\common\db_getlong.c
# End Source File
# Begin Source File
SOURCE=.\common\db_idspace.c
# End Source File
# Begin Source File
SOURCE=.\db\db_iface.c
# End Source File
# Begin Source File
@ -255,6 +230,10 @@ SOURCE=.\db\db_method.c
# End Source File
# Begin Source File
SOURCE=.\db\db_open.c
# End Source File
# Begin Source File
SOURCE=.\db\db_overflow.c
# End Source File
# Begin Source File
@ -271,6 +250,14 @@ SOURCE=.\db\db_reclaim.c
# End Source File
# Begin Source File
SOURCE=.\db\db_remove.c
# End Source File
# Begin Source File
SOURCE=.\db\db_rename.c
# End Source File
# Begin Source File
SOURCE=.\db\db_ret.c
# End Source File
# Begin Source File
@ -283,6 +270,10 @@ SOURCE=.\env\db_shash.c
# End Source File
# Begin Source File
SOURCE=.\db\db_truncate.c
# End Source File
# Begin Source File
SOURCE=.\db\db_upg.c
# End Source File
# Begin Source File
@ -303,6 +294,26 @@ SOURCE=.\dbm\dbm.c
# End Source File
# Begin Source File
SOURCE=.\dbreg\dbreg.c
# End Source File
# Begin Source File
SOURCE=.\dbreg\dbreg_auto.c
# End Source File
# Begin Source File
SOURCE=.\dbreg\dbreg_rec.c
# End Source File
# Begin Source File
SOURCE=.\dbreg\dbreg_util.c
# End Source File
# Begin Source File
SOURCE=.\env\env_file.c
# End Source File
# Begin Source File
SOURCE=.\env\env_method.c
# End Source File
# Begin Source File
@ -319,6 +330,22 @@ SOURCE=.\env\env_region.c
# End Source File
# Begin Source File
SOURCE=.\fileops\fileops_auto.c
# End Source File
# Begin Source File
SOURCE=.\fileops\fop_basic.c
# End Source File
# Begin Source File
SOURCE=.\fileops\fop_rec.c
# End Source File
# Begin Source File
SOURCE=.\fileops\fop_util.c
# End Source File
# Begin Source File
SOURCE=.\hash\hash.c
# End Source File
# Begin Source File
@ -347,6 +374,10 @@ SOURCE=.\hash\hash_method.c
# End Source File
# Begin Source File
SOURCE=.\hash\hash_open.c
# End Source File
# Begin Source File
SOURCE=.\hash\hash_page.c
# End Source File
# Begin Source File
@ -371,6 +402,10 @@ SOURCE=.\hash\hash_verify.c
# End Source File
# Begin Source File
SOURCE=.\hmac\hmac.c
# End Source File
# Begin Source File
SOURCE=.\hsearch\hsearch.c
# End Source File
# Begin Source File
@ -379,10 +414,6 @@ SOURCE=.\lock\lock.c
# End Source File
# Begin Source File
SOURCE=.\lock\lock_conflict.c
# End Source File
# Begin Source File
SOURCE=.\lock\lock_deadlock.c
# End Source File
# Begin Source File
@ -411,18 +442,10 @@ SOURCE=.\log\log_archive.c
# End Source File
# Begin Source File
SOURCE=.\log\log_auto.c
# End Source File
# Begin Source File
SOURCE=.\log\log_compare.c
# End Source File
# Begin Source File
SOURCE=.\log\log_findckp.c
# End Source File
# Begin Source File
SOURCE=.\log\log_get.c
# End Source File
# Begin Source File
@ -435,14 +458,6 @@ SOURCE=.\log\log_put.c
# End Source File
# Begin Source File
SOURCE=.\log\log_rec.c
# End Source File
# Begin Source File
SOURCE=.\log\log_register.c
# End Source File
# Begin Source File
SOURCE=.\mp\mp_alloc.c
# End Source File
# Begin Source File
@ -495,6 +510,10 @@ SOURCE=.\mutex\mut_tas.c
# End Source File
# Begin Source File
SOURCE=.\mutex\mut_win32.c
# End Source File
# Begin Source File
SOURCE=.\mutex\mutex.c
# End Source File
# Begin Source File
@ -507,6 +526,14 @@ SOURCE=.\os\os_alloc.c
# End Source File
# Begin Source File
SOURCE=.\os_win32\os_clock.c
# End Source File
# Begin Source File
SOURCE=.\os_win32\os_config.c
# End Source File
# Begin Source File
SOURCE=.\os_win32\os_dir.c
# End Source File
# Begin Source File
@ -519,15 +546,15 @@ SOURCE=.\os_win32\os_fid.c
# End Source File
# Begin Source File
SOURCE=.\os_win32\os_finit.c
SOURCE=.\os_win32\os_fsync.c
# End Source File
# Begin Source File
SOURCE=.\os\os_fsync.c
SOURCE=.\os_win32\os_handle.c
# End Source File
# Begin Source File
SOURCE=.\os\os_handle.c
SOURCE=.\os\os_id.c
# End Source File
# Begin Source File
@ -563,7 +590,7 @@ SOURCE=.\os\os_rpath.c
# End Source File
# Begin Source File
SOURCE=.\os\os_rw.c
SOURCE=.\os_win32\os_rw.c
# End Source File
# Begin Source File
@ -579,7 +606,7 @@ SOURCE=.\os_win32\os_spin.c
# End Source File
# Begin Source File
SOURCE=.\os\os_stat.c
SOURCE=.\os_win32\os_stat.c
# End Source File
# Begin Source File
@ -635,6 +662,26 @@ SOURCE=.\qam\qam_verify.c
# End Source File
# Begin Source File
SOURCE=.\rep\rep_method.c
# End Source File
# Begin Source File
SOURCE=.\rep\rep_record.c
# End Source File
# Begin Source File
SOURCE=.\rep\rep_region.c
# End Source File
# Begin Source File
SOURCE=.\rep\rep_util.c
# End Source File
# Begin Source File
SOURCE=.\hmac\sha1.c
# End Source File
# Begin Source File
SOURCE=.\clib\strcasecmp.c
# End Source File
# Begin Source File
@ -647,14 +694,30 @@ SOURCE=.\txn\txn_auto.c
# End Source File
# Begin Source File
SOURCE=.\txn\txn_method.c
# End Source File
# Begin Source File
SOURCE=.\txn\txn_rec.c
# End Source File
# Begin Source File
SOURCE=.\txn\txn_recover.c
# End Source File
# Begin Source File
SOURCE=.\txn\txn_region.c
# End Source File
# Begin Source File
SOURCE=.\txn\txn_stat.c
# End Source File
# Begin Source File
SOURCE=.\txn\txn_util.c
# End Source File
# Begin Source File
SOURCE=.\common\util_log.c
# End Source File
# Begin Source File

View File

@ -566,4 +566,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -25,7 +25,7 @@ CFG=mysqlclient - Win32 Debug
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
CPP=xicl6.exe
RSC=rc.exe
!IF "$(CFG)" == "mysqlclient - Win32 Release"
@ -48,7 +48,7 @@ RSC=rc.exe
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib_release\mysqlclient.lib"
@ -72,7 +72,7 @@ LIB32=link.exe -lib
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib_debug\mysqlclient.lib"
@ -382,7 +382,7 @@ SOURCE=..\mysys\my_thr_init.c
# End Source File
# Begin Source File
SOURCE=..\mysys\my_vsnprintf.c
SOURCE=..\strings\my_vsnprintf.c
# End Source File
# Begin Source File
@ -490,6 +490,10 @@ SOURCE=..\strings\strxmov.c
# End Source File
# Begin Source File
SOURCE=..\strings\strxnmov.c
# End Source File
# Begin Source File
SOURCE=..\mysys\thr_mutex.c
# End Source File
# Begin Source File
@ -512,5 +516,9 @@ SOURCE=..\vio\viossl.c
SOURCE=..\vio\viosslfactories.c
# End Source File
# Begin Source File
SOURCE=..\strings\xml.c
# End Source File
# End Target
# End Project

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -38,4 +38,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -38,4 +38,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -27,7 +27,7 @@ CFG=INNOBASE - WIN32 RELEASE
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
CPP=xicl6.exe
RSC=rc.exe
!IF "$(CFG)" == "innobase - Win32 Debug"
@ -43,14 +43,14 @@ RSC=rc.exe
# PROP Intermediate_Dir "debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /G6 /MT /W3 /GX /O2 /I "../innobase/include" /D "NDEBUG" /D "_LIB" /D "_WIN32" /D "__NT__" /D "WIN32" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /G6 /MTd /W3 /GX /Z7 /O2 /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_WIN32" /D "__NT__" /D "WIN32" /D "_MBCS" /D "MYSQL_SERVER" /FD /c
# ADD CPP /nologo /G6 /MTd /W3 /GX /Z7 /O2 /I "../innobase/include" /I "../include" /D "NDEBUG" /D "_LIB" /D "_WIN32" /D "WIN32" /D "_MBCS" /D "MYSQL_SERVER" /FD /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x416 /d "NDEBUG"
# ADD RSC /l 0x416 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo /out:"..\lib_release\innobase-nt.lib"
# ADD LIB32 /nologo /out:"..\lib_debug\innodb.lib"
@ -74,7 +74,7 @@ LIB32=link.exe -lib
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo /out:"..\lib_release\innodb.lib"
# ADD LIB32 /nologo /out:"..\lib_release\innodb.lib"
@ -98,7 +98,7 @@ LIB32=link.exe -lib
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo /out:"..\lib_release\innodb.lib"
# ADD LIB32 /nologo /out:"..\lib_release\innodb.lib"
@ -122,7 +122,7 @@ LIB32=link.exe -lib
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo /out:"..\lib_release\innodb.lib"
# ADD LIB32 /nologo /out:"..\lib_release\innodb.lib"

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -797,4 +797,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -25,7 +25,7 @@ CFG=mysqldemb - Win32 Debug
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
CPP=xicl6.exe
RSC=rc.exe
!IF "$(CFG)" == "mysqldemb - Win32 Release"
@ -41,14 +41,14 @@ 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 /MT /W3 /O2 /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /FD /c
# ADD CPP /nologo /MT /W3 /O2 /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /I "../zlib" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "DBUG_OFF" /D "USE_TLS" /D "__WIN__" /FD /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x416 /d "NDEBUG"
# ADD RSC /l 0x416 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
@ -65,14 +65,14 @@ LIB32=link.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 /MTd /W3 /Gm /Zi /Od /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /D "__WIN__" /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "../zlib" /I "../include" /I "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /D "__WIN__" /FD /GZ /c
# SUBTRACT CPP /YX
# ADD BASE RSC /l 0x416 /d "_DEBUG"
# ADD RSC /l 0x416 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
@ -168,10 +168,18 @@ SOURCE=..\sql\item_func.cpp
# End Source File
# Begin Source File
SOURCE=..\sql\item_row.cpp
# End Source File
# Begin Source File
SOURCE=..\sql\item_strfunc.cpp
# End Source File
# Begin Source File
SOURCE=..\sql\item_subselect.cpp
# End Source File
# Begin Source File
SOURCE=..\sql\item_sum.cpp
# End Source File
# Begin Source File
@ -216,10 +224,6 @@ SOURCE=..\sql\mini_client.cpp
# End Source File
# Begin Source File
SOURCE=..\sql\net_pkg.cpp
# End Source File
# Begin Source File
SOURCE=..\sql\net_serv.cpp
# End Source File
# Begin Source File
@ -244,6 +248,10 @@ SOURCE=..\sql\procedure.cpp
# End Source File
# Begin Source File
SOURCE=..\sql\protocol.cpp
# End Source File
# Begin Source File
SOURCE=..\sql\records.cpp
# End Source File
# Begin Source File
@ -288,10 +296,18 @@ SOURCE=..\sql\sql_delete.cpp
# End Source File
# Begin Source File
SOURCE=..\sql\sql_derived.cpp
# End Source File
# Begin Source File
SOURCE=..\sql\sql_do.cpp
# End Source File
# Begin Source File
SOURCE=..\sql\sql_error.cpp
# End Source File
# Begin Source File
SOURCE=..\sql\sql_handler.cpp
# End Source File
# Begin Source File
@ -320,6 +336,10 @@ SOURCE=..\sql\sql_parse.cpp
# End Source File
# Begin Source File
SOURCE=..\sql\sql_prepare.cpp
# End Source File
# Begin Source File
SOURCE=..\sql\sql_rename.cpp
# End Source File
# Begin Source File

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -26,7 +26,7 @@ CFG=mysys - Win32 Debug
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
CPP=xicl6.exe
RSC=rc.exe
!IF "$(CFG)" == "mysys - Win32 Release"
@ -49,7 +49,7 @@ RSC=rc.exe
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib_release\mysys.lib"
@ -73,7 +73,7 @@ LIB32=link.exe -lib
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib_debug\mysys.lib"
@ -98,7 +98,7 @@ LIB32=link.exe -lib
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo /out:"..\lib_release\mysys.lib"
# ADD LIB32 /nologo /out:"..\lib_release\mysys-max.lib"
@ -434,10 +434,6 @@ SOURCE=.\my_thr_init.c
# End Source File
# Begin Source File
SOURCE=.\my_vsnprintf.c
# End Source File
# Begin Source File
SOURCE=.\my_wincond.c
# End Source File
# Begin Source File

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -28,7 +28,7 @@ CFG=mysqld - Win32 Release
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
CPP=xicl6.exe
RSC=rc.exe
!IF "$(CFG)" == "mysqld - Win32 Release"
@ -52,7 +52,7 @@ RSC=rc.exe
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.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 /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\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_release/mysqld-opt.exe"
# SUBTRACT LINK32 /debug
@ -78,7 +78,7 @@ LINK32=link.exe
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.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 /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\isam.lib ..\lib_debug\merge.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.exe" /pdbtype:sept
@ -105,7 +105,7 @@ LINK32=link.exe
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.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\dbug.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /debug /machine: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\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\zlib.lib /nologo /subsystem:console /map /machine:I386 /out:"../client_release/mysqld-nt.exe"
# SUBTRACT LINK32 /pdb:none /debug
@ -133,7 +133,7 @@ LINK32=link.exe
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.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\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib /nologo /subsystem:console /map /machine:I386 /out:"../client_release/mysqld-nt.exe"
# 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\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys-max.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib ..\lib_release\innodb.lib ..\lib_release\bdb.lib /nologo /subsystem:console /map /machine:I386 /out:"../client_release/mysqld-max-nt.exe"
@ -162,7 +162,7 @@ LINK32=link.exe
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.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\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /out:"../client_release/mysqld-opt.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\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys-max.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\innodb.lib ..\lib_release\bdb.lib ..\lib_release\zlib.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_release/mysqld-max.exe"
# SUBTRACT LINK32 /debug
@ -464,8 +464,6 @@ SOURCE=.\item_func.cpp
!IF "$(CFG)" == "mysqld - Win32 Release"
# ADD CPP /I "../zlib"
!ELSEIF "$(CFG)" == "mysqld - Win32 Debug"
# ADD CPP /G5 /I "../zlib"
@ -662,6 +660,10 @@ SOURCE=.\mini_client.cpp
# End Source File
# Begin Source File
SOURCE=..\myisammrg\myrg_rnext_same.c
# End Source File
# Begin Source File
SOURCE=.\mysqld.cpp
!IF "$(CFG)" == "mysqld - Win32 Release"
@ -779,6 +781,10 @@ SOURCE=.\procedure.cpp
# End Source File
# Begin Source File
SOURCE=.\protocol.cpp
# End Source File
# Begin Source File
SOURCE=.\records.cpp
!IF "$(CFG)" == "mysqld - Win32 Release"

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -25,7 +25,7 @@ CFG=strings - Win32 Debug
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
CPP=xicl6.exe
RSC=rc.exe
!IF "$(CFG)" == "strings - Win32 Release"
@ -48,7 +48,7 @@ RSC=rc.exe
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib_release\strings.lib"
@ -72,7 +72,7 @@ LIB32=link.exe -lib
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib_debug\strings.lib"
@ -104,11 +104,11 @@ SOURCE=.\bmove512.c
# End Source File
# Begin Source File
SOURCE=".\ctype-bin.c"
SOURCE=".\ctype-big5.c"
# End Source File
# Begin Source File
SOURCE=".\ctype-big5.c"
SOURCE=".\ctype-bin.c"
# End Source File
# Begin Source File
@ -132,6 +132,10 @@ SOURCE=".\ctype-latin1_de.c"
# End Source File
# Begin Source File
SOURCE=".\ctype-mb.c"
# End Source File
# Begin Source File
SOURCE=".\ctype-simple.c"
# End Source File
# Begin Source File
@ -148,6 +152,14 @@ SOURCE=".\ctype-ujis.c"
# End Source File
# Begin Source File
SOURCE=".\ctype-utf8.c"
# End Source File
# Begin Source File
SOURCE=".\ctype-win1250ch.c"
# End Source File
# Begin Source File
SOURCE=.\ctype.c
# End Source File
# Begin Source File
@ -164,6 +176,10 @@ SOURCE=.\longlong2str.c
# End Source File
# Begin Source File
SOURCE=.\my_vsnprintf.c
# End Source File
# Begin Source File
SOURCE=.\r_strinstr.c
# End Source File
# Begin Source File
@ -172,18 +188,6 @@ SOURCE=.\str2int.c
# End Source File
# Begin Source File
SOURCE=.\strcend.c
# End Source File
# Begin Source File
SOURCE=.\strend.c
# End Source File
# Begin Source File
SOURCE=.\strfill.c
# End Source File
# Begin Source File
SOURCE=.\Strings.asm
!IF "$(CFG)" == "strings - Win32 Release"
@ -215,19 +219,6 @@ InputName=Strings
# End Source File
# Begin Source File
SOURCE=.\strmake.c
# End Source File
# Begin Source File
SOURCE=.\strmov.c
# End Source File
# Begin Source File
SOURCE=.\strnmov.c
# End Source File
# Begin Source File
SOURCE=.\strtol.c
# End Source File
# Begin Source File
@ -277,5 +268,9 @@ InputName=Strxmov
SOURCE=.\strxnmov.c
# End Source File
# Begin Source File
SOURCE=.\xml.c
# End Source File
# End Target
# End Project

View File

@ -26,4 +26,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -1,9 +1,51 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
Microsoft Developer Studio Workspace File, Format Version 5.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "build_all"=.\build_all.dsp - Package Owner=<4>
Project: "DB_DLL"=.\db_dll.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "DB_Static"=.\db_static.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "db_archive"=.\db_archive.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
###############################################################################
Project: "db_buildall"=.\db_buildall.dsp - Package Owner=<4>
Package=<5>
{{{
@ -83,25 +125,6 @@ Package=<4>
Begin Project Dependency
Project_Dep_Name excxx_tpcb
End Project Dependency
Begin Project Dependency
Project_Dep_Name db_lib
End Project Dependency
Begin Project Dependency
}}}
###############################################################################
Project: "db_archive"=.\db_archive.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
End Project Dependency
}}}
###############################################################################
@ -115,7 +138,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -132,18 +158,9 @@ Package=<4>
Begin Project Dependency
Project_Dep_Name DB_DLL
End Project Dependency
}}}
###############################################################################
Project: "db_dll"=.\db_dll.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
###############################################################################
@ -157,7 +174,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -178,24 +198,6 @@ Package=<4>
###############################################################################
Project: "db_lib"=.\db_lib.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_dll
End Project Dependency
Begin Project Dependency
Project_Dep_Name db_static
End Project Dependency
}}}
###############################################################################
Project: "db_load"=.\db_load.dsp - Package Owner=<4>
Package=<5>
@ -205,22 +207,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
}}}
###############################################################################
Project: "db_perf"=.\db_perf.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -235,7 +225,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -250,7 +243,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -265,20 +261,11 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
###############################################################################
Project: "db_static"=.\db_static.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
@ -307,7 +294,7 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name build_all
Project_Dep_Name db_buildall
End Project Dependency
Begin Project Dependency
Project_Dep_Name db_tcl
@ -325,7 +312,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -340,7 +330,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -355,7 +348,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -370,7 +366,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_Static
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_DLL
End Project Dependency
}}}
@ -385,7 +384,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -400,7 +402,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -415,7 +420,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -430,7 +438,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -445,7 +456,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -460,7 +474,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -475,7 +492,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -490,7 +510,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -505,7 +528,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -520,7 +546,10 @@ Package=<5>
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name db_lib
Project_Dep_Name DB_DLL
End Project Dependency
Begin Project Dependency
Project_Dep_Name DB_Static
End Project Dependency
}}}
@ -537,4 +566,3 @@ Package=<3>
}}}
###############################################################################

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2000-2002 MySQL AB
/* Copyright (C) 2000-2003 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -80,8 +80,6 @@ extern "C" {
#if defined( __WIN__) || defined(OS2)
#include <conio.h>
#else
// readline 4.2 has own __P
#undef __P
#include <readline/readline.h>
#define HAVE_READLINE
#endif
@ -1443,7 +1441,7 @@ static int com_server_help(String *buffer __attribute__((unused)),
if (result)
{
int num_rows= mysql_num_rows(result);
ulonglong num_rows= mysql_num_rows(result);
if (num_rows == 1)
{
if (!(cur= mysql_fetch_row(result)))

View File

@ -67,7 +67,8 @@ static void dump_remote_table(NET* net, const char* db, const char* table);
static void die(const char* fmt, ...);
static MYSQL* safe_connect();
class Load_log_processor {
class Load_log_processor
{
char target_dir_name[MY_NFILE];
int target_dir_name_len;
DYNAMIC_ARRAY file_names;
@ -103,12 +104,10 @@ class Load_log_processor {
void append_to_file(const char* fname, int flags,
gptr data, uint size)
{
FILE *file;
if(!(file= my_fopen(fname,flags,MYF(MY_WME))))
exit(1);
if (my_fwrite(file,data,size,MYF(MY_WME|MY_NABP)))
exit(1);
if (my_fclose(file,MYF(MY_WME)))
File file;
if ((file= my_open(fname,flags,MYF(MY_WME)) < 0) ||
my_write(file,(byte*) data,size,MYF(MY_WME|MY_NABP)) ||
my_close(file,MYF(MY_WME)))
exit(1);
}
@ -176,7 +175,7 @@ public:
void process(Create_file_log_event *ce)
{
const char *fname= create_file(ce);
append_to_file (fname,O_CREAT|O_BINARY,ce->block,ce->block_len);
append_to_file(fname,O_CREAT|O_BINARY,ce->block,ce->block_len);
}
void process(Append_block_log_event *ae)
{

View File

@ -0,0 +1,6 @@
## Process this file with automake to create Makefile.in
SUBDIRS= @readline_basedir@
# Don't update the files from bitkeeper
%::SCCS/s.%

View File

@ -2039,14 +2039,18 @@ mkdir include/readline
if [test "$with_libedit" = "yes"] || [test "$with_libedit" = "undefined"] && [test "$with_readline" = "undefined"]
then
readline_dir="cmd-line-utils/libedit"
readline_topdir="cmd-line-utils"
readline_basedir="libedit"
readline_dir="$readline_topdir/$readline_basedir"
readline_link="\$(top_builddir)/cmd-line-utils/libedit/liblibedit.a"
readline_h_ln_cmd="\$(LN) \$(top_builddir)/cmd-line-utils/libedit/readline/*.h readline/"
compile_libedit=yes
AC_DEFINE_UNQUOTED(USE_LIBEDIT_INTERFACE)
elif test "$with_readline" = "yes"
then
readline_dir="cmd-line-utils/readline"
readline_topdir="cmd-line-utils"
readline_basedir="readline"
readline_dir="$readline_topdir/$readline_basedir"
readline_link="\$(top_builddir)/cmd-line-utils/readline/libreadline.a"
readline_h_ln_cmd="\$(LN) \$(top_builddir)/cmd-line-utils/readline/*.h readline/"
compile_readline=yes
@ -2056,16 +2060,19 @@ else
MYSQL_CHECK_NEW_RL_INTERFACE
if ["$mysql_cv_new_rl_interface"="yes"] || [test "$mysql_cv_libedit_interface"="no"]
then
readline_dir=""
readline_link="-lreadline"
else
readline_dir=""
readline_link="-ledit"
fi
readline_topdir=""
readline_basedir=""
readline_dir=""
readline_h_ln_cmd=""
fi
AC_SUBST(readline_dir)
AC_SUBST(readline_topdir)
AC_SUBST(readline_basedir)
AC_SUBST(readline_link)
AC_SUBST(readline_h_ln_cmd)
@ -2454,11 +2461,13 @@ AC_SUBST(GXX)
if test "$compile_readline" = "yes"
then
AC_OUTPUT(cmd-line-utils/Makefile)
AC_OUTPUT(cmd-line-utils/readline/Makefile)
fi
if test "$compile_libedit" = "yes"
then
AC_OUTPUT(cmd-line-utils/Makefile)
AC_OUTPUT(cmd-line-utils/libedit/Makefile)
fi

View File

@ -20,6 +20,8 @@
static int check_one_key(HP_KEYDEF *keydef, uint keynr, ulong records,
ulong blength, my_bool print_status);
static int check_one_rb_key(HP_INFO *info, uint keynr, ulong records,
my_bool print_status);
/*

View File

@ -262,6 +262,7 @@ inline double ulonglong2double(ulonglong value)
#define HAVE_ISAM /* We want to have support for ISAM in 4.0 */
#define HAVE_QUERY_CACHE
#define SPRINTF_RETURNS_INT
#define HAVE_VIO
#ifdef NOT_USED
#define HAVE_SNPRINTF /* Gave link error */

View File

@ -26,7 +26,6 @@
extern "C" {
#endif
#define MY_CS_NAME_SIZE 32
#define MY_CS_CTYPE_TABLE_SIZE 257
#define MY_CS_TO_LOWER_TABLE_SIZE 256
@ -38,7 +37,8 @@ extern "C" {
#define my_wc_t ulong
typedef struct unicase_info_st {
typedef struct unicase_info_st
{
uint16 toupper;
uint16 tolower;
uint16 sort;
@ -66,7 +66,8 @@ typedef struct unicase_info_st {
#define MY_CHARSET_CURRENT (default_charset_info->number)
typedef struct my_uni_idx_st {
typedef struct my_uni_idx_st
{
uint16 from;
uint16 to;
uchar *tab;
@ -136,18 +137,27 @@ typedef struct charset_info_st
char max_sort_char; /* For LIKE optimization */
/* Charset dependant snprintf() */
int (*snprintf)(struct charset_info_st *, char *to, uint n, const char *fmt, ...);
int (*long10_to_str)(struct charset_info_st *, char *to, uint n, int radix, long int val);
int (*longlong10_to_str)(struct charset_info_st *, char *to, uint n, int radix, longlong val);
int (*snprintf)(struct charset_info_st *, char *to, uint n, const char *fmt,
...);
int (*long10_to_str)(struct charset_info_st *, char *to, uint n, int radix,
long int val);
int (*longlong10_to_str)(struct charset_info_st *, char *to, uint n,
int radix, longlong val);
/* String-to-number convertion routines */
long (*strntol)(struct charset_info_st *, const char *s, uint l, int base, char **e, int *err);
ulong (*strntoul)(struct charset_info_st *, const char *s, uint l, int base, char **e, int *err);
longlong (*strntoll)(struct charset_info_st *, const char *s, uint l, int base, char **e, int *err);
ulonglong (*strntoull)(struct charset_info_st *, const char *s, uint l, int base, char **e, int *err);
double (*strntod)(struct charset_info_st *, char *s, uint l, char **e, int *err);
long (*strntol)(struct charset_info_st *, const char *s, uint l,
int base, char **e, int *err);
ulong (*strntoul)(struct charset_info_st *, const char *s, uint l,
int base, char **e, int *err);
longlong (*strntoll)(struct charset_info_st *, const char *s, uint l,
int base, char **e, int *err);
ulonglong (*strntoull)(struct charset_info_st *, const char *s, uint l,
int base, char **e, int *err);
double (*strntod)(struct charset_info_st *, char *s, uint l, char **e,
int *err);
ulong (*scan)(struct charset_info_st *, const char *b, const char *e, int sq);
ulong (*scan)(struct charset_info_st *, const char *b, const char *e,
int sq);
} CHARSET_INFO;
@ -162,8 +172,10 @@ extern my_bool my_parse_charset_xml(const char *bug, uint len,
int (*add)(CHARSET_INFO *cs));
/* declarations for simple charsets */
extern int my_strnxfrm_simple(CHARSET_INFO *, uchar *, uint, const uchar *, uint);
extern int my_strnncoll_simple(CHARSET_INFO *, const uchar *, uint, const uchar *, uint);
extern int my_strnxfrm_simple(CHARSET_INFO *, uchar *, uint, const uchar *,
uint);
extern int my_strnncoll_simple(CHARSET_INFO *, const uchar *, uint,
const uchar *, uint);
extern uint my_hash_caseup_simple(CHARSET_INFO *cs,
const byte *key, uint len);
@ -181,23 +193,32 @@ extern void my_casedn_8bit(CHARSET_INFO *, char *, uint);
extern void my_tosort_8bit(CHARSET_INFO *, char *, uint);
extern int my_strcasecmp_8bit(CHARSET_INFO * cs, const char *, const char *);
extern int my_strncasecmp_8bit(CHARSET_INFO * cs, const char *, const char *, uint);
extern int my_strncasecmp_8bit(CHARSET_INFO * cs, const char *, const char *,
uint);
int my_mb_wc_8bit(CHARSET_INFO *cs,my_wc_t *wc, const uchar *s,const uchar *e);
int my_wc_mb_8bit(CHARSET_INFO *cs,my_wc_t wc, uchar *s, uchar *e);
ulong my_scan_8bit(CHARSET_INFO *cs, const char *b, const char *e, int sq);
int my_snprintf_8bit(struct charset_info_st *, char *to, uint n, const char *fmt, ...);
int my_snprintf_8bit(struct charset_info_st *, char *to, uint n,
const char *fmt, ...);
long my_strntol_8bit(CHARSET_INFO *, const char *s, uint l, int base, char **e, int *err);
ulong my_strntoul_8bit(CHARSET_INFO *, const char *s, uint l, int base, char **e, int *err);
longlong my_strntoll_8bit(CHARSET_INFO *, const char *s, uint l, int base, char **e, int *err);
ulonglong my_strntoull_8bit(CHARSET_INFO *, const char *s, uint l, int base, char **e, int *err);
double my_strntod_8bit(CHARSET_INFO *, char *s, uint l,char **e, int *err);
long my_strntol_8bit(CHARSET_INFO *, const char *s, uint l, int base,
char **e, int *err);
ulong my_strntoul_8bit(CHARSET_INFO *, const char *s, uint l, int base,
char **e, int *err);
longlong my_strntoll_8bit(CHARSET_INFO *, const char *s, uint l, int base,
char **e, int *err);
ulonglong my_strntoull_8bit(CHARSET_INFO *, const char *s, uint l, int base,
char **e, int *err);
double my_strntod_8bit(CHARSET_INFO *, char *s, uint l,char **e,
int *err);
int my_long10_to_str_8bit(CHARSET_INFO *, char *to, uint l, int radix, long int val);
int my_longlong10_to_str_8bit(CHARSET_INFO *, char *to, uint l, int radix, longlong val);
int my_long10_to_str_8bit(CHARSET_INFO *, char *to, uint l, int radix,
long int val);
int my_longlong10_to_str_8bit(CHARSET_INFO *, char *to, uint l, int radix,
longlong val);
my_bool my_like_range_simple(CHARSET_INFO *cs,
const char *ptr, uint ptr_length,
@ -220,15 +241,14 @@ extern void my_casedn_str_mb(CHARSET_INFO *, char *);
extern void my_caseup_mb(CHARSET_INFO *, char *, uint);
extern void my_casedn_mb(CHARSET_INFO *, char *, uint);
extern int my_strcasecmp_mb(CHARSET_INFO * cs,const char *, const char *);
extern int my_strncasecmp_mb(CHARSET_INFO * cs,const char *, const char *t, uint);
extern int my_strncasecmp_mb(CHARSET_INFO * cs,const char *, const char *t,
uint);
int my_wildcmp_mb(CHARSET_INFO *,
const char *str,const char *str_end,
const char *wildstr,const char *wildend,
int escape, int w_one, int w_many);
#endif
#define _U 01 /* Upper case */
#define _L 02 /* Lower case */
#define _NMR 04 /* Numeral (digit) */

View File

@ -32,8 +32,8 @@ extern LIST *list_add(LIST *root,LIST *element);
extern LIST *list_delete(LIST *root,LIST *element);
extern LIST *list_cons(void *data,LIST *root);
extern LIST *list_reverse(LIST *root);
extern void list_free(LIST *root,uint free_data);
extern uint list_length(LIST *list);
extern void list_free(LIST *root,unsigned int free_data);
extern unsigned int list_length(LIST *list);
extern int list_walk(LIST *list,list_walk_action action,gptr argument);
#define rest(a) ((a)->next)

View File

@ -473,17 +473,17 @@ enum PREP_STMT_STATE { MY_ST_UNKNOWN, MY_ST_PREPARE, MY_ST_EXECUTE };
/* bind structure */
typedef struct st_mysql_bind
{
long *length; /* output length pointer */
gptr buffer; /* buffer */
unsigned long *length; /* output length pointer */
my_bool *is_null; /* Pointer to null indicators */
char *buffer; /* buffer to get/put data */
enum enum_field_types buffer_type; /* buffer type */
my_bool is_null; /* NULL indicator */
my_bool is_long_data; /* long data indicator */
/* Must be set for string/blob data */
unsigned long buffer_length; /* buffer length */
/* The following are for internal use. Set by mysql_bind_param */
unsigned long buffer_length; /* buffer length */
long bind_length; /* Default length of data */
my_bool long_ended; /* All data supplied for long */
unsigned long bind_length; /* Default length of data */
unsigned int param_number; /* For null count and error messages */
my_bool long_data_used; /* If used with mysql_send_long_data */
void (*store_param_func)(NET *net, struct st_mysql_bind *param);
void (*fetch_result)(struct st_mysql_bind *, unsigned char **row);
} MYSQL_BIND;
@ -499,20 +499,21 @@ typedef struct st_mysql_stmt
MYSQL_FIELD *fields; /* prepare meta info */
LIST list; /* list to keep track of all stmts */
char *query; /* query buffer */
char *buffer; /* buffer to hold results */
MEM_ROOT mem_root; /* root allocations */
MYSQL_RES tmp_result; /* Used by mysql_prepare_result */
unsigned long param_count; /* parameters count */
unsigned long field_count; /* fields count */
unsigned long long_length; /* long buffer alloced length */
unsigned long buffer_length; /* long buffer alloced length */
unsigned long stmt_id; /* Id for prepared statement */
unsigned int last_errno; /* error code */
enum PREP_STMT_STATE state; /* statement state */
char last_error[MYSQL_ERRMSG_SIZE]; /* error message */
my_bool long_alloced; /* flag to indicate long alloced */
my_bool send_types_to_server; /* to indicate types supply to server */
my_bool param_buffers; /* to indicate the param bound buffers */
my_bool res_buffers; /* to indicate the output bound buffers */
my_bool result_buffered; /* to indicate the results buffered */
my_bool send_types_to_server; /* Types sent to server */
my_bool param_buffers; /* param bound buffers */
my_bool res_buffers; /* output bound buffers */
my_bool result_buffered; /* Results buffered */
} MYSQL_STMT;
@ -532,10 +533,7 @@ int STDCALL mysql_fetch(MYSQL_STMT *stmt);
my_bool STDCALL mysql_send_long_data(MYSQL_STMT *stmt,
unsigned int param_number,
const char *data,
unsigned long length,
my_bool last_data);
int STDCALL mysql_multi_query(MYSQL *mysql,const char *query,
unsigned long len);
unsigned long length);
MYSQL_RES *STDCALL mysql_prepare_result(MYSQL_STMT *stmt);
my_ulonglong STDCALL mysql_stmt_affected_rows(MYSQL_STMT *stmt);
int STDCALL mysql_stmt_store_result(MYSQL_STMT *stmt);
@ -549,8 +547,6 @@ my_bool STDCALL mysql_next_result(MYSQL *mysql);
#define MYSQL_STATUS_ERROR 1
#define MYSQL_NO_DATA 100
#define MYSQL_NEED_DATA 99
#define MYSQL_NULL_DATA (-1)
#define MYSQL_LONG_DATA (-2)
#define mysql_reload(mysql) mysql_refresh((mysql),REFRESH_GRANT)

View File

@ -216,6 +216,7 @@ enum SSL_type
SSL_TYPE_SPECIFIED
};
#ifndef EMBEDDED_LIBRARY
/* This structure is for every connection on both sides */
struct st_vio
@ -233,7 +234,7 @@ struct st_vio
void (*viodelete)(Vio*);
int (*vioerrno)(Vio*);
int (*read)(Vio*, gptr, int);
int (*write)(Vio*, gptr, int);
int (*write)(Vio*, const gptr, int);
int (*vioblocking)(Vio*, my_bool, my_bool *);
my_bool (*is_blocking)(Vio*);
int (*viokeepalive)(Vio*, my_bool);

View File

@ -2181,6 +2181,7 @@ dict_skip_word(
/*************************************************************************
Returns the number of opening brackets '(' subtracted by the number
of closing brackets ')' between string and ptr. */
#ifdef NOT_USED
static
int
dict_bracket_count(
@ -2204,7 +2205,7 @@ dict_bracket_count(
return(count);
}
#endif
/*************************************************************************
Scans a table create SQL string and adds to the data dictionary the foreign
key constraints declared in the string. This function should be called after

View File

@ -456,7 +456,7 @@ dict_load_indexes(
ut_ad(len == 8);
id = mach_read_from_8(field);
ut_a(0 == ut_strcmp("NAME",
ut_a(0 == ut_strcmp((void*) "NAME",
dict_field_get_col(
dict_index_get_nth_field(
dict_table_get_first_index(sys_indexes), 4))->name));
@ -515,7 +515,7 @@ dict_load_indexes(
&& ((type & DICT_CLUSTERED)
|| ((table == dict_sys->sys_tables)
&& (name_len == ut_strlen("ID_IND"))
&& (0 == ut_memcmp(name_buf, "ID_IND",
&& (0 == ut_memcmp(name_buf, (void*) "ID_IND",
name_len))))) {
/* The index was created in memory already in

View File

@ -16,7 +16,7 @@ typedef void* os_process_t;
typedef unsigned long int os_process_id_t;
/* The cell type in os_awe_allocate_mem page info */
#ifdef __NT__
#if defined(__NT__) && defined(ULONG_PTR)
typedef ULONG_PTR os_awe_t;
#else
typedef ulint os_awe_t;

View File

@ -189,12 +189,12 @@ os_awe_allocate_physical_mem(
#elif defined(__NT__)
BOOL bResult;
ULONG_PTR NumberOfPages; /* Question: why does Windows
os_awe_t NumberOfPages; /* Question: why does Windows
use the name ULONG_PTR for
a scalar integer type? Maybe
because we may also refer to
&NumberOfPages? */
ULONG_PTR NumberOfPagesInitial;
os_awe_t NumberOfPagesInitial;
SYSTEM_INFO sSysInfo;
int PFNArraySize;
@ -224,9 +224,9 @@ os_awe_allocate_physical_mem(
/* Calculate the size of page_info for allocated physical pages */
PFNArraySize = NumberOfPages * sizeof(ULONG_PTR);
PFNArraySize = NumberOfPages * sizeof(os_awe_t);
*page_info = (ULONG_PTR*)HeapAlloc(GetProcessHeap(), 0, PFNArraySize);
*page_info = (os_awe_t*)HeapAlloc(GetProcessHeap(), 0, PFNArraySize);
if (*page_info == NULL) {
fprintf(stderr,
@ -426,9 +426,9 @@ os_awe_map_physical_mem_to_window(
#elif defined(__NT__)
BOOL bResult;
ULONG_PTR n_pages;
os_awe_t n_pages;
n_pages = (ULONG_PTR)n_mem_pages;
n_pages = (os_awe_t)n_mem_pages;
if (!(ptr >= os_awe_window)) {
fprintf(stderr,

View File

@ -13,6 +13,7 @@ Created 5/11/1994 Heikki Tuuri
#endif
#include <stdarg.h>
#include <string.h>
#include "ut0sort.h"

View File

@ -46,22 +46,6 @@
#define OLD_EXT ".OLD"
#define WRITE_COUNT MY_HOW_OFTEN_TO_WRITE
#ifdef __WIN__
static double ulonglong2double(ulonglong value)
{
longlong nr=(longlong) value;
if (nr >= 0)
return (double) nr;
return (18446744073709551616.0 + (double) nr);
}
#if SIZEOF_OFF_T > 4
#define my_off_t2double(A) ulonglong2double(A)
#else
#define my_off_t2double(A) ((double) (A))
#endif /* SIZEOF_OFF_T > 4 */
#endif
struct st_file_buffer {
File file;
char *buffer,*pos,*end;

View File

@ -452,14 +452,16 @@ HANDLE create_shared_memory(MYSQL *mysql,NET *net, uint connect_timeout)
unique_part is uniquel value for each object (events and file-mapping)
number_of_connection is number of connection between server and client
*/
suffix_pos = strxmov(tmp,shared_memory_base_name,"_",connect_number_char,"_",NullS);
suffix_pos = strxmov(tmp,shared_memory_base_name,"_",connect_number_char,
"_",NullS);
strmov(suffix_pos, "DATA");
if ((handle_file_map = OpenFileMapping(FILE_MAP_WRITE,FALSE,tmp)) == NULL)
{
error_allow = CR_SHARED_MEMORY_FILE_MAP_ERROR;
goto err2;
}
if ((handle_map = MapViewOfFile(handle_file_map,FILE_MAP_WRITE,0,0,smem_buffer_length)) == NULL)
if ((handle_map = MapViewOfFile(handle_file_map,FILE_MAP_WRITE,0,0,
smem_buffer_length)) == NULL)
{
error_allow = CR_SHARED_MEMORY_MAP_ERROR;
goto err2;
@ -2330,8 +2332,8 @@ Try also with PIPE or TCP/IP
/* Create password to decode scramble */
create_key_from_old_password(passwd,password_hash);
/* Decypt and store scramble 4 = hash for stage2 */
password_crypt(net->read_pos+4,mysql->scramble_buff,password_hash,
SCRAMBLE41_LENGTH);
password_crypt((const char*) net->read_pos+4,mysql->scramble_buff,
password_hash, SCRAMBLE41_LENGTH);
mysql->scramble_buff[SCRAMBLE41_LENGTH]=0;
/* Finally scramble decoded scramble with password */
scramble(buff, mysql->scramble_buff, passwd,0);
@ -4088,37 +4090,33 @@ static void store_param_null(NET *net, MYSQL_BIND *param)
client application
*/
static my_bool store_param(MYSQL_STMT *stmt, MYSQL_BIND *param)
{
MYSQL *mysql= stmt->mysql;
NET *net = &mysql->net;
DBUG_ENTER("store_param");
DBUG_PRINT("enter",("type: %d, buffer:%lx, length: %d", param->buffer_type,
param->buffer ? param->buffer : "0", *param->length));
DBUG_PRINT("enter",("type: %d, buffer:%lx, length: %lu is_null: %d",
param->buffer_type,
param->buffer ? param->buffer : "0", *param->length,
*param->is_null));
if (param->buffer_type == MYSQL_TYPE_NULL ||
*param->length == MYSQL_NULL_DATA)
if (*param->is_null)
store_param_null(net, param);
else
{
unsigned int length;
/*
Allocate for worst case (long string), ignore the length
buffer for numeric/double types by assigning the default
length using get_binary_length
Param->length should ALWAYS point to the correct length for the type
Either to the length pointer given by the user or param->bind_length
*/
if (!(length= get_binary_length(param->buffer_type)))
length= *param->length;
if ((my_realloc_str(net, 9 + length)))
if ((my_realloc_str(net, 9 + *param->length)))
DBUG_RETURN(1);
(*param->store_param_func)(net, param);
}
DBUG_RETURN(0);
}
/*
Send the prepare query to server for execution
*/
@ -4200,12 +4198,9 @@ int STDCALL mysql_execute(MYSQL_STMT *stmt)
for (param= stmt->params; param < param_end; param++)
{
/* Check for long data which has not been propery given/terminated */
if (*param->length == MYSQL_LONG_DATA)
{
if (!param->long_ended)
DBUG_RETURN(MYSQL_NEED_DATA);
}
/* check if mysql_long_data() was used */
if (param->long_data_used)
param->long_data_used= 0; /* Clear for next execute call */
else if (store_param(stmt, param))
DBUG_RETURN(1);
}
@ -4245,6 +4240,11 @@ my_ulonglong STDCALL mysql_stmt_affected_rows(MYSQL_STMT *stmt)
return stmt->mysql->last_used_con->affected_rows;
}
static my_bool int_is_null_true= 1; /* Used for MYSQL_TYPE_NULL */
static my_bool int_is_null_false= 0;
static my_bool int_is_null_dummy;
/*
Setup the parameter data buffers from application
*/
@ -4277,19 +4277,6 @@ my_bool STDCALL mysql_bind_param(MYSQL_STMT *stmt, MYSQL_BIND * bind)
param++)
{
param->param_number= count++;
if (param->length && *param->length == MYSQL_LONG_DATA &&
(param->buffer_type < MYSQL_TYPE_TINY_BLOB ||
param->buffer_type > MYSQL_TYPE_STRING))
{
/*
Long data handling should be used only for string/binary
types only
*/
sprintf(stmt->last_error, ER(stmt->last_errno= CR_INVALID_BUFFER_USE),
param->param_number);
DBUG_RETURN(1);
}
/*
If param->length is not given, change it to point to bind_length.
This way we can always use *param->length to get the length of data
@ -4297,33 +4284,44 @@ my_bool STDCALL mysql_bind_param(MYSQL_STMT *stmt, MYSQL_BIND * bind)
if (!param->length)
param->length= &param->bind_length;
/* If param->is_null is not set, then the value can never be NULL */
if (!param->is_null)
param->is_null= &int_is_null_false;
/* Setup data copy functions for the different supported types */
switch (param->buffer_type) {
case MYSQL_TYPE_NULL:
param->bind_length= MYSQL_NULL_DATA;
param->is_null= &int_is_null_true;
break;
case MYSQL_TYPE_TINY:
param->bind_length= 1;
/* Force param->length as this is fixed for this type */
param->length= &param->bind_length;
param->bind_length= param->buffer_length= 1;
param->store_param_func= store_param_tinyint;
break;
case MYSQL_TYPE_SHORT:
param->bind_length= 2;
param->length= &param->bind_length;
param->bind_length= param->buffer_length= 2;
param->store_param_func= store_param_short;
break;
case MYSQL_TYPE_LONG:
param->bind_length= 4;
param->length= &param->bind_length;
param->bind_length= param->buffer_length= 4;
param->store_param_func= store_param_int32;
break;
case MYSQL_TYPE_LONGLONG:
param->bind_length= 8;
param->length= &param->bind_length;
param->bind_length= param->buffer_length= 8;
param->store_param_func= store_param_int64;
break;
case MYSQL_TYPE_FLOAT:
param->bind_length= 4;
param->length= &param->bind_length;
param->bind_length= param->buffer_length= 4;
param->store_param_func= store_param_float;
break;
case MYSQL_TYPE_DOUBLE:
param->bind_length= 8;
param->length= &param->bind_length;
param->bind_length= param->buffer_length= 8;
param->store_param_func= store_param_double;
break;
case MYSQL_TYPE_TINY_BLOB:
@ -4336,7 +4334,8 @@ my_bool STDCALL mysql_bind_param(MYSQL_STMT *stmt, MYSQL_BIND * bind)
param->store_param_func= store_param_str;
break;
default:
sprintf(stmt->last_error, ER(stmt->last_errno= CR_UNSUPPORTED_PARAM_TYPE),
sprintf(stmt->last_error,
ER(stmt->last_errno= CR_UNSUPPORTED_PARAM_TYPE),
param->buffer_type, param->param_number);
DBUG_RETURN(1);
}
@ -4361,8 +4360,7 @@ my_bool STDCALL mysql_bind_param(MYSQL_STMT *stmt, MYSQL_BIND * bind)
param_number Parameter number (0 - N-1)
data Data to send to server
length Length of data to send (may be 0)
last_data If != 0 then this is the last data to the
server.
RETURN VALUES
0 ok
1 error
@ -4371,8 +4369,7 @@ my_bool STDCALL mysql_bind_param(MYSQL_STMT *stmt, MYSQL_BIND * bind)
my_bool STDCALL
mysql_send_long_data(MYSQL_STMT *stmt, uint param_number,
const char *data, ulong length,
my_bool last_data)
const char *data, ulong length)
{
MYSQL_BIND *param;
DBUG_ENTER("mysql_send_long_data");
@ -4386,6 +4383,19 @@ mysql_send_long_data(MYSQL_STMT *stmt, uint param_number,
DBUG_RETURN(1);
}
param= stmt->params+param_number;
if (param->buffer_type < MYSQL_TYPE_TINY_BLOB ||
param->buffer_type > MYSQL_TYPE_STRING)
{
/*
Long data handling should be used only for string/binary
types only
*/
sprintf(stmt->last_error, ER(stmt->last_errno= CR_INVALID_BUFFER_USE),
param->param_number);
DBUG_RETURN(1);
}
/* Mark for execute that the result is already sent */
param->long_data_used= 1;
if (length)
{
MYSQL *mysql= stmt->mysql;
@ -4407,7 +4417,6 @@ mysql_send_long_data(MYSQL_STMT *stmt, uint param_number,
DBUG_RETURN(1);
}
}
param->long_ended= last_data;
DBUG_RETURN(0);
}
@ -4582,6 +4591,7 @@ static void send_data_str(MYSQL_BIND *param, char *value, uint length)
}
}
/* Fetch data to buffers */
static my_bool fetch_results(MYSQL_STMT *stmt, MYSQL_BIND *param,
uint field_type, uchar **row)
@ -4829,6 +4839,13 @@ my_bool STDCALL mysql_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *bind)
for (param= stmt->bind, end= param+bind_count; param < end ; param++)
{
/*
Set param->is_null to point to a dummy variable if it's not set.
This is to make the excute code easier
*/
if (!param->is_null)
param->is_null= &int_is_null_dummy;
/* Setup data copy functions for the different supported types */
switch (param->buffer_type) {
case MYSQL_TYPE_TINY:
@ -4855,10 +4872,12 @@ my_bool STDCALL mysql_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *bind)
case MYSQL_TYPE_BLOB:
case MYSQL_TYPE_VAR_STRING:
case MYSQL_TYPE_STRING:
DBUG_ASSERT(param->buffer_length != 0);
param->fetch_result= fetch_result_str;
break;
default:
sprintf(stmt->last_error, ER(stmt->last_errno= CR_UNSUPPORTED_PARAM_TYPE),
sprintf(stmt->last_error,
ER(stmt->last_errno= CR_UNSUPPORTED_PARAM_TYPE),
param->buffer_type, param->param_number);
DBUG_RETURN(1);
}
@ -4895,15 +4914,16 @@ static int stmt_fetch_row(MYSQL_STMT *stmt, uchar *row)
bind++, field++)
{
if (*null_ptr & bit)
*bind->length= MYSQL_NULL_DATA;
*bind->is_null= 1;
else
{
*bind->is_null= 0;
if (field->type == bind->buffer_type)
(*bind->fetch_result)(bind, &row);
else if (fetch_results(stmt, bind, field->type, &row))
return 1;
}
if (! (bit<<=1) & 255)
if (! ((bit<<=1) & 255))
{
bit= 1; /* To next byte */
null_ptr++;

View File

@ -107,7 +107,6 @@ EXPORTS
getopt_ull_limit_value
getopt_compare_strings
mysql_warning_count
mysql_warnings
mysql_prepare
mysql_execute
mysql_param_count
@ -119,7 +118,6 @@ EXPORTS
mysql_stmt_errno
mysql_fetch
mysql_send_long_data
mysql_multi_query
mysql_next_result
mysql_commit
mysql_rollback

View File

@ -88,7 +88,6 @@ void THD::clear_error()
static bool check_user(THD *thd,enum_server_command command, const char *user,
const char *passwd, const char *db, bool check_count)
{
USER_RESOURCES ur;
thd->db=0;
if (!(thd->user = my_strdup(user, MYF(0))))

View File

@ -1,5 +1,8 @@
drop table if exists t1;
create table t1 (id int not null, str char(10), unique(str));
explain select * from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 system NULL NULL NULL NULL 0 const row not found
insert into t1 values (1, null),(2, null),(3, "foo"),(4, "bar");
select * from t1 where str is null;
id str

View File

@ -14,8 +14,7 @@ insert into t1 values (101);
insert into t1 values (105);
insert into t1 values (106);
insert into t1 values (107);
insert into t2 values (107);
insert into t2 values (75);
insert into t2 values (107),(75),(1000);
select t1.id, t2.id from t1, t2 where t2.id = t1.id;
id id
107 107
@ -28,6 +27,16 @@ select t1.id, count(t2.id) from t1,t2 where t2.id = t1.id group by t2.id;
id count(t2.id)
75 1
107 1
select t1.id,t2.id from t2 left join t1 on t1.id>=74 and t1.id<=0 where t2.id=75 and t1.id is null;
id id
NULL 75
explain select t1.id,t2.id from t2 left join t1 on t1.id>=74 and t1.id<=0 where t2.id=75 and t1.id is null;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 const PRIMARY NULL NULL NULL 1 Impossible ON condition
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
explain select t1.id, t2.id from t1, t2 where t2.id = t1.id and t1.id <0 and t1.id > 0;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
drop table t1,t2;
CREATE TABLE t1 (
id int(11) NOT NULL auto_increment,

View File

@ -5,6 +5,7 @@
drop table if exists t1;
--enable_warnings
create table t1 (id int not null, str char(10), unique(str));
explain select * from t1;
insert into t1 values (1, null),(2, null),(3, "foo"),(4, "bar");
select * from t1 where str is null;
select * from t1 where str="foo";
@ -14,8 +15,10 @@ explain select * from t1 ignore key (str) where str="foo";
explain select * from t1 use key (str,str) where str="foo";
#The following should give errors
!$1072 explain select * from t1 use key (str,str,foo) where str="foo";
!$1072 explain select * from t1 ignore key (str,str,foo) where str="foo";
--error 1072
explain select * from t1 use key (str,str,foo) where str="foo";
--error 1072
explain select * from t1 ignore key (str,str,foo) where str="foo";
drop table t1;
explain select 1;

View File

@ -21,13 +21,18 @@ insert into t1 values (105);
insert into t1 values (106);
insert into t1 values (107);
insert into t2 values (107);
insert into t2 values (75);
insert into t2 values (107),(75),(1000);
select t1.id, t2.id from t1, t2 where t2.id = t1.id;
select t1.id, count(t2.id) from t1,t2 where t2.id = t1.id group by t1.id;
select t1.id, count(t2.id) from t1,t2 where t2.id = t1.id group by t2.id;
#
# Test problems with impossible ON or WHERE
#
select t1.id,t2.id from t2 left join t1 on t1.id>=74 and t1.id<=0 where t2.id=75 and t1.id is null;
explain select t1.id,t2.id from t2 left join t1 on t1.id>=74 and t1.id<=0 where t2.id=75 and t1.id is null;
explain select t1.id, t2.id from t1, t2 where t2.id = t1.id and t1.id <0 and t1.id > 0;
drop table t1,t2;
#

View File

@ -23,6 +23,7 @@
#include "mysys_priv.h"
#include "my_static.h"
#include "mysys_err.h"
#include <m_string.h>
/*
Alloc for things we don't nead to free

View File

@ -470,7 +470,7 @@ ha_rows tree_record_pos(TREE *tree, const void *key,
{
switch (flag) {
case HA_READ_KEY_EXACT:
last_equal_pos= (left + right) / 2;
last_equal_pos= (ha_rows) ((left + right) / 2);
cmp= 1;
break;
case HA_READ_BEFORE_KEY:
@ -498,9 +498,9 @@ ha_rows tree_record_pos(TREE *tree, const void *key,
case HA_READ_KEY_EXACT:
return last_equal_pos;
case HA_READ_BEFORE_KEY:
return (uint) right;
return (ha_rows) right;
case HA_READ_AFTER_KEY:
return (uint) left;
return (ha_rows) left;
default:
return HA_POS_ERROR;
}

View File

@ -2053,7 +2053,8 @@ String *Field_longlong::val_str(String *val_buffer,
#endif
longlongget(j,ptr);
length=(uint) cs->longlong10_to_str(cs,to,mlength,unsigned_flag ? 10 : -10, j);
length=(uint) (cs->longlong10_to_str)(cs,to,mlength,
unsigned_flag ? 10 : -10, j);
val_buffer->length(length);
if (zerofill)
prepend_zeros(val_buffer);
@ -3928,7 +3929,7 @@ int Field_string::store(longlong nr)
char buff[64];
int l;
CHARSET_INFO *cs=charset();
l=cs->longlong10_to_str(cs,buff,sizeof(buff),-10,nr);
l= (cs->longlong10_to_str)(cs,buff,sizeof(buff),-10,nr);
return Field_string::store(buff,(uint)l,cs);
}
@ -4095,7 +4096,7 @@ int Field_varstring::store(longlong nr)
char buff[64];
int l;
CHARSET_INFO *cs=charset();
l=cs->longlong10_to_str(cs,buff,sizeof(buff),-10,nr);
l= (cs->longlong10_to_str)(cs,buff,sizeof(buff),-10,nr);
return Field_varstring::store(buff,(uint)l,cs);
}

View File

@ -23,7 +23,6 @@
#endif
#include <m_ctype.h>
#include "sql_sort.h"
#include "assert.h"
#ifndef THREAD
#define SKIP_DBUG_IN_FILESORT

View File

@ -55,7 +55,6 @@
#ifdef HAVE_BERKELEY_DB
#include <m_ctype.h>
#include <myisampack.h>
#include <assert.h>
#include <hash.h>
#include "ha_berkeley.h"
#include "sql_manager.h"

View File

@ -32,7 +32,6 @@ InnoDB */
#ifdef HAVE_INNOBASE_DB
#include <m_ctype.h>
#include <assert.h>
#include <hash.h>
#include <myisampack.h>

View File

@ -22,7 +22,6 @@
#include "mysql_priv.h"
#include <m_ctype.h>
#include "my_dir.h"
#include <assert.h>
/*****************************************************************************
** Item functions
@ -1058,7 +1057,8 @@ bool Item_ref::fix_fields(THD *thd,TABLE_LIST *tables, Item **reference)
break;
if ((tmp= find_field_in_tables(thd, this,
sl->get_table_list(), &where,
0)) != not_found_field);
0)) != not_found_field)
break;
if (sl->master_unit()->first_select()->linkage ==
DERIVED_TABLE_TYPE)
break; // do not look over derived table

View File

@ -23,7 +23,6 @@
#include "mysql_priv.h"
#include <m_ctype.h>
#include "assert.h"
Item_bool_func2* Item_bool_func2::eq_creator(Item *a, Item *b)
{
return new Item_func_eq(a, b);

View File

@ -28,7 +28,6 @@
#include <time.h>
#include <ft_global.h>
#include <zlib.h>
#include <assert.h>
/* return TRUE if item is a constant */

View File

@ -15,7 +15,6 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include "mysql_priv.h"
#include "assert.h"
Item_row::Item_row(List<Item> &arg):
Item(), used_tables_cache(0), array_holder(1), const_item_cache(1)

View File

@ -1321,12 +1321,14 @@ String *Item_func_password::val_str(String *str)
char* seed_ptr=key->c_ptr();
while (*seed_ptr)
{
seed=seed*211+*seed_ptr; /* Use simple hashing */
seed=(seed*211+*seed_ptr) & 0xffffffffL; /* Use simple hashing */
seed_ptr++;
}
/* Use constants which allow nice random values even with small seed */
randominit(&rand_st,seed*111111+33333333L,seed*1111+55555555L);
randominit(&rand_st,
(ulong) ((ulonglong) seed*111111+33333333L) & (ulong) 0xffffffff,
(ulong) ((ulonglong) seed*1111+55555555L) & (ulong) 0xffffffff);
make_scrambled_password(tmp_value,res->c_ptr(),use_old_passwords,
&rand_st);

View File

@ -494,7 +494,7 @@ void Item_in_subselect::single_value_transformer(THD *thd,
else
{
sl->item_list.empty();
sl->item_list.push_back(new Item_int(1));
sl->item_list.push_back(new Item_int("Not_used", (longlong) 1, 21));
if (sl->table_list.elements)
{
item= (*func)(expr, new Item_asterisk_remover(this, item,

View File

@ -22,7 +22,7 @@
#endif
#include "mysql_priv.h"
#include "assert.h"
Item_sum::Item_sum(List<Item> &list)
{
arg_count=list.elements;

View File

@ -136,7 +136,7 @@ static SYMBOL symbols[] = {
{ "DROP", SYM(DROP),0,0},
{ "DUMPFILE", SYM(DUMPFILE),0,0},
{ "DYNAMIC", SYM(DYNAMIC_SYM),0,0},
{ "DUPLICATE", SYM(DUPLICATE),0,0},
{ "DUPLICATE", SYM(DUPLICATE_SYM),0,0},
{ "ERRORS", SYM(ERRORS),0,0},
{ "END", SYM(END),0,0},
{ "ELSE", SYM(ELSE),0,0},

View File

@ -68,8 +68,7 @@ TODO:
#include "mysql_priv.h"
#include <hash.h>
#include <assert.h>
#include <ha_myisammrg.h>
#include "ha_myisammrg.h"
#ifndef MASTER
#include "../srclib/myisammrg/myrg_def.h"
#else

View File

@ -29,7 +29,6 @@
#include <my_dir.h>
#include <stdarg.h>
#include <m_ctype.h> // For test_if_number
#include <assert.h>
#define files_charset_info my_charset_latin1

View File

@ -24,8 +24,6 @@
#include <my_dir.h>
#endif /* MYSQL_CLIENT */
#include <assert.h>
#define log_cs my_charset_latin1
/*****************************************************************************
@ -1660,7 +1658,7 @@ void Rotate_log_event::pack_info(Protocol *protocol)
memcpy(buf, new_log_ident, ident_len);
b_pos+= ident_len;
b_pos= strmov(b_pos, ";pos=");
b_pos=int10_to_str(pos, b_pos, 10);
b_pos=longlong10_to_str(pos, b_pos, 10);
if (flags & LOG_EVENT_FORCED_ROTATE_F)
b_pos= strmov(b_pos ,"; forced by master");
protocol->store(buf, b_pos-buf);
@ -1797,7 +1795,7 @@ void Intvar_log_event::pack_info(Protocol *protocol)
char buf[64], *pos;
pos= strmov(buf, get_var_type_name());
*(pos++)='=';
pos=int10_to_str(val, pos, -10);
pos= longlong10_to_str(val, pos, -10);
protocol->store(buf, pos-buf);
}
#endif
@ -2010,7 +2008,7 @@ void Slave_log_event::pack_info(Protocol *protocol)
pos= strmov(pos, ",log=");
pos= strmov(pos, master_log);
pos= strmov(pos, ",pos=");
pos= int10_to_str(master_pos, pos, 10);
pos= longlong10_to_str(master_pos, pos, 10);
protocol->store(buf, pos-buf);
}
#endif // !MYSQL_CLIENT

View File

@ -38,7 +38,6 @@
#include <errno.h>
static void my_aiowait(my_aio_result *result);
#endif
#include <assert.h>
extern "C" {

View File

@ -24,6 +24,7 @@
#include <thr_lock.h>
#include <my_base.h> /* Needed by field.h */
#include <my_bitmap.h>
#include <assert.h>
#ifdef __EMX__
#undef write /* remove pthread.h macro definition for EMX */

View File

@ -32,7 +32,6 @@
#include <nisam.h>
#include <thr_alarm.h>
#include <ft_global.h>
#include <assert.h>
#define mysqld_charset my_charset_latin1

View File

@ -33,8 +33,6 @@
#include <m_ctype.h>
#include <nisam.h>
#include "sql_select.h"
#include <assert.h>
#ifndef EXTRA_DEBUG
#define test_rb_tree(A,B) {}

View File

@ -151,11 +151,8 @@ void create_random_string(int length,struct rand_struct *rand_st,char* target)
{
char* end=target+length;
/* Use pointer arithmetics as it is faster way to do so. */
while (target<end)
{
*target=rnd(rand_st)*94+33;
target++;
}
for (; target<end ; target++)
*target= (char) (rnd(rand_st)*94+33);
}
@ -296,7 +293,7 @@ void make_scrambled_password(char *to,const char *password,
{
to[0]=PVERSION41_CHAR; /* New passwords have version prefix */
/* Rnd returns number from 0 to 1 so this would be good salt generation.*/
salt=rnd(rand_st)*65535+1;
salt=(unsigned short) (rnd(rand_st)*65535+1);
/* Use only 2 first bytes from it */
sprintf(to+1,"%04x",salt);
/* First hasing is done without salt */
@ -556,7 +553,7 @@ void get_hash_and_password(ulong* salt, uint8 pversion, char* hash, unsigned cha
val=*(++salt);
for (t=3; t>=0; t--)
{
bin_password[t]=val & 255;
bin_password[t]= (char) (val & 255);
val>>=8; /* Scroll 8 bits to get next part*/
}
bin_password+=4; /* Get to next 4 chars*/
@ -575,8 +572,7 @@ void get_hash_and_password(ulong* salt, uint8 pversion, char* hash, unsigned cha
val=*salt;
for (t=3;t>=0;t--)
{
bp[t]=val%256;
bp[t]= (uchar) (val & 255);
val>>=8; /* Scroll 8 bits to get next part*/
}
bp+=4; /* Get to next 4 chars*/

View File

@ -25,7 +25,6 @@
#include "mysql_priv.h"
#include <stdarg.h>
#include <assert.h>
#ifndef EMBEDDED_LIBRARY
bool Protocol::net_store_data(const char *from, uint length)

View File

@ -953,7 +953,7 @@ err:
bool sys_var::check_set(THD *thd, set_var *var, TYPELIB *enum_names)
{
char buff[80], *value, *error= 0;
char buff[80], *error= 0;
uint error_len= 0;
String str(buff, sizeof(buff), system_charset_info), *res;
@ -961,7 +961,7 @@ bool sys_var::check_set(THD *thd, set_var *var, TYPELIB *enum_names)
{
if (!(res= var->value->val_str(&str)))
goto err;
(long) var->save_result.ulong_value= (ulong)
var->save_result.ulong_value= (ulong)
find_set(enum_names, res->c_ptr(), res->length(), &error, &error_len);
if (error_len)
{

View File

@ -26,8 +26,6 @@
#include "repl_failsafe.h"
#include <thr_alarm.h>
#include <my_dir.h>
#include <assert.h>
bool use_slave_mask = 0;
MY_BITMAP slave_error_mask;

View File

@ -66,7 +66,8 @@ Geometry::GClassInfo *Geometry::find_class(const char *name, size_t len)
cur_rt < ci_collection_end; ++cur_rt)
{
if ((cur_rt->m_name[len] == 0) &&
(strncasecmp(cur_rt->m_name, name, len) == 0))
(default_charset_info->strncasecmp(default_charset_info,
cur_rt->m_name, name, len) == 0))
{
return cur_rt;
}

View File

@ -29,7 +29,6 @@
#include "sql_acl.h"
#include "hash_filo.h"
#include <m_ctype.h>
#include <assert.h>
#include <stdarg.h>

View File

@ -24,7 +24,6 @@
#include <my_dir.h>
#include <hash.h>
#include <nisam.h>
#include <assert.h>
#ifdef __WIN__
#include <io.h>
#endif

View File

@ -307,7 +307,6 @@ TODO list:
#else
#include "../myisammrg/myrg_def.h"
#endif
#include <assert.h>
#if defined(EXTRA_DEBUG) && !defined(DBUG_OFF)
#define MUTEX_LOCK(M) { DBUG_PRINT("lock", ("mutex lock 0x%lx", (ulong)(M))); \

View File

@ -35,7 +35,6 @@
#include <io.h>
#endif
#include <mysys_err.h>
#include <assert.h>
/*****************************************************************************

View File

@ -19,7 +19,6 @@
#include "mysql_priv.h"
#include "sql_select.h"
#include <assert.h>
/* TODO:
HANDLER blabla OPEN [ AS foobar ] [ (column-list) ]

View File

@ -382,7 +382,7 @@ int mysqld_help(THD *thd, const char *mask)
if ((res= send_header_2(protocol)) ||
(count==0 &&
(search_categories(thd, 0, &categories_list, 0)<0 &&
(res= 1))) ||
((res= 1)))) ||
(res= send_variant_2_list(protocol,&categories_list,true)))
goto end;
}
@ -396,7 +396,7 @@ int mysqld_help(THD *thd, const char *mask)
else if ((res= send_header_2(protocol)) ||
(res= send_variant_2_list(protocol,&function_list,false)) ||
(search_categories(thd, mask, &categories_list, 0)<0 &&
(res=1)) ||
((res=1))) ||
(res= send_variant_2_list(protocol,&categories_list,true)))
{
goto end;

View File

@ -21,7 +21,6 @@
#include "item_create.h"
#include <m_ctype.h>
#include <hash.h>
#include <assert.h>
LEX_STRING tmp_table_alias= {(char*) "tmp-table",8};
@ -235,7 +234,9 @@ static LEX_STRING get_quoted_token(LEX *lex,uint length, char quote)
yyUnget(); // ptr points now after last token char
tmp.length=lex->yytoklen=length;
tmp.str=(char*) lex->thd->alloc(tmp.length+1);
for (from= (byte*) lex->tok_start, to= tmp.str, end= to+length ; to != end ;)
for (from= (byte*) lex->tok_start, to= (byte*) tmp.str, end= to+length ;
to != end ;
)
{
if ((*to++= *from++) == quote)
from++; // Skip double quotes

View File

@ -303,7 +303,7 @@ public:
st_select_lex* outer_select();
st_select_lex* first_select() { return (st_select_lex*) slave; }
st_select_lex_unit* next_unit() { return (st_select_lex_unit*) next; }
void st_select_lex_unit::exclude_level();
void exclude_level();
/* UNION methods */
int prepare(THD *thd, select_result *result);

View File

@ -21,7 +21,6 @@
#include <m_ctype.h>
#include <myisam.h>
#include <my_dir.h>
#include <assert.h>
#define files_charset_info system_charset_info

View File

@ -71,7 +71,6 @@ Long data handling:
#include "mysql_priv.h"
#include "sql_acl.h"
#include "sql_select.h" // for JOIN
#include <assert.h> // for DEBUG_ASSERT()
#include <m_ctype.h> // for isspace()
#define IS_PARAM_NULL(pos, param_no) pos[param_no/8] & (1 << param_no & 7)

View File

@ -24,7 +24,6 @@
#include "log_event.h"
#include "mini_client.h"
#include <my_dir.h>
#include <assert.h>
extern const char* any_db;

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
/* Copyright (C) 2000-2003 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -29,7 +29,6 @@
#include <m_ctype.h>
#include <hash.h>
#include <ft_global.h>
#include <assert.h>
const char *join_type_str[]={ "UNKNOWN","system","const","eq_ref","ref",
"MAYBE_REF","ALL","range","index","fulltext" };
@ -1258,7 +1257,6 @@ make_join_statistics(JOIN *join,TABLE_LIST *tables,COND *conds,
table_map found_const_table_map,all_table_map;
TABLE **table_vector;
JOIN_TAB *stat,*stat_end,*s,**stat_ref;
SQL_SELECT *select;
KEYUSE *keyuse,*start_keyuse;
table_map outer_join=0;
JOIN_TAB *stat_vector[MAX_TABLES+1];
@ -1270,7 +1268,6 @@ make_join_statistics(JOIN *join,TABLE_LIST *tables,COND *conds,
table_vector=(TABLE**) join->thd->alloc(sizeof(TABLE*)*(table_count*2));
if (!stat || !stat_ref || !table_vector)
DBUG_RETURN(1); // Eom /* purecov: inspected */
select=0;
join->best_ref=stat_vector;
@ -1454,7 +1451,7 @@ make_join_statistics(JOIN *join,TABLE_LIST *tables,COND *conds,
{ // Found everything for ref.
int tmp;
ref_changed = 1;
s->type=JT_CONST;
s->type= JT_CONST;
join->const_table_map|=table->map;
set_position(join,const_count++,s,start_keyuse);
if (create_ref_for_key(join, s, start_keyuse,
@ -1505,23 +1502,44 @@ make_join_statistics(JOIN *join,TABLE_LIST *tables,COND *conds,
if (s->const_keys)
{
ha_rows records;
if (!select)
select=make_select(s->table, found_const_table_map,
SQL_SELECT *select;
select= make_select(s->table, found_const_table_map,
found_const_table_map,
and_conds(conds,s->on_expr),&error);
records=get_quick_record_count(select,s->table, s->const_keys,
s->on_expr ? s->on_expr : conds,
&error);
records= get_quick_record_count(select,s->table, s->const_keys,
join->row_limit);
s->quick=select->quick;
s->needed_reg=select->needed_reg;
select->quick=0;
if (records == 0 && s->table->reginfo.impossible_range)
{
/*
Impossible WHERE or ON expression
In case of ON, we mark that the we match one empty NULL row.
In case of WHERE, don't set found_const_table_map to get the
caller to abort with a zero row result.
*/
join->const_table_map|= s->table->map;
set_position(join,const_count++,s,(KEYUSE*) 0);
s->type= JT_CONST;
if (s->on_expr)
{
/* Generate empty row */
s->info= "Impossible ON condition";
found_const_table_map|= s->table->map;
s->type= JT_CONST;
mark_as_null_row(s->table); // All fields are NULL
}
}
if (records != HA_POS_ERROR)
{
s->found_records=records;
s->read_time= (ha_rows) (s->quick ? s->quick->read_time : 0.0);
}
}
}
delete select;
}
}
/* Find best combination and return it */
join->join_tab=stat;
@ -2617,7 +2635,7 @@ static bool create_ref_for_key(JOIN *join, JOIN_TAB *j, KEYUSE *org_keyuse,
keyparts != keyinfo->key_parts)
j->type=JT_REF; /* Must read with repeat */
else if (ref_key == j->ref.key_copy)
{ /* Should never be reached */
{
/*
This happen if we are using a constant expression in the ON part
of an LEFT JOIN.
@ -7736,7 +7754,9 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order,
if (tab->info)
item_list.push_back(new Item_string(tab->info,strlen(tab->info),
default_charset_info));
else if (tab->select)
else
{
if (tab->select)
{
if (tab->use_quick == 2)
{
@ -7767,6 +7787,7 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order,
buff_ptr+= 2; // Skip inital "; "
item_list.push_back(new Item_string(buff+2,(uint) (buff_ptr - buff)-2,
default_charset_info));
}
// For next iteration
used_tables|=table->map;
if (result->send_data(item_list))

View File

@ -100,7 +100,7 @@ bool String::set(longlong num, CHARSET_INFO *cs)
if (alloc(l))
return TRUE;
str_length=(uint32) cs->longlong10_to_str(cs,Ptr,l,-10,num);
str_length=(uint32) (cs->longlong10_to_str)(cs,Ptr,l,-10,num);
str_charset=cs;
return FALSE;
}
@ -111,7 +111,7 @@ bool String::set(ulonglong num, CHARSET_INFO *cs)
if (alloc(l))
return TRUE;
str_length=(uint32) cs->longlong10_to_str(cs,Ptr,l,10,num);
str_length=(uint32) (cs->longlong10_to_str)(cs,Ptr,l,10,num);
str_charset=cs;
return FALSE;
}

View File

@ -115,7 +115,7 @@ public:
Ptr=(char*) str; str_length=arg_length; Alloced_length=0 ; alloced=0;
str_charset=cs;
}
bool String::set_latin1(const char *str, uint32 arg_length);
bool set_latin1(const char *str, uint32 arg_length);
inline void set_quick(char *str,uint32 arg_length, CHARSET_INFO *cs)
{
if (!alloced)

View File

@ -23,7 +23,6 @@
#endif
#include <hash.h>
#include <myisam.h>
#include <assert.h>
#ifdef __WIN__
#include <io.h>

View File

@ -208,7 +208,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token DES_KEY_FILE
%token DISABLE_SYM
%token DISTINCT
%token DUPLICATE
%token DUPLICATE_SYM
%token DYNAMIC_SYM
%token ENABLE_SYM
%token ENCLOSED
@ -3183,7 +3183,7 @@ expr_or_default:
opt_insert_update:
/* empty */
| ON DUPLICATE
| ON DUPLICATE_SYM
{ /* for simplisity, let's forget about
INSERT ... SELECT ... UPDATE
for a moment */
@ -3872,8 +3872,9 @@ keyword:
| DES_KEY_FILE {}
| DIRECTORY_SYM {}
| DO_SYM {}
| DUMPFILE {}
| DUAL_SYM {}
| DUMPFILE {}
| DUPLICATE_SYM {}
| DYNAMIC_SYM {}
| END {}
| ENUM {}
@ -4571,11 +4572,7 @@ optional_order_or_limit:
{
THD *thd= YYTHD;
LEX *lex= &thd->lex;
if (!lex->current_select->linkage == GLOBAL_OPTIONS_TYPE)
{
send_error(lex->thd, ER_SYNTAX_ERROR);
YYABORT;
}
DBUG_ASSERT(lex->current_select->linkage != GLOBAL_OPTIONS_TYPE);
SELECT_LEX *sel= lex->current_select->select_lex();
sel->master_unit()->global_parameters=
sel->master_unit();

View File

@ -105,9 +105,9 @@ static int my_wc_mb_bin(CHARSET_INFO *cs __attribute__((unused)),
unsigned char *s,
unsigned char *e __attribute__((unused)))
{
if ( wc<256 )
if (wc < 256)
{
s[0]=wc;
s[0]= (char) wc;
return 1;
}
return MY_CS_ILUNI;
@ -296,7 +296,7 @@ static CHARSET_INFO my_charset_bin_st =
my_strncasecmp_bin, /* strncasecmp */
my_hash_caseup_bin, /* hash_caseup */
my_hash_sort_bin, /* hash_sort */
255, /* max_sort_char */
(char) 255, /* max_sort_char */
my_snprintf_8bit, /* snprintf */
my_long10_to_str_8bit,
my_longlong10_to_str_8bit,

View File

@ -16,6 +16,7 @@
#include <my_global.h>
#include "m_ctype.h"
#include "m_string.h"
#ifdef USE_MB

View File

@ -4018,7 +4018,7 @@ static int fill_uchar(uchar *a,uint size,const char *str, uint len)
for ( ; (s < e) && !strchr(" \t\r\n",s[0]); s++) ;
if (s == b || i > size)
break;
a[i]= my_strntoul(my_charset_latin1,b,s-b,16,NULL,&err);
a[i]= (uchar) my_strntoul(my_charset_latin1,b,s-b,16,NULL,&err);
}
return 0;
}
@ -4036,7 +4036,7 @@ static int fill_uint16(uint16 *a,uint size,const char *str, uint len)
for ( ; (s < e) && !strchr(" \t\r\n",s[0]); s++) ;
if (s == b || i > size)
break;
a[i]= my_strntol(my_charset_latin1,b,s-b,16,NULL,&err);
a[i]= (uint16) my_strntol(my_charset_latin1,b,s-b,16,NULL,&err);
}
return 0;
}

File diff suppressed because it is too large Load Diff