Commit 1bd306cc authored by monty@narttu.mysql.fi's avatar monty@narttu.mysql.fi

Fixed some new memory leaks

Updated VC++ files
parent 7b7892af
...@@ -87,7 +87,7 @@ LINK32=link.exe ...@@ -87,7 +87,7 @@ LINK32=link.exe
# Name "mysql - Win32 Debug" # Name "mysql - Win32 Debug"
# Begin Source File # Begin Source File
SOURCE=..\mysys\my_gethostbyname.c SOURCE=.\completion_hash.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -101,6 +101,14 @@ SOURCE=.\mysql.cpp ...@@ -101,6 +101,14 @@ SOURCE=.\mysql.cpp
!ENDIF !ENDIF
# End Source File
# Begin Source File
SOURCE=.\readline.cpp
# End Source File
# Begin Source File
SOURCE=.\sql_string.cpp
# End Source File # End Source File
# End Target # End Target
# End Project # End Project
...@@ -25,7 +25,7 @@ CFG=mysqlclient - Win32 Debug ...@@ -25,7 +25,7 @@ CFG=mysqlclient - Win32 Debug
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "" # PROP Scc_ProjName ""
# PROP Scc_LocalPath "" # PROP Scc_LocalPath ""
CPP=xicl6.exe CPP=cl.exe
RSC=rc.exe RSC=rc.exe
!IF "$(CFG)" == "mysqlclient - Win32 Release" !IF "$(CFG)" == "mysqlclient - Win32 Release"
...@@ -48,7 +48,7 @@ RSC=rc.exe ...@@ -48,7 +48,7 @@ RSC=rc.exe
BSC32=bscmake.exe BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LIB32=xilink6.exe -lib LIB32=link.exe -lib
# ADD BASE LIB32 /nologo # ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib_release\mysqlclient.lib" # ADD LIB32 /nologo /out:"..\lib_release\mysqlclient.lib"
...@@ -72,7 +72,7 @@ LIB32=xilink6.exe -lib ...@@ -72,7 +72,7 @@ LIB32=xilink6.exe -lib
BSC32=bscmake.exe BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LIB32=xilink6.exe -lib LIB32=link.exe -lib
# ADD BASE LIB32 /nologo # ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib_debug\mysqlclient.lib" # ADD LIB32 /nologo /out:"..\lib_debug\mysqlclient.lib"
...@@ -108,14 +108,6 @@ SOURCE=..\libmysql\client.c ...@@ -108,14 +108,6 @@ SOURCE=..\libmysql\client.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\completion_hash.cpp
# End Source File
# Begin Source File
SOURCE=.\completion_hash.h
# End Source File
# Begin Source File
SOURCE="..\strings\ctype-big5.c" SOURCE="..\strings\ctype-big5.c"
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -426,10 +418,6 @@ SOURCE=..\libmysql\password.c ...@@ -426,10 +418,6 @@ SOURCE=..\libmysql\password.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\readline.cpp
# End Source File
# Begin Source File
SOURCE=..\mysys\safemalloc.c SOURCE=..\mysys\safemalloc.c
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -438,14 +426,6 @@ SOURCE=..\mysys\sha1.c ...@@ -438,14 +426,6 @@ SOURCE=..\mysys\sha1.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\sql_string.cpp
# End Source File
# Begin Source File
SOURCE=.\sql_string.h
# End Source File
# Begin Source File
SOURCE=..\strings\str2int.c SOURCE=..\strings\str2int.c
# End Source File # End Source File
# Begin Source File # Begin Source File
......
...@@ -7,18 +7,18 @@ ...@@ -7,18 +7,18 @@
CFG=test_libmysqld - Win32 Release CFG=test_libmysqld - Win32 Release
!MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run !MESSAGE use the Export Makefile command and run
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "test_libmysqld.mak". !MESSAGE NMAKE /f "test_libmysqld.mak".
!MESSAGE !MESSAGE
!MESSAGE You can specify a configuration when running NMAKE !MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "test_libmysqld.mak" CFG="test_libmysqld - Win32 Release" !MESSAGE NMAKE /f "test_libmysqld.mak" CFG="test_libmysqld - Win32 Release"
!MESSAGE !MESSAGE
!MESSAGE Possible choices for configuration are: !MESSAGE Possible choices for configuration are:
!MESSAGE !MESSAGE
!MESSAGE "test_libmysqld - Win32 Release" (based on "Win32 (x86) Console Application") !MESSAGE "test_libmysqld - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE !MESSAGE
# Begin Project # Begin Project
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
...@@ -55,7 +55,19 @@ LINK32=link.exe ...@@ -55,7 +55,19 @@ LINK32=link.exe
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File # Begin Source File
SOURCE=..\..\client\completion_hash.cpp
# End Source File
# Begin Source File
SOURCE=..\..\client\mysql.cpp SOURCE=..\..\client\mysql.cpp
# End Source File
# Begin Source File
SOURCE=..\..\client\readline.cpp
# End Source File
# Begin Source File
SOURCE=..\..\client\sql_string.cpp
# End Source File # End Source File
# End Group # End Group
# Begin Source File # Begin Source File
......
LIBRARY LIBMYSQLD LIBRARY LIBMYSQLD
DESCRIPTION 'MySQL 4.0 Embedded Server Library' DESCRIPTION 'MySQL 4.1 Embedded Server Library'
VERSION 4.0 VERSION 4.1
EXPORTS EXPORTS
mysql_server_end _dig_vec
mysql_server_init bmove_upp
mysql_use_result delete_dynamic
mysql_thread_safe free_defaults
mysql_thread_id getopt_compare_strings
mysql_store_result getopt_ull_limit_value
mysql_stat handle_options
mysql_shutdown init_dynamic_array
mysql_select_db insert_dynamic
mysql_row_tell int2str
mysql_row_seek is_prefix
mysql_real_query list_add
mysql_real_connect list_delete
mysql_query load_defaults
mysql_ping max_allowed_packet
mysql_options my_end
mysql_num_rows my_getopt_print_errors
mysql_num_fields my_init
mysql_list_tables my_malloc
mysql_list_processes my_memdup
mysql_list_fields my_no_flags_free
mysql_list_dbs my_path
mysql_kill my_print_help
mysql_insert_id my_print_variables
mysql_init my_realloc
mysql_info my_strdup
mysql_get_server_info my_thread_end
mysql_get_proto_info my_thread_init
mysql_get_host_info myodbc_remove_escape
mysql_get_client_info mysql_affected_rows
mysql_free_result mysql_autocommit
mysql_field_tell
mysql_field_count
mysql_field_seek
mysql_fetch_row
mysql_fetch_lengths
mysql_fetch_fields
mysql_fetch_field_direct
mysql_fetch_field
mysql_escape_string
mysql_real_escape_string
mysql_error
mysql_errno
mysql_eof
mysql_dump_debug_info
mysql_drop_db
mysql_debug
mysql_data_seek
mysql_create_db
mysql_character_set_name
mysql_change_user mysql_change_user
mysql_connect mysql_character_set_name
mysql_close mysql_close
mysql_affected_rows mysql_commit
mysql_thread_init mysql_data_seek
mysql_thread_end mysql_debug
mysql_send_query mysql_dump_debug_info
mysql_eof
mysql_errno
mysql_error
mysql_escape_string
mysql_fetch_field
mysql_fetch_field_direct
mysql_fetch_fields
mysql_fetch_lengths
mysql_fetch_row
mysql_field_count
mysql_field_seek
mysql_field_tell
mysql_free_result
mysql_get_client_info
mysql_get_host_info
mysql_get_proto_info
mysql_get_server_info
mysql_info
mysql_init
mysql_insert_id
mysql_kill
mysql_list_dbs
mysql_list_fields
mysql_list_processes
mysql_list_tables
mysql_more_results
mysql_next_result
mysql_num_fields
mysql_num_rows
mysql_odbc_escape_string
mysql_options
mysql_ping
mysql_query
mysql_read_query_result mysql_read_query_result
mysql_real_connect
mysql_real_escape_string
mysql_real_query
mysql_refresh mysql_refresh
mysql_odbc_escape_string mysql_rollback
myodbc_remove_escape mysql_row_seek
mysql_row_tell
mysql_select_db
mysql_send_query
mysql_shutdown
mysql_ssl_set
mysql_stat
mysql_store_result
mysql_sqlstate
mysql_thread_id
mysql_thread_safe
mysql_use_result
mysql_warning_count
net_buffer_length
set_dynamic
strcend
strcont
strdup_root
strfill
strinstr
strmake
strmov
strxmov
mysql_server_end
mysql_server_init
get_tty_password
sql_protocol_typelib
mysql_get_server_version
mysql_sqlstate
charsets_dir
disabled_my_option
my_charset_latin1
init_alloc_root
my_progname
get_charset_by_csname
print_defaults
find_type
strxnmov
strend
my_fopen
my_fclose
unpack_filename
str2int
int10_to_str
longlong10_to_str
my_snprintf_8bit
alloc_root
free_root
my_read
...@@ -43,7 +43,8 @@ RSC=rc.exe ...@@ -43,7 +43,8 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0 # PROP Ignore_Export_Lib 0
# PROP Target_Dir "" # 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 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 "../regex" /I "../sql" /I "../bdb/build_win32" /D "WIN32" /D "NDEBUG" /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__" /FR /FD /mktyplib203 /win32 # ADD BASE MTL /c # ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../sql" /I "../regex" /I "../bdb/build_win32" /I "../zlib" /D "WIN32" /D "NDEBUG" /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__" /FR /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x416 /d "NDEBUG" # ADD BASE RSC /l 0x416 /d "NDEBUG"
# ADD RSC /l 0x416 /d "NDEBUG" # ADD RSC /l 0x416 /d "NDEBUG"
...@@ -68,7 +69,8 @@ LINK32=link.exe ...@@ -68,7 +69,8 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0 # PROP Ignore_Export_Lib 0
# PROP Target_Dir "" # 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 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 /Gm /Zi /Od /I "../include" /I "../sql" /I "../regex" /I "../bdb/build_win32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /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 /mktyplib203 /win32 # ADD BASE MTL /c # ADD CPP /nologo /MT /W3 /Gm /Zi /Od /I "../include" /I "../sql" /I "../regex" /I "../bdb/build_win32" /I "../zlib" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /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 BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x416 /d "_DEBUG" # ADD BASE RSC /l 0x416 /d "_DEBUG"
# ADD RSC /l 0x416 /d "_DEBUG" # ADD RSC /l 0x416 /d "_DEBUG"
...@@ -87,7 +89,11 @@ LINK32=link.exe ...@@ -87,7 +89,11 @@ LINK32=link.exe
# Name "libmysqld - Win32 Debug" # Name "libmysqld - Win32 Debug"
# Begin Source File # Begin Source File
SOURCE=.\client.c SOURCE="..\strings\ctype-latin1.c"
# End Source File
# Begin Source File
SOURCE=..\mysys\default.c
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -111,7 +117,7 @@ SOURCE=..\sql\filesort.cpp ...@@ -111,7 +117,7 @@ SOURCE=..\sql\filesort.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\libmysql\get_password.c SOURCE=..\client\get_password.c
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -159,6 +165,10 @@ SOURCE=..\sql\init.cpp ...@@ -159,6 +165,10 @@ SOURCE=..\sql\init.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\strings\int2str.c
# End Source File
# Begin Source File
SOURCE=..\sql\item.cpp SOURCE=..\sql\item.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -240,6 +250,14 @@ SOURCE=..\sql\mf_iocache.cpp ...@@ -240,6 +250,14 @@ SOURCE=..\sql\mf_iocache.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\mysys\my_alloc.c
# End Source File
# Begin Source File
SOURCE=..\mysys\my_getopt.c
# End Source File
# Begin Source File
SOURCE=..\sql\net_serv.cpp SOURCE=..\sql\net_serv.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -384,6 +402,10 @@ SOURCE=..\sql\sql_show.cpp ...@@ -384,6 +402,10 @@ SOURCE=..\sql\sql_show.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\sql\sql_state.c
# End Source File
# Begin Source File
SOURCE=..\sql\sql_string.cpp SOURCE=..\sql\sql_string.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
...@@ -412,6 +434,26 @@ SOURCE=..\sql\sql_yacc.cpp ...@@ -412,6 +434,26 @@ SOURCE=..\sql\sql_yacc.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\strings\str2int.c
# End Source File
# Begin Source File
SOURCE=..\strings\strcend.c
# End Source File
# Begin Source File
SOURCE=..\strings\strcont.c
# End Source File
# Begin Source File
SOURCE=..\strings\strinstr.c
# End Source File
# Begin Source File
SOURCE=..\strings\strxnmov.c
# End Source File
# Begin Source File
SOURCE=..\sql\table.cpp SOURCE=..\sql\table.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
......
...@@ -193,6 +193,10 @@ SOURCE=.\mi_panic.c ...@@ -193,6 +193,10 @@ SOURCE=.\mi_panic.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\mi_preload.c
# End Source File
# Begin Source File
SOURCE=.\mi_range.c SOURCE=.\mi_range.c
# End Source File # End Source File
# Begin Source File # Begin Source File
......
...@@ -725,19 +725,10 @@ Package=<5> ...@@ -725,19 +725,10 @@ Package=<5>
Package=<4> Package=<4>
{{{ {{{
Begin Project Dependency
Project_Dep_Name strings
End Project Dependency
Begin Project Dependency
Project_Dep_Name mysys
End Project Dependency
Begin Project Dependency Begin Project Dependency
Project_Dep_Name libmysqld Project_Dep_Name libmysqld
End Project Dependency End Project Dependency
Begin Project Dependency Begin Project Dependency
Project_Dep_Name vio
End Project Dependency
Begin Project Dependency
Project_Dep_Name zlib Project_Dep_Name zlib
End Project Dependency End Project Dependency
}}} }}}
......
...@@ -28,7 +28,7 @@ CFG=mysqld - Win32 Release ...@@ -28,7 +28,7 @@ CFG=mysqld - Win32 Release
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "" # PROP Scc_ProjName ""
# PROP Scc_LocalPath "" # PROP Scc_LocalPath ""
CPP=xicl6.exe CPP=cl.exe
RSC=rc.exe RSC=rc.exe
!IF "$(CFG)" == "mysqld - Win32 Release" !IF "$(CFG)" == "mysqld - Win32 Release"
...@@ -45,14 +45,14 @@ RSC=rc.exe ...@@ -45,14 +45,14 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0 # PROP Ignore_Export_Lib 0
# PROP Target_Dir "" # PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # 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 "../regex" /I "../zlib" /D "NDEBUG" /D "DBUG_OFF" /D "HAVE_INNOBASE_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /FD /c # ADD CPP /nologo /G6 /MT /W3 /O2 /I "../zlib" /I "../include" /I "../regex" /D "NDEBUG" /D "DBUG_OFF" /D "HAVE_INNOBASE_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /FD /c
# SUBTRACT CPP /YX # SUBTRACT CPP /YX
# ADD BASE RSC /l 0x410 /d "NDEBUG" # ADD BASE RSC /l 0x410 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=xilink6.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine: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 /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" # 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 # SUBTRACT LINK32 /debug
...@@ -71,14 +71,14 @@ LINK32=xilink6.exe ...@@ -71,14 +71,14 @@ LINK32=xilink6.exe
# PROP Ignore_Export_Lib 0 # PROP Ignore_Export_Lib 0
# PROP Target_Dir "" # PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # 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 /Gm /ZI /Od /I "../include" /I "../regex" /I "../bdb/build_win32" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "HAVE_INNOBASE_DB" /D "HAVE_BERKELEY_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /FD /c # ADD CPP /nologo /G6 /MTd /W3 /Gm /ZI /Od /I "../bdb/build_win32" /I "../include" /I "../regex" /I "../zlib" /D "_DEBUG" /D "SAFEMALLOC" /D "SAFE_MUTEX" /D "HAVE_INNOBASE_DB" /D "HAVE_BERKELEY_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /FD /c
# SUBTRACT CPP /Fr /YX # SUBTRACT CPP /Fr /YX
# ADD BASE RSC /l 0x410 /d "_DEBUG" # ADD BASE RSC /l 0x410 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=xilink6.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # 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 # 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
...@@ -98,14 +98,14 @@ LINK32=xilink6.exe ...@@ -98,14 +98,14 @@ LINK32=xilink6.exe
# PROP Target_Dir "" # PROP Target_Dir ""
# ADD BASE CPP /nologo /G5 /MT /W3 /O2 /I "../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "__WIN32__" /D "DBUG_OFF" /FD /c # ADD BASE CPP /nologo /G5 /MT /W3 /O2 /I "../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "__WIN32__" /D "DBUG_OFF" /FD /c
# SUBTRACT BASE CPP /YX # SUBTRACT BASE CPP /YX
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /FD /c # ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../zlib" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "HAVE_INNOBASE_DB" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "USE_SYMDIR" /D "HAVE_DLOPEN" /FD /c
# SUBTRACT CPP /YX # SUBTRACT CPP /YX
# ADD BASE RSC /l 0x410 /d "NDEBUG" # ADD BASE RSC /l 0x410 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=xilink6.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\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 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" # 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 # SUBTRACT LINK32 /pdb:none /debug
...@@ -126,14 +126,14 @@ LINK32=xilink6.exe ...@@ -126,14 +126,14 @@ LINK32=xilink6.exe
# PROP Target_Dir "" # PROP Target_Dir ""
# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c # ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c
# SUBTRACT BASE CPP /YX # SUBTRACT BASE CPP /YX
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../bdb/build_win32" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "USE_SYMDIR" /D "HAVE_INNOBASE_DB" /D "HAVE_BERKELEY_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /FD /c # ADD CPP /nologo /G6 /MT /W3 /O2 /I "../bdb/build_win32" /I "../include" /I "../regex" /I "../zlib" /D "NDEBUG" /D "__NT__" /D "DBUG_OFF" /D "USE_SYMDIR" /D "HAVE_INNOBASE_DB" /D "HAVE_BERKELEY_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /FD /c
# SUBTRACT CPP /YX # SUBTRACT CPP /YX
# ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=xilink6.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\myisam.lib ..\lib_release\myisammrg.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib ..\lib_release\zlib.lib /nologo /subsystem:console /map /machine:I386 /out:"../client_release/mysqld-nt.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 # 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" # 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"
...@@ -155,14 +155,14 @@ LINK32=xilink6.exe ...@@ -155,14 +155,14 @@ LINK32=xilink6.exe
# PROP Target_Dir "" # PROP Target_Dir ""
# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /D "NDEBUG" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c # ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /D "NDEBUG" /D "DBUG_OFF" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /FD /c
# SUBTRACT BASE CPP /YX # SUBTRACT BASE CPP /YX
# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../regex" /I "../bdb/build_win32" /D "NDEBUG" /D "DBUG_OFF" /D "USE_SYMDIR" /D "HAVE_INNOBASE_DB" /D "HAVE_BERKELEY_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /FD /c # ADD CPP /nologo /G6 /MT /W3 /O2 /I "../bdb/build_win32" /I "../include" /I "../regex" /I "../zlib" /D "NDEBUG" /D "DBUG_OFF" /D "USE_SYMDIR" /D "HAVE_INNOBASE_DB" /D "HAVE_BERKELEY_DB" /D "MYSQL_SERVER" /D "_WINDOWS" /D "_CONSOLE" /D "_MBCS" /D "HAVE_DLOPEN" /FD /c
# SUBTRACT CPP /YX # SUBTRACT CPP /YX
# ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe BSC32=bscmake.exe
# ADD BASE BSC32 /nologo # ADD BASE BSC32 /nologo
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=xilink6.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /out:"../client_release/mysqld-opt.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" # 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 # SUBTRACT LINK32 /debug
...@@ -893,6 +893,10 @@ SOURCE=.\sql_class.cpp ...@@ -893,6 +893,10 @@ SOURCE=.\sql_class.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\sql_client.cpp
# End Source File
# Begin Source File
SOURCE=.\sql_crypt.cpp SOURCE=.\sql_crypt.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
......
...@@ -266,6 +266,7 @@ typedef struct st_mysql ...@@ -266,6 +266,7 @@ typedef struct st_mysql
my_bool free_me; /* If free in mysql_close */ my_bool free_me; /* If free in mysql_close */
my_ulonglong insert_id; /* id if insert on table with NEXTNR */ my_ulonglong insert_id; /* id if insert on table with NEXTNR */
unsigned int last_errno; unsigned int last_errno;
unsigned int server_status;
char *last_error; /* Used by embedded server */ char *last_error; /* Used by embedded server */
char sqlstate[SQLSTATE_LENGTH+1]; /* Used by embedded server */ char sqlstate[SQLSTATE_LENGTH+1]; /* Used by embedded server */
} MYSQL; } MYSQL;
......
...@@ -2,8 +2,43 @@ LIBRARY LIBMYSQL ...@@ -2,8 +2,43 @@ LIBRARY LIBMYSQL
DESCRIPTION 'MySQL 4.1 Client Library' DESCRIPTION 'MySQL 4.1 Client Library'
VERSION 6.0 VERSION 6.0
EXPORTS EXPORTS
_dig_vec
bmove_upp
delete_dynamic
free_defaults
getopt_compare_strings
getopt_ull_limit_value
handle_options
init_dynamic_array
insert_dynamic
int2str
is_prefix
list_add
list_delete
load_defaults
max_allowed_packet
my_end
my_getopt_print_errors
my_init
my_malloc
my_memdup
my_no_flags_free
my_path
my_print_help
my_print_variables
my_realloc
my_strdup
my_thread_end
my_thread_init
myodbc_remove_escape
mysql_affected_rows mysql_affected_rows
mysql_autocommit
mysql_bind_param
mysql_bind_result
mysql_change_user
mysql_character_set_name
mysql_close mysql_close
mysql_commit
mysql_data_seek mysql_data_seek
mysql_debug mysql_debug
mysql_dump_debug_info mysql_dump_debug_info
...@@ -11,6 +46,9 @@ EXPORTS ...@@ -11,6 +46,9 @@ EXPORTS
mysql_errno mysql_errno
mysql_error mysql_error
mysql_escape_string mysql_escape_string
mysql_execute
mysql_fetch
mysql_fetch_column
mysql_fetch_field mysql_fetch_field
mysql_fetch_field_direct mysql_fetch_field_direct
mysql_fetch_fields mysql_fetch_fields
...@@ -32,113 +70,54 @@ EXPORTS ...@@ -32,113 +70,54 @@ EXPORTS
mysql_list_fields mysql_list_fields
mysql_list_processes mysql_list_processes
mysql_list_tables mysql_list_tables
mysql_more_results
mysql_next_result
mysql_num_fields mysql_num_fields
mysql_num_rows mysql_num_rows
mysql_odbc_escape_string mysql_odbc_escape_string
mysql_options mysql_options
mysql_param_count
mysql_param_result
mysql_ping mysql_ping
mysql_prepare
mysql_prepare_result
mysql_query mysql_query
mysql_read_query_result
mysql_real_connect mysql_real_connect
mysql_real_escape_string
mysql_real_query mysql_real_query
mysql_refresh mysql_refresh
mysql_rollback
mysql_row_seek mysql_row_seek
mysql_row_tell mysql_row_tell
mysql_select_db mysql_select_db
mysql_send_long_data
mysql_send_query
mysql_shutdown mysql_shutdown
mysql_ssl_set
mysql_stat mysql_stat
mysql_stmt_affected_rows
mysql_stmt_close
mysql_stmt_data_seek
mysql_stmt_errno
mysql_stmt_error
mysql_stmt_free_result
mysql_stmt_num_rows
mysql_stmt_row_seek
mysql_stmt_row_tell
mysql_stmt_store_result
mysql_store_result mysql_store_result
mysql_thread_id mysql_thread_id
mysql_thread_safe
mysql_use_result mysql_use_result
bmove_upp mysql_warning_count
delete_dynamic
_dig_vec
init_dynamic_array
insert_dynamic
int2str
is_prefix
list_add
list_delete
max_allowed_packet
my_init
my_end
my_strdup
my_malloc
my_memdup
my_no_flags_free
my_realloc
my_thread_end
my_thread_init
net_buffer_length net_buffer_length
set_dynamic set_dynamic
strcend strcend
strcont
strdup_root strdup_root
strfill strfill
strinstr strinstr
strmake strmake
strmov strmov
strxmov strxmov
myodbc_remove_escape
mysql_thread_safe
mysql_character_set_name
mysql_change_user
mysql_send_query
mysql_read_query_result
mysql_real_escape_string
mysql_ssl_set
mysql_real_connect
mysql_master_query
mysql_master_send_query
mysql_slave_query
mysql_slave_send_query
mysql_enable_rpl_parse
mysql_disable_rpl_parse
mysql_rpl_parse_enabled
mysql_enable_reads_from_master
mysql_disable_reads_from_master
mysql_reads_from_master_enabled
mysql_rpl_query_type
mysql_rpl_probe
mysql_set_master
mysql_add_slave
my_getopt_print_errors
handle_options
my_print_help
my_print_variables
getopt_ull_limit_value
getopt_compare_strings
mysql_warning_count
mysql_prepare
mysql_execute
mysql_param_count
mysql_bind_param
mysql_bind_result
mysql_param_result
mysql_prepare_result
mysql_stmt_close
mysql_stmt_free_result
mysql_stmt_error
mysql_stmt_errno
mysql_fetch
mysql_fetch_column
mysql_send_long_data
mysql_next_result
mysql_stmt_affected_rows
mysql_stmt_store_result
mysql_stmt_data_seek
mysql_stmt_row_seek
mysql_stmt_row_tell
mysql_stmt_num_rows
mysql_more_results
mysql_commit
mysql_rollback
mysql_autocommit
load_defaults
free_defaults
my_path
...@@ -49,6 +49,8 @@ ...@@ -49,6 +49,8 @@
static my_bool mysql_client_init=0; static my_bool mysql_client_init=0;
uint mysql_port=0; uint mysql_port=0;
my_string mysql_unix_port=0; my_string mysql_unix_port=0;
const char *not_error_sqlstate= "00000";
const char *sql_protocol_names_lib[] = const char *sql_protocol_names_lib[] =
{ "TCP", "SOCKET", "PIPE", "MEMORY",NullS }; { "TCP", "SOCKET", "PIPE", "MEMORY",NullS };
TYPELIB sql_protocol_typelib = {array_elements(sql_protocol_names_lib)-1,"", TYPELIB sql_protocol_typelib = {array_elements(sql_protocol_names_lib)-1,"",
...@@ -516,6 +518,7 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user, ...@@ -516,6 +518,7 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
client_flag&= ~CLIENT_COMPRESS; client_flag&= ~CLIENT_COMPRESS;
if (db) if (db)
client_flag|=CLIENT_CONNECT_WITH_DB; client_flag|=CLIENT_CONNECT_WITH_DB;
mysql->server_status= SERVER_STATUS_AUTOCOMMIT;
if (mysql->options.init_commands) if (mysql->options.init_commands)
{ {
...@@ -1040,9 +1043,9 @@ mysql_list_fields(MYSQL *mysql __attribute__((unused)), const char *table __attr ...@@ -1040,9 +1043,9 @@ mysql_list_fields(MYSQL *mysql __attribute__((unused)), const char *table __attr
/* List all running processes (threads) in server */ /* List all running processes (threads) in server */
MYSQL_RES * STDCALL MYSQL_RES * STDCALL
mysql_list_processes(MYSQL *mysql) mysql_list_processes(MYSQL *mysql __attribute__((unused)))
{ {
#ifdef DUMMY #ifdef FOR_THE_FUTURE
MYSQL_DATA *fields; MYSQL_DATA *fields;
uint field_count; uint field_count;
uchar *pos; uchar *pos;
...@@ -1063,7 +1066,7 @@ mysql_list_processes(MYSQL *mysql) ...@@ -1063,7 +1066,7 @@ mysql_list_processes(MYSQL *mysql)
mysql->status=MYSQL_STATUS_GET_RESULT; mysql->status=MYSQL_STATUS_GET_RESULT;
mysql->field_count=field_count; mysql->field_count=field_count;
DBUG_RETURN(mysql_store_result(mysql)); DBUG_RETURN(mysql_store_result(mysql));
#endif /*DUMMY*/ #endif /* FOR_THE_FUTURE */
return 0; return 0;
} }
...@@ -1535,3 +1538,96 @@ myodbc_remove_escape(MYSQL *mysql,char *name) ...@@ -1535,3 +1538,96 @@ myodbc_remove_escape(MYSQL *mysql,char *name)
} }
*to=0; *to=0;
} }
/********************************************************************
Transactional APIs
*********************************************************************/
/*
Commit the current transaction
*/
my_bool STDCALL mysql_commit(MYSQL * mysql)
{
DBUG_ENTER("mysql_commit");
DBUG_RETURN((my_bool) mysql_real_query(mysql, "commit", 6));
}
/*
Rollback the current transaction
*/
my_bool STDCALL mysql_rollback(MYSQL * mysql)
{
DBUG_ENTER("mysql_rollback");
DBUG_RETURN((my_bool) mysql_real_query(mysql, "rollback", 8));
}
/*
Set autocommit to either true or false
*/
my_bool STDCALL mysql_autocommit(MYSQL * mysql, my_bool auto_mode)
{
DBUG_ENTER("mysql_autocommit");
DBUG_PRINT("enter", ("mode : %d", auto_mode));
if (auto_mode) /* set to true */
DBUG_RETURN((my_bool) mysql_real_query(mysql, "set autocommit=1", 16));
DBUG_RETURN((my_bool) mysql_real_query(mysql, "set autocommit=0", 16));
}
/********************************************************************
Multi query execution + SPs APIs
*********************************************************************/
/*
Returns if there are any more query results exists to be read using
mysql_next_result()
*/
my_bool STDCALL mysql_more_results(MYSQL *mysql)
{
my_bool res;
DBUG_ENTER("mysql_more_results");
res= ((mysql->server_status & SERVER_MORE_RESULTS_EXISTS) ?
1: 0);
DBUG_PRINT("exit",("More results exists ? %d", res));
DBUG_RETURN(res);
}
/*
Reads and returns the next query results
*/
my_bool STDCALL mysql_next_result(MYSQL *mysql)
{
DBUG_ENTER("mysql_next_result");
mysql->last_error[0]= 0;
mysql->last_errno= 0;
strmov(mysql->sqlstate, not_error_sqlstate);
mysql->affected_rows= ~(my_ulonglong) 0;
if (mysql->server_status & SERVER_MORE_RESULTS_EXISTS)
DBUG_RETURN(mysql_read_query_result(mysql));
DBUG_RETURN(0);
}
my_bool STDCALL
mysql_ssl_set(MYSQL *mysql __attribute__((unused)) ,
const char *key __attribute__((unused)),
const char *cert __attribute__((unused)),
const char *ca __attribute__((unused)),
const char *capath __attribute__((unused)),
const char *cipher __attribute__((unused)))
{
return 0;
}
LIBRARY LIBMYSQLD LIBRARY LIBMYSQLD
DESCRIPTION 'MySQL 4.0 Embedded Server Library' DESCRIPTION 'MySQL 4.1 Embedded Server Library'
VERSION 4.0 VERSION 4.1
EXPORTS EXPORTS
mysql_server_end _dig_vec
mysql_server_init bmove_upp
mysql_use_result delete_dynamic
mysql_thread_safe free_defaults
mysql_thread_id getopt_compare_strings
mysql_store_result getopt_ull_limit_value
mysql_stat handle_options
mysql_shutdown init_dynamic_array
mysql_select_db insert_dynamic
mysql_row_tell int2str
mysql_row_seek is_prefix
mysql_real_query list_add
mysql_real_connect list_delete
mysql_query load_defaults
mysql_ping max_allowed_packet
mysql_options my_end
mysql_num_rows my_getopt_print_errors
mysql_num_fields my_init
mysql_list_tables my_malloc
mysql_list_processes my_memdup
mysql_list_fields my_no_flags_free
mysql_list_dbs my_path
mysql_kill my_print_help
mysql_insert_id my_print_variables
mysql_init my_realloc
mysql_info my_strdup
mysql_get_server_info my_thread_end
mysql_get_proto_info my_thread_init
mysql_get_host_info myodbc_remove_escape
mysql_get_client_info mysql_affected_rows
mysql_free_result mysql_autocommit
mysql_field_tell
mysql_field_count
mysql_field_seek
mysql_fetch_row
mysql_fetch_lengths
mysql_fetch_fields
mysql_fetch_field_direct
mysql_fetch_field
mysql_escape_string
mysql_real_escape_string
mysql_error
mysql_errno
mysql_eof
mysql_dump_debug_info
mysql_drop_db
mysql_debug
mysql_data_seek
mysql_create_db
mysql_character_set_name
mysql_change_user mysql_change_user
mysql_connect mysql_character_set_name
mysql_close mysql_close
mysql_affected_rows mysql_commit
mysql_thread_init mysql_data_seek
mysql_thread_end mysql_debug
mysql_send_query mysql_dump_debug_info
mysql_eof
mysql_errno
mysql_error
mysql_escape_string
mysql_fetch_field
mysql_fetch_field_direct
mysql_fetch_fields
mysql_fetch_lengths
mysql_fetch_row
mysql_field_count
mysql_field_seek
mysql_field_tell
mysql_free_result
mysql_get_client_info
mysql_get_host_info
mysql_get_proto_info
mysql_get_server_info
mysql_info
mysql_init
mysql_insert_id
mysql_kill
mysql_list_dbs
mysql_list_fields
mysql_list_processes
mysql_list_tables
mysql_more_results
mysql_next_result
mysql_num_fields
mysql_num_rows
mysql_odbc_escape_string
mysql_options
mysql_ping
mysql_query
mysql_read_query_result mysql_read_query_result
mysql_real_connect
mysql_real_escape_string
mysql_real_query
mysql_refresh mysql_refresh
mysql_odbc_escape_string mysql_rollback
myodbc_remove_escape mysql_row_seek
mysql_row_tell
mysql_select_db
mysql_send_query
mysql_shutdown
mysql_ssl_set
mysql_stat
mysql_store_result
mysql_sqlstate
mysql_thread_id
mysql_thread_safe
mysql_use_result
mysql_warning_count
net_buffer_length
set_dynamic
strcend
strcont
strdup_root
strfill
strinstr
strmake
strmov
strxmov
mysql_server_end
mysql_server_init
get_tty_password
sql_protocol_typelib
mysql_get_server_version
mysql_sqlstate
charsets_dir
disabled_my_option
my_charset_latin1
init_alloc_root
my_progname
get_charset_by_csname
print_defaults
find_type
strxnmov
strend
my_fopen
my_fclose
unpack_filename
str2int
int10_to_str
longlong10_to_str
my_snprintf_8bit
alloc_root
free_root
my_read
...@@ -42,35 +42,32 @@ ...@@ -42,35 +42,32 @@
int mi_preload(MI_INFO *info, ulonglong key_map, my_bool ignore_leaves) int mi_preload(MI_INFO *info, ulonglong key_map, my_bool ignore_leaves)
{ {
uint i; uint i;
uint length; ulong length, block_length= 0;
uint block_length= 0;
uchar *buff= NULL; uchar *buff= NULL;
MYISAM_SHARE* share= info->s; MYISAM_SHARE* share= info->s;
uint keys= share->state.header.keys; uint keys= share->state.header.keys;
MI_KEYDEF *keyinfo= share->keyinfo; MI_KEYDEF *keyinfo= share->keyinfo;
my_off_t key_file_length= share->state.state.key_file_length; my_off_t key_file_length= share->state.state.key_file_length;
my_off_t pos= share->base.keystart; my_off_t pos= share->base.keystart;
DBUG_ENTER("mi_preload");
if (!keys || !key_map || key_file_length == pos) if (!keys || !key_map || key_file_length == pos)
return 0; DBUG_RETURN(0);
block_length= keyinfo[0].block_length; block_length= keyinfo[0].block_length;
if (!key_map)
return 0;
/* Check whether all indexes use the same block size */ /* Check whether all indexes use the same block size */
for (i= 1 ; i < keys ; i++) for (i= 1 ; i < keys ; i++)
{ {
if (keyinfo[i].block_length != block_length) if (keyinfo[i].block_length != block_length)
return (my_errno= HA_ERR_NON_UNIQUE_BLOCK_SIZE); DBUG_RETURN(my_errno= HA_ERR_NON_UNIQUE_BLOCK_SIZE);
} }
length= info->preload_buff_size/block_length * block_length; length= info->preload_buff_size/block_length * block_length;
set_if_bigger(length, block_length); set_if_bigger(length, block_length);
if (!(buff= (uchar *) my_malloc(length, MYF(MY_WME)))) if (!(buff= (uchar *) my_malloc(length, MYF(MY_WME))))
return (my_errno= HA_ERR_OUT_OF_MEM); DBUG_RETURN(my_errno= HA_ERR_OUT_OF_MEM);
if (flush_key_blocks(share->kfile, FLUSH_RELEASE)) if (flush_key_blocks(share->kfile, FLUSH_RELEASE))
goto err; goto err;
...@@ -78,7 +75,8 @@ int mi_preload(MI_INFO *info, ulonglong key_map, my_bool ignore_leaves) ...@@ -78,7 +75,8 @@ int mi_preload(MI_INFO *info, ulonglong key_map, my_bool ignore_leaves)
do do
{ {
/* Read the next block of index file into the preload buffer */ /* Read the next block of index file into the preload buffer */
set_if_smaller(length, key_file_length-pos); if ((my_off_t) length > (key_file_length-pos))
length= (ulong) (key_file_length-pos);
if (my_pread(share->kfile, (byte*) buff, length, pos, MYF(MY_FAE))) if (my_pread(share->kfile, (byte*) buff, length, pos, MYF(MY_FAE)))
goto err; goto err;
...@@ -103,16 +101,14 @@ int mi_preload(MI_INFO *info, ulonglong key_map, my_bool ignore_leaves) ...@@ -103,16 +101,14 @@ int mi_preload(MI_INFO *info, ulonglong key_map, my_bool ignore_leaves)
goto err; goto err;
pos+= length; pos+= length;
} }
} }
while (pos != key_file_length); while (pos != key_file_length);
my_free(buff, MYF(0)); my_free(buff, MYF(0));
DBUG_RETURN(0);
return 0;
err: err:
my_free(buff, MYF(MY_ALLOW_ZERO_PTR)); my_free(buff, MYF(MY_ALLOW_ZERO_PTR));
return (my_errno= errno); DBUG_RETURN(my_errno= errno);
} }
...@@ -251,7 +251,7 @@ touch $BASE/innobase/ib_config.h ...@@ -251,7 +251,7 @@ touch $BASE/innobase/ib_config.h
cd $SOURCE cd $SOURCE
for i in COPYING ChangeLog README \ for i in COPYING ChangeLog README \
INSTALL-SOURCE INSTALL-WIN \ INSTALL-SOURCE INSTALL-WIN \
INSTALL-WIN-SOURCE INSTALL-WIN-SOURCE \
Docs/manual_toc.html Docs/manual.html \ Docs/manual_toc.html Docs/manual.html \
Docs/mysqld_error.txt Docs/INSTALL-BINARY Docs/mysqld_error.txt Docs/INSTALL-BINARY
...@@ -350,7 +350,7 @@ set_tarzip_options() ...@@ -350,7 +350,7 @@ set_tarzip_options()
else else
ZIPFILE1=zip ZIPFILE1=zip
ZIPFILE2="" ZIPFILE2=""
OPT="-vr" OPT="-r"
EXT=".zip" EXT=".zip"
NEED_COMPRESS=0 NEED_COMPRESS=0
if [ "$SILENT" = "1" ] ; then if [ "$SILENT" = "1" ] ; then
...@@ -382,6 +382,7 @@ print_debug "Using $tar to create archive" ...@@ -382,6 +382,7 @@ print_debug "Using $tar to create archive"
cd $TMP cd $TMP
rm -f $SOURCE/$NEW_NAME$EXT
$tar $OPT $SOURCE/$NEW_NAME$EXT $NEW_DIR_NAME $tar $OPT $SOURCE/$NEW_NAME$EXT $NEW_DIR_NAME
cd $SOURCE cd $SOURCE
......
...@@ -145,20 +145,19 @@ then ...@@ -145,20 +145,19 @@ then
then then
i_u="INSERT INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0); i_u="INSERT INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0);
INSERT INTO user VALUES ('$hostname','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0); INSERT INTO user VALUES ('$hostname','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0);
REPLACE INTO user VALUES ('127.0.0.1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0);
INSERT INTO user (host,user) values ('localhost',''); INSERT INTO user (host,user) values ('localhost','');
INSERT INTO user (host,user) values ('$hostname','');" INSERT INTO user (host,user) values ('$hostname','');"
else else
i_u="INSERT INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0); i_u="INSERT INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0);"
REPLACE INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0);
INSERT INTO user (host,user) values ('localhost','');"
if test "$windows" -eq 0 if test "$windows" -eq 0
then then
i_u="$i_u i_u="$i_u
INSERT INTO user VALUES ('$hostname','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0); INSERT INTO user VALUES ('$hostname','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0);
REPLACE INTO user VALUES ('$hostname','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0);
INSERT INTO user (host,user) values ('$hostname','');" INSERT INTO user (host,user) values ('$hostname','');"
fi INSERT INTO user (host,user) values ('localhost','');
else
i_u="INSERT INTO user VALUES ('localhost','','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0);"
fi
fi fi
fi fi
......
...@@ -57,6 +57,9 @@ then ...@@ -57,6 +57,9 @@ then
elif test -x @bindir@/mysql_print_defaults elif test -x @bindir@/mysql_print_defaults
then then
print_defaults="@bindir@/mysql_print_defaults" print_defaults="@bindir@/mysql_print_defaults"
elif test -x extra/my_print_defaults
then
print_defaults="extra/my_print_defaults"
else else
print_defaults="my_print_defaults" print_defaults="my_print_defaults"
fi fi
......
...@@ -2022,7 +2022,6 @@ my_bool mysql_reconnect(MYSQL *mysql) ...@@ -2022,7 +2022,6 @@ my_bool mysql_reconnect(MYSQL *mysql)
} }
mysql_init(&tmp_mysql); mysql_init(&tmp_mysql);
tmp_mysql.options=mysql->options; tmp_mysql.options=mysql->options;
bzero((char*) &mysql->options,sizeof(mysql->options));
tmp_mysql.rpl_pivot = mysql->rpl_pivot; tmp_mysql.rpl_pivot = mysql->rpl_pivot;
if (!mysql_real_connect(&tmp_mysql,mysql->host,mysql->user,mysql->passwd, if (!mysql_real_connect(&tmp_mysql,mysql->host,mysql->user,mysql->passwd,
mysql->db, mysql->port, mysql->unix_socket, mysql->db, mysql->port, mysql->unix_socket,
...@@ -2033,7 +2032,9 @@ my_bool mysql_reconnect(MYSQL *mysql) ...@@ -2033,7 +2032,9 @@ my_bool mysql_reconnect(MYSQL *mysql)
strmov(mysql->net.sqlstate, tmp_mysql.net.sqlstate); strmov(mysql->net.sqlstate, tmp_mysql.net.sqlstate);
DBUG_RETURN(1); DBUG_RETURN(1);
} }
tmp_mysql.free_me=mysql->free_me; tmp_mysql.free_me= mysql->free_me;
/* Don't free options as these are now used in tmp_mysql */
bzero((char*) &mysql->options,sizeof(mysql->options));
mysql->free_me=0; mysql->free_me=0;
mysql_close(mysql); mysql_close(mysql);
*mysql=tmp_mysql; *mysql=tmp_mysql;
...@@ -2070,9 +2071,6 @@ mysql_select_db(MYSQL *mysql, const char *db) ...@@ -2070,9 +2071,6 @@ mysql_select_db(MYSQL *mysql, const char *db)
static void mysql_close_free_options(MYSQL *mysql) static void mysql_close_free_options(MYSQL *mysql)
{ {
my_free(mysql->user,MYF(MY_ALLOW_ZERO_PTR));
my_free(mysql->passwd,MYF(MY_ALLOW_ZERO_PTR));
my_free(mysql->db,MYF(MY_ALLOW_ZERO_PTR));
my_free(mysql->options.user,MYF(MY_ALLOW_ZERO_PTR)); my_free(mysql->options.user,MYF(MY_ALLOW_ZERO_PTR));
my_free(mysql->options.host,MYF(MY_ALLOW_ZERO_PTR)); my_free(mysql->options.host,MYF(MY_ALLOW_ZERO_PTR));
my_free(mysql->options.password,MYF(MY_ALLOW_ZERO_PTR)); my_free(mysql->options.password,MYF(MY_ALLOW_ZERO_PTR));
...@@ -2099,14 +2097,17 @@ static void mysql_close_free_options(MYSQL *mysql) ...@@ -2099,14 +2097,17 @@ static void mysql_close_free_options(MYSQL *mysql)
if (mysql->options.shared_memory_base_name != def_shared_memory_base_name) if (mysql->options.shared_memory_base_name != def_shared_memory_base_name)
my_free(mysql->options.shared_memory_base_name,MYF(MY_ALLOW_ZERO_PTR)); my_free(mysql->options.shared_memory_base_name,MYF(MY_ALLOW_ZERO_PTR));
#endif /* HAVE_SMEM */ #endif /* HAVE_SMEM */
bzero((char*) &mysql->options,sizeof(mysql->options)); bzero((char*) &mysql->options,sizeof(mysql->options));
} }
static void mysql_close_free(MYSQL *mysql) static void mysql_close_free(MYSQL *mysql)
{ {
/* Clear pointers for better safety */
my_free((gptr) mysql->host_info,MYF(MY_ALLOW_ZERO_PTR)); my_free((gptr) mysql->host_info,MYF(MY_ALLOW_ZERO_PTR));
my_free(mysql->user,MYF(MY_ALLOW_ZERO_PTR));
my_free(mysql->passwd,MYF(MY_ALLOW_ZERO_PTR));
my_free(mysql->db,MYF(MY_ALLOW_ZERO_PTR));
/* Clear pointers for better safety */
mysql->host_info=mysql->user=mysql->passwd=mysql->db=0; mysql->host_info=mysql->user=mysql->passwd=mysql->db=0;
} }
......
...@@ -57,7 +57,8 @@ Item_sum::Item_sum(THD *thd, Item_sum &item): ...@@ -57,7 +57,8 @@ Item_sum::Item_sum(THD *thd, Item_sum &item):
void Item_sum::mark_as_sum_func() void Item_sum::mark_as_sum_func()
{ {
current_thd->lex.current_select->with_sum_func= with_sum_func= 1; current_thd->lex.current_select->with_sum_func= 1;
with_sum_func= 1;
} }
......
...@@ -2177,7 +2177,7 @@ extern "C" pthread_handler_decl(handle_slave_io,arg) ...@@ -2177,7 +2177,7 @@ extern "C" pthread_handler_decl(handle_slave_io,arg)
DBUG_ENTER("handle_slave_io"); DBUG_ENTER("handle_slave_io");
#ifndef DBUG_OFF #ifndef DBUG_OFF
slave_begin: slave_begin:
#endif #endif
DBUG_ASSERT(mi->inited); DBUG_ASSERT(mi->inited);
mysql= NULL ; mysql= NULL ;
...@@ -2218,7 +2218,7 @@ slave_begin: ...@@ -2218,7 +2218,7 @@ slave_begin:
if (!(mi->mysql = mysql = mysql_init(NULL))) if (!(mi->mysql = mysql = mysql_init(NULL)))
{ {
sql_print_error("Slave I/O thread: error in mc_mysql_init()"); sql_print_error("Slave I/O thread: error in mysql_init()");
goto err; goto err;
} }
...@@ -2270,7 +2270,7 @@ dump"); ...@@ -2270,7 +2270,7 @@ dump");
goto err; goto err;
} }
thd->proc_info = "Waiiting to reconnect after a failed dump request"; thd->proc_info = "Waiting to reconnect after a failed dump request";
end_server(mysql); end_server(mysql);
/* /*
First time retry immediately, assuming that we can recover First time retry immediately, assuming that we can recover
...@@ -3075,7 +3075,8 @@ replication resumed in log '%s' at position %s", mi->user, ...@@ -3075,7 +3075,8 @@ replication resumed in log '%s' at position %s", mi->user,
static int safe_reconnect(THD* thd, MYSQL* mysql, MASTER_INFO* mi, static int safe_reconnect(THD* thd, MYSQL* mysql, MASTER_INFO* mi,
bool suppress_warnings) bool suppress_warnings)
{ {
return connect_to_master(thd, mysql, mi, 1, suppress_warnings); DBUG_ENTER("safe_reconnect");
DBUG_RETURN(connect_to_master(thd, mysql, mi, 1, suppress_warnings));
} }
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
This files defines some MySQL C API functions that are server specific This files defines some MySQL C API functions that are server specific
*/ */
#include <mysql_priv.h> #include "mysql_priv.h"
/* /*
Function called by my_net_init() to set some check variables Function called by my_net_init() to set some check variables
......
...@@ -22,6 +22,8 @@ struct st_find_field ...@@ -22,6 +22,8 @@ struct st_find_field
Field *field; Field *field;
}; };
static void free_select(SQL_SELECT *sel);
/* Used fields */ /* Used fields */
static struct st_find_field init_used_fields[]= static struct st_find_field init_used_fields[]=
...@@ -62,6 +64,7 @@ enum enum_used_fields ...@@ -62,6 +64,7 @@ enum enum_used_fields
help_relation_help_keyword_id help_relation_help_keyword_id
}; };
/* /*
Fill st_find_field structure with pointers to fields Fill st_find_field structure with pointers to fields
...@@ -94,8 +97,8 @@ static bool init_fields(THD *thd, TABLE_LIST *tables, ...@@ -94,8 +97,8 @@ static bool init_fields(THD *thd, TABLE_LIST *tables,
DBUG_RETURN(0); DBUG_RETURN(0);
} }
/*
/*
Returns variants of found topic for help (if it is just single topic, Returns variants of found topic for help (if it is just single topic,
returns description and example, or else returns only names..) returns description and example, or else returns only names..)
...@@ -135,7 +138,7 @@ void memorize_variant_topic(THD *thd, TABLE *topics, int count, ...@@ -135,7 +138,7 @@ void memorize_variant_topic(THD *thd, TABLE *topics, int count,
} }
else else
{ {
if (count==1) if (count == 1)
names->push_back(name); names->push_back(name);
String *new_name= new String; String *new_name= new String;
get_field(mem_root,find_fields[help_topic_name].field,new_name); get_field(mem_root,find_fields[help_topic_name].field,new_name);
...@@ -557,7 +560,7 @@ int send_variant_2_list(MEM_ROOT *mem_root, Protocol *protocol, ...@@ -557,7 +560,7 @@ int send_variant_2_list(MEM_ROOT *mem_root, Protocol *protocol,
String **end= pointers + names->elements; String **end= pointers + names->elements;
List_iterator<String> it(*names); List_iterator<String> it(*names);
for ( pos= pointers; pos!=end; (*pos++= it++)); for (pos= pointers; pos!=end; (*pos++= it++));
qsort(pointers,names->elements,sizeof(String*),string_ptr_cmp); qsort(pointers,names->elements,sizeof(String*),string_ptr_cmp);
...@@ -627,6 +630,7 @@ SQL_SELECT *prepare_select_for_name(THD *thd, const char *mask, uint mlen, ...@@ -627,6 +630,7 @@ SQL_SELECT *prepare_select_for_name(THD *thd, const char *mask, uint mlen,
return prepare_simple_select(thd,cond,tables,table,error); return prepare_simple_select(thd,cond,tables,table,error);
} }
/* /*
Server-side function 'help' Server-side function 'help'
...@@ -783,6 +787,21 @@ int mysqld_help(THD *thd, const char *mask) ...@@ -783,6 +787,21 @@ int mysqld_help(THD *thd, const char *mask)
res= 0; res= 0;
send_eof(thd); send_eof(thd);
end: end:
free_select(select_topics_by_name);
free_select(select_keyword_by_name);
free_select(select_cat_by_name);
free_select(select_topics_by_cat);
free_select(select_cat_by_cat);
free_select(select_root_cats);
DBUG_RETURN(res); DBUG_RETURN(res);
} }
static void free_select(SQL_SELECT *sel)
{
if (sel)
delete sel->quick;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment