Cleaned up embedded library access and query cache handling
Changed min stack size to 128K (to allow longer MyISAM keys)
Fixed wrong priority for XOR (should be less than NEG to get -1^1 to work)
client/mysqldump.c:
Fixed bugs found after merge
include/mysql_embed.h:
Disable query cache when using embedded version
myisam/mi_check.c:
Removed not used variable
mysql-test/r/auto_increment.result:
Fixed bugs found after merge
mysql-test/r/bdb.result:
Fixed bugs found after merge
mysql-test/r/func_group.result:
Fixed bugs found after merge
mysql-test/r/func_str.result:
Fixed bugs found after merge
mysql-test/r/func_time.result:
Fixed bugs found after merge
mysql-test/r/group_by.result:
Fixed bugs found after merge
mysql-test/r/innodb.result:
Fixed bugs found after merge
mysql-test/r/insert.result:
Fixed bugs found after merge
mysql-test/r/join_outer.result:
Fixed bugs found after merge
mysql-test/r/loaddata.result:
Fixed bugs found after merge
mysql-test/r/multi_update.result:
Fixed bugs found after merge
mysql-test/r/mysqldump.result:
Update results
mysql-test/r/rpl_EE_error.result:
Fixed bugs found after merge
mysql-test/r/rpl_multi_update.result:
Fixed bugs found after merge
mysql-test/r/symlink.result:
Update results
mysql-test/r/type_blob.result:
Update results
mysql-test/r/type_datetime.result:
Update results
mysql-test/r/type_decimal.result:
Update results
mysql-test/r/type_enum.result:
Fixed bugs found after merge
mysql-test/r/type_timestamp.result:
Update results
mysql-test/r/union.result:
Update results
mysql-test/r/warnings.result:
Update results
mysql-test/t/bdb.test:
Fix test for 4.1
mysql-test/t/innodb.test:
Fix test for 4.1
mysql-test/t/multi_update.test:
Fix test for 4.1
mysql-test/t/mysqldump.test:
Fix test for 4.1
mysql-test/t/rpl_EE_error.test:
Fix test for 4.1
mysql-test/t/rpl_multi_update.test:
Fix test for 4.1
mysql-test/t/union.test:
Cleanup
mysys/charset.c:
Check results from my_once_alloc()
mysys/my_handler.c:
part of 4.0 merge
sql-common/client.c:
Part of 4.0 merge
sql/field.cc:
After merge fixes
sql/field.h:
After merge fixes
sql/ha_innodb.cc:
Remove duplicate include files
sql/item.cc:
Changed automatic int conversion to be of type binary
sql/item.h:
After merge fixes
sql/item_func.cc:
Changed automatic int conversion to be of type binary
sql/item_func.h:
After merge fixes
sql/item_strfunc.cc:
Added comments
sql/item_subselect.cc:
Indentation fixes
sql/item_sum.cc:
Changed automatic int conversion to be of type binary
sql/item_sum.h:
After merge fixes
sql/mysql_priv.h:
Cleanup embedded library access checks
sql/mysqld.cc:
Changed min stack size to 128K (to allow longer MyISAM keys)
sql/set_var.cc:
Fixed compiler warnings
sql/share/czech/errmsg.txt:
Better error message
sql/share/danish/errmsg.txt:
Better error message
sql/share/dutch/errmsg.txt:
Better error message
sql/share/english/errmsg.txt:
Better error message
sql/share/estonian/errmsg.txt:
Better error message
sql/share/french/errmsg.txt:
Better error message
sql/share/greek/errmsg.txt:
Better error message
sql/share/hungarian/errmsg.txt:
Better error message
sql/share/italian/errmsg.txt:
Better error message
sql/share/japanese/errmsg.txt:
Better error message
sql/share/korean/errmsg.txt:
Better error message
sql/share/norwegian-ny/errmsg.txt:
Better error message
sql/share/norwegian/errmsg.txt:
Better error message
sql/share/polish/errmsg.txt:
Better error message
sql/share/romanian/errmsg.txt:
Better error message
sql/share/russian/errmsg.txt:
Better error message
sql/share/serbian/errmsg.txt:
Better error message
sql/share/slovak/errmsg.txt:
Better error message
sql/share/spanish/errmsg.txt:
Better error message
sql/share/swedish/errmsg.txt:
Better error message
sql/share/ukrainian/errmsg.txt:
Better error message
sql/sql_acl.h:
Cleaned up embedded library acccess checks
sql/sql_base.cc:
After merge fixes
sql/sql_client.cc:
After merge fixes
sql/sql_parse.cc:
After merge fixes
Changed access check code for embedded library (needed to make code shorter and ensure that check_table_access() is called)
Recoded create-table handling for CREATE TABLE ... SELECT to make code shorter and faster
sql/sql_prepare.cc:
Add missing arguments
sql/sql_select.cc:
After merge fixes
sql/sql_update.cc:
After merge fixes
sql/sql_yacc.yy:
Fixed wrong priority for XOR (should be less than NEG to get -1^1 to work)
sql/table.cc:
After merge fixes
now mysql_server_init is called from mysql_init with fake parameters
mysql_once_init code included to mysql_server_init.
embedded-specific initialization is in init_embedded_server function
include/errmsg.h:
this error won't happen
include/mysql.h:
declarations removed
libmysql/client_settings.h:
declaration of init_embedded_server/end_embedded_server added
libmysql/errmsg.c:
this error won't happen
libmysql/libmysql.c:
mysql_once_init -> mysql_server_init transformations
libmysqld/embedded_priv.h:
declaration deleted
libmysqld/lib_sql.cc:
mysql_server_init -> init_embedded_server
mysql_server_end -> end_embedded_server
libmysqld/libmysqld.c:
check for server_inited not needed now
sql-common/client.c:
mysql_server_init now called from mysql_init
sql/client_settings.h:
fake mysql_server_init for server code
sql/net_serv.cc:
we need MYSQL_CLIENT defined in embedded server
sql/sql_client.cc:
not needed now
Fixed compiler warnings (a lot of hidden variables detected by the Forte compiler)
Added a lot of 'version_xxx' strings to 'show variables'
Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris)
Fixed problem with printing sub selects to debug log
Docs/mysqld_error.txt:
Updated error messages
Makefile.am:
Added missing SSL library (Should be in source distribution)
configure.in:
Added missing SSL library
include/sql_common.h:
Move duplicated prototypes
innobase/os/os0file.c:
Added comment for line that could be removed
innobase/srv/srv0srv.c:
Added comment for line that could be removed
innobase/srv/srv0start.c:
Added comment for line that could be removed
innobase/trx/trx0sys.c:
Added cast to remove compiler warning
isam/isamchk.c:
Fixed compiler warning
libmysql/conf_to_src.c:
Include files in proper order
myisam/mi_check.c:
Removed else part that caused compiler warning
myisam/mi_delete.c:
Added cast
myisam/mi_page.c:
Added cast
myisam/mi_preload.c:
Added cast
myisam/mi_write.c:
Added cast
myisam/myisampack.c:
changed 'byte' to 'current_byte' to avoid compiler warnings
mysql-test/mysql-test-run.sh:
Removed start-from as test '<' is not portable and this can easily be done from command line
mysys/hash.c:
Added cast
mysys/mf_wcomp.c:
Removed not reached line
mysys/my_append.c:
Fixed include file order to get this more portable
mysys/my_copy.c:
Fixed include file order to get this more portable
mysys/my_redel.c:
Fixed include file order to get this more portable
sql-common/client.c:
More DBUG_PRINT
sql-common/pack.c:
Added casts becasue Fortre compiler apparently compares (ulonglong) < (longlong) as signed
sql/ha_heap.cc:
Changed variable names to not cause hidden variables
sql/ha_innodb.cc:
Changed variable names to not cause hidden variables
sql/item.cc:
Changed variable names to not cause hidden variables
sql/item.h:
Changed variable names to not cause hidden variables
sql/item_cmpfunc.h:
Changed variable names to not cause hidden variables
sql/item_func.cc:
Changed variable names to not cause hidden variables
sql/item_subselect.cc:
Changed variable names to not cause hidden variables
sql/item_subselect.h:
Changed variable names to not cause hidden variables
sql/item_sum.cc:
Changed variable names to not cause hidden variables
sql/item_timefunc.cc:
Changed variable names to not cause hidden variables
sql/log.cc:
Changed variable names to not cause hidden variables
sql/protocol.cc:
Changed variable names to not cause hidden variables
sql/protocol.h:
Changed variable names to not cause hidden variables
Remove function not declared in protocol.cc
sql/protocol_cursor.cc:
Changed variable names to not cause hidden variables
sql/set_var.cc:
Added a lot of 'version_xxx' strings
Changed 'bdb_version' to 'version_bdb'
sql/sql_class.cc:
Changed variable names to not cause hidden variables
Add TMP_TABLE_PARAM::init() to allow one to initialize structure several times
sql/sql_class.h:
Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris)
sql/sql_derived.cc:
Avoid copying TMP_TABLE_PARAM (Use class version instead)
sql/sql_error.cc:
More DBUG
sql/sql_help.cc:
Fixed compiler warning
sql/sql_lex.cc:
Changed variable names to not cause hidden variables
sql/sql_list.h:
Changed variable names to not cause hidden variables
sql/sql_parse.cc:
Changed variable names to not cause hidden variables
sql/sql_select.cc:
Changed variable names to not cause hidden variables
Ensure that you don't send NULL to printf() for %s
Fixed problem with printing sub selects to debug log
sql/sql_select.h:
Changed variable names to not cause hidden variables
sql/sql_union.cc:
Changed variable names to not cause hidden variables
Don't use local copy of TMP_TABLE_PARAM (Caused core dump on Solaris)
sql/sql_update.cc:
Indentation cleanup
sql/sql_yacc.yy:
Remove warning
strings/conf_to_src.c:
Fixed include file order
Client option secure-auth deployed on all possible layers:
- mysql client command-line and config file option
- mysql_options option MYSQL_SECURE_AUTH
- mysql_real_connect will automatically take into account that option if
mysql->options.my_cnf_file/my_cnf_group is set
client/client_priv.h:
added OPT_SECURE_AUTH to enum of all my_read_default_options options.
client/mysql.cc:
added support for mysql command-line option --secure-auth
include/errmsg.h:
added return code for option --secure-auth
include/mysql.h:
added MYSQL_SECURE_AUTH to enum of all mysql_options options.
added secure_auth flag to MYSQL handle
libmysql/errmsg.c:
Error messages for option --secure-auth
sql-common/client.c:
added check for secure-auth in mysql_real_connect:
if password is provided, and secure-auth is on, then client will
refuse connecting to pre-4.1.1 server
Updated project files for windows
Made rpl_change_master.test portable
Ensure that mutex are not freed if not initilized
VC++Files/client/mysql.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/comp_err/comp_err.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/innobase/innobase.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/libmysqld/examples/test_libmysqld.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/libmysqld/libmysqld.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/myisamchk/myisamchk.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/myisamlog/myisamlog.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/myisampack/myisampack.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/mysqlmanager/MySqlManager.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/mysqlshutdown/mysqlshutdown.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/mysys/mysys.dsp:
Updated project files for windows according to suggestions from Intel
libmysql/libmysql.c:
Removed not used include files (which caused problems on Win64)
mysql-test/r/rpl_change_master.result:
Made test portable
mysql-test/t/rpl_change_master.test:
Made test portable
sql-common/client.c:
Removed not used include files (which caused problems on Win64)
sql/ha_innodb.cc:
Ensure that mutex is not freed if not initilized
sql/hostname.cc:
Ensure that mutex is not freed if not initilized
sql/slave.cc:
Don't flush cur_log (relay log) on flush_relay_log_info becasue this crashes the server if cur_log is 'hot' and the io_thread has changed log file.
Fixed compiler warnings (IRIX C compiler and VC++)
VC++Files/client/mysqlclient.dsp:
Add missing file to project
VC++Files/libmysql/libmysql.dsp:
Add missing file to project
VC++Files/myisam/myisam.dsp:
Add missing file to project
VC++Files/mysys/mysys.dsp:
Add missing file to project
heap/hp_test1.c:
Fixed wrong call to heap_rkey()
heap/hp_test2.c:
Fixed wrong call to heap_rkey()
include/hash.h:
Move not used (internal) struct to hash.c
include/my_pthread.h:
Made some structs 'const char*' to avoid warnings
include/my_sys.h:
Moved key cache structs and functions to keycache.h
include/myisam.h:
Merge key cache structures to one
include/mysql.h:
Remove STDCALL from internal functions
include/sql_common.h:
Remove STDCALL from internal functions
include/violite.h:
Fixed compiler warning
isam/_locking.c:
Merge key cache structures to one
isam/_page.c:
Merge key cache structures to one
isam/close.c:
Merge key cache structures to one
isam/extra.c:
Merge key cache structures to one
isam/isamchk.c:
Merge key cache structures to one
isam/isamdef.h:
Merge key cache structures to one
isam/isamlog.c:
Merge key cache structures to one
isam/panic.c:
Merge key cache structures to one
isam/test2.c:
Merge key cache structures to one
isam/test3.c:
Merge key cache structures to one
libmysql/client_settings.h:
Remove STDCALL from internal functions
libmysql/libmysql.c:
Remove STDCALL from internal functions
myisam/ft_boolean_search.c:
Fixed compiler warning
myisam/ft_dump.c:
Fixed compiler warnings (%qx is not portable)
myisam/ft_update.c:
Fixed compiler warnings
myisam/mi_check.c:
Merge key cache structures to one
myisam/mi_close.c:
Merge key cache structures to one
myisam/mi_delete_all.c:
Merge key cache structures to one
myisam/mi_extra.c:
Merge key cache structures to one
myisam/mi_keycache.c:
Merge key cache structures to one
myisam/mi_locking.c:
Merge key cache structures to one
myisam/mi_page.c:
Merge key cache structures to one
myisam/mi_panic.c:
Merge key cache structures to one
myisam/mi_preload.c:
Merge key cache structures to one
myisam/mi_test1.c:
Merge key cache structures to one
myisam/mi_test2.c:
Merge key cache structures to one
myisam/mi_test3.c:
Merge key cache structures to one
myisam/myisamchk.c:
Merge key cache structures to one
myisam/myisamdef.h:
Merge key cache structures to one
myisam/myisamlog.c:
Merge key cache structures to one
Removed not used option
myisam/sort.c:
Fixed compiler warnings
myisam/sp_test.c:
Fixed compiler warnings
mysql-test/r/case.result:
Updated results after fix of correct NULL detection in WHEN
mysql-test/r/date_formats.result:
Updated results after fixing date handling
mysql-test/r/symlink.result:
Updated results after adding DEFAULT CHARSET
mysql-test/t/case.test:
New test
mysql-test/t/symlink.test:
Updated error numbers
mysys/hash.c:
Made HASH_LINK struct local
mysys/mf_keycache.c:
Merge key cache structures to one
Fixed key_cache_read() and key_cache_write() to be resize-safe.
mysys/mf_keycaches.c:
Merge key cache structures to one
mysys/thr_mutex.c:
Added test if mutex is initalized
sql-common/client.c:
Remove STDCALL from internal functions
sql/derror.cc:
Added comment
sql/field.cc:
Removed not used variables
sql/ha_innodb.cc:
Fixed compiler warnings (removed not used variables)
sql/ha_myisam.cc:
Merge key cache structures to one
sql/ha_myisammrg.cc:
Removed not used variables
sql/handler.cc:
Merge key cache structures to one
sql/handler.h:
Merge key cache structures to one
sql/item.cc:
Fixed compiler warning
sql/item_cmpfunc.cc:
Remove not used variables
sql/item_func.cc:
Remove not used variables
sql/item_strfunc.cc:
Removed not used variables
sql/item_sum.cc:
Removed not used variables
Moved setting of item_thd to fix_fields()
sql/item_timefunc.cc:
Removed not used variables
sql/mysql_priv.h:
Merge key cache structures to one
sql/mysqld.cc:
Merge key cache structures to one
init_thread_environment() is not called before mysql_init_variables(). This fixes a case where a mutex was not initialized before it was used
sql/opt_sum.cc:
Remove not used variables
sql/protocol.cc:
Don't send errors after ok has been sent
sql/protocol_cursor.cc:
Remove not used variable
Simple optimization
sql/repl_failsafe.cc:
Remove not used variables
sql/set_var.cc:
Merge key cache structures to one
sql/set_var.h:
Merge key cache structures to one
sql/sql_acl.cc:
Remove not used variables
sql/sql_base.cc:
Remove not used function
sql/sql_db.cc:
Remove not used variables
sql/sql_handler.cc:
Remove not used variables
sql/sql_insert.cc:
More DBUG statements
Simple code cleanup
sql/sql_lex.cc:
Remove not used variables
sql/sql_parse.cc:
Remove not used variables
sql/sql_prepare.cc:
Remove not used variables
sql/sql_repl.cc:
Remove not used variables
sql/sql_select.cc:
Remove not used variables
sql/sql_show.cc:
Remove not used variables
sql/sql_table.cc:
Merge key cache structures to one
Removed not used variables
sql/sql_test.cc:
Merge key cache structures to one
sql/strfunc.cc:
Fixed that find_type() returns correct value for partly matched words.
(This fixed the error found by date_formats.test)
sql/time.cc:
Remove not used variables
strings/my_strtoll10.c:
Fixed compiler warnings
New multi-key-cache handling. This was needed becasue the old one didn't work reliable with MERGE tables.
ALTER TABLE table_name ... CHARACTER SET ... now changes all char/varchar/text columns to the given character set
(One must use ALTER TABLE ... DEFAULT CHARACTER SET ... to change the default character set)
Fixed that have_compress is detected properly (fixes problems with func_compress.test on platforms without zlib)
New syntax for CACHE INDEX ('keys' is optional if no index name is given and one mentions the key cache name only ones)
Removed compiler warnings
Added mysql_set_server_option() to allow clients like PHP to easaily set/reset the multi-statement flag.
BUILD/compile-pentium-valgrind-max:
Add test of isam
client/mysql.cc:
CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
include/my_base.h:
Remove HA_EXTRA_SET_KEY_CACHE
include/my_no_pthread.h:
Add defines to ignore rw-locks when running without threads
include/my_sys.h:
Added function for multi-key-caches
include/myisam.h:
Added function to handle multi-key-caches
include/mysql.h:
Added mysql_set_server_option
include/mysql_com.h:
CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
Added enum_mysql_set_option
include/mysqld_error.h:
Added error message for unknown key cache
innobase/srv/srv0start.c:
Removed warning that is confused for MySQL users
libmysql/libmysql.c:
Added mysql_set_server_option()
libmysql/libmysql.def:
Added mysql_set_server_option()
myisam/ft_nlq_search.c:
Removed compiler warning
myisam/ft_static.c:
Removed compiler warning and fixed wrong return value
myisam/mi_check.c:
Clean up multi-key-cache usage
myisam/mi_checksum.c:
Removed not used variable
myisam/mi_close.c:
keycache -> key_cache
myisam/mi_delete_all.c:
keycache -> key_cache
myisam/mi_extra.c:
keycache -> key_cache
Removed HA_EXTRA_SET_KEY_CACHE
myisam/mi_keycache.c:
Changed logic so that it's MyISAM that is responsible for assign tables to different key caches instead of the upper level
myisam/mi_locking.c:
Don't change key cache on unlock (must be done before)
myisam/mi_open.c:
Fetch key cache to use from multi_key_cache_search()
myisam/mi_page.c:
keycache -> key_cache
myisam/mi_panic.c:
keycache -> key_cache
myisam/mi_preload.c:
keycache -> key_cache
myisam/mi_test1.c:
Use KEY_CACHE_BLOCK_SIZE
myisam/mi_test2.c:
Always test resize_key_cache()
myisam/mi_test3.c:
Use KEY_CACHE_BLOCK_SIZE instead of 512
myisam/myisamchk.c:
update for multiple key caches
myisam/myisamdef.h:
Remove reg_keycache
Add unique_name_length for storing length of unique_file_name
myisam/myisamlog.c:
Change how end_key_cache() is called
mysql-test/mysql-test-run.sh:
Fixed web link
Added name of failed test to abort row.
mysql-test/r/alter_table.result:
Testing of ALTER TABLE ... [DEFAULT] CHARACTER SET
mysql-test/r/case.result:
Update result for DEFAULT CHARSET...
mysql-test/r/cast.result:
Update result for DEFAULT CHARSET...
mysql-test/r/create.result:
Update result for DEFAULT CHARSET...
mysql-test/r/ctype_collate.result:
Update result for DEFAULT CHARSET...
mysql-test/r/ctype_latin1_de.result:
Update result for DEFAULT CHARSET...
mysql-test/r/ctype_many.result:
Update result for DEFAULT CHARSET...
mysql-test/r/ctype_mb.result:
Update result for DEFAULT CHARSET...
mysql-test/r/ctype_recoding.result:
Update result for DEFAULT CHARSET...
mysql-test/r/ctype_ucs.result:
Update result for DEFAULT CHARSET...
mysql-test/r/derived.result:
Use STRAIGHT_JOIN to make join order predictable
mysql-test/r/fulltext.result:
Update result for DEFAULT CHARSET...
mysql-test/r/func_str.result:
Update result for DEFAULT CHARSET...
mysql-test/r/func_system.result:
Update result for DEFAULT CHARSET...
mysql-test/r/gis-rtree.result:
Update result for DEFAULT CHARSET...
mysql-test/r/innodb.result:
Update result for DEFAULT CHARSET...
mysql-test/r/key_cache.result:
Update test for new key cache syntax.
Added more tests
mysql-test/r/merge.result:
Update result for DEFAULT CHARSET...
mysql-test/r/preload.result:
New syntax
mysql-test/r/show_check.result:
Update result for DEFAULT CHARSET...
mysql-test/r/sql_mode.result:
Update result for DEFAULT CHARSET...
mysql-test/r/subselect.result:
Update result for DEFAULT CHARSET...
mysql-test/r/type_blob.result:
Update result for DEFAULT CHARSET...
mysql-test/r/type_enum.result:
Update result for DEFAULT CHARSET...
mysql-test/r/type_nchar.result:
Update result for DEFAULT CHARSET...
mysql-test/r/type_set.result:
Update result for DEFAULT CHARSET...
mysql-test/r/union.result:
Use STRAIGHT_JOIN to make join order predictable
mysql-test/t/alter_table.test:
Testing of ALTER TABLE ... [DEFAULT] CHARACTER SET
mysql-test/t/ctype_many.test:
Update result for DEFAULT CHARSET...
mysql-test/t/derived.test:
Use STRAIGHT_JOIN to make join order predictable
mysql-test/t/isam.test:
Use disable warnings for test loop
mysql-test/t/join.test:
Update test now when we only support 61 tables in join
mysql-test/t/key_cache.test:
Update test for new key cache syntax.
Added more tests
mysql-test/t/preload.test:
Update for new syntax
mysql-test/t/union.test:
Use STRAIGHT_JOIN to make join order predictable
mysys/Makefile.am:
Added mf_keycaches.c
mysys/hash.c:
TRUE -> 1
mysys/mf_keycache.c:
Removed compiler warnings
Striped end space
Fixed indentation and improved function comments
TRUE -> 1
Changed parameters to end_key_cache() to make it easer to use
Fixed bug when using key blocks size > 1024 bytes (First part of index file could be overwritten with wrong data)
Split function flush_key_blocks into two functions to not get mutex used twice when called from flush_all_key_blocks()
mysys/my_bitmap.c:
More debugging
Safe bitmap_free()
Fixed indentation
mysys/my_getopt.c:
Ensure that we initialize option->value, option->max_value and value from GET_ASK_ADDR
mysys/my_thr_init.c:
Remove not used mutex THR_LOCK_keycache
mysys/typelib.c:
Fixed function comments
sql-common/client.c:
CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
Fixed the multi_result flag is set also on SELECT;s
sql/ha_myisam.cc:
Fixed multiple key_cache handling
(Now done on MyISAM level)
sql/ha_myisammrg.cc:
Fixed multiple key_cache handling
(Now done on MyISAM level)
sql/handler.cc:
New multi key cache handling
sql/handler.h:
New multi key cache handling
Added support for default character set
sql/item.h:
Added function cleanup() (Needed for prepared statements / cursors)
sql/item_cmpfunc.h:
Added cleanup function
sql/item_func.cc:
Indentation cleanup
sql/mysql_priv.h:
New multi-key-cache functions
Removed LOCK_assign
sql/mysqld.cc:
New multi-key-cache handling
Fixed that variable have_compress is set correctly
sql/protocol.cc:
SELECT didn't work reliable in multi-statements
sql/set_var.cc:
Support for new key cache variables
sql/set_var.h:
Support for new key cache variables
sql/share/czech/errmsg.txt:
New error messages
sql/share/danish/errmsg.txt:
New error messages
sql/share/dutch/errmsg.txt:
New error messages
sql/share/english/errmsg.txt:
New error messages
sql/share/estonian/errmsg.txt:
New error messages
sql/share/french/errmsg.txt:
New error messages
sql/share/german/errmsg.txt:
New error messages
sql/share/greek/errmsg.txt:
New error messages
sql/share/hungarian/errmsg.txt:
New error messages
sql/share/italian/errmsg.txt:
New error messages
sql/share/japanese/errmsg.txt:
New error messages
sql/share/korean/errmsg.txt:
New error messages
sql/share/norwegian-ny/errmsg.txt:
New error messages
sql/share/norwegian/errmsg.txt:
New error messages
sql/share/polish/errmsg.txt:
New error messages
sql/share/portuguese/errmsg.txt:
New error messages
sql/share/romanian/errmsg.txt:
New error messages
sql/share/russian/errmsg.txt:
New error messages
sql/share/serbian/errmsg.txt:
New error messages
sql/share/slovak/errmsg.txt:
New error messages
sql/share/spanish/errmsg.txt:
New error messages
sql/share/swedish/errmsg.txt:
New error messages
sql/share/ukrainian/errmsg.txt:
New error messages
sql/sql_base.cc:
Removed all key_cache handling (this is now done on MyISAM level)
Change table_charset -> default_table_charset
sql/sql_db.cc:
table_charset -> default_table_charset
sql/sql_delete.cc:
table_charset -> default_table_charset
sql/sql_lex.cc:
CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
sql/sql_lex.h:
New option to store a name and length
sql/sql_parse.cc:
Support for mysql_set_server_option()
Reset "default" keycache status variables in 'FLUSH STATUS' (Need to be improved later)
sql/sql_show.cc:
Add DEFAULT before CHARSET (for table character sets)
Fetch key cache variables from 'sql_key_cache'
sql/sql_table.cc:
table_charset -> default_table_charset
New multi-key-cache handling
sql/sql_test.cc:
Write information from all key caches
sql/sql_yacc.yy:
Changed syntax for CACHE INDEX ...
Force user to use DEFAULT before database/table level character sets
sql/structs.h:
Added SHOW_KEY_CACHE_LONG (to get values from sql_key_cache)
sql/table.cc:
table_charset -> default_table_charset
sql/table.h:
New key cache handling (this is now done in mysys/mf_keycaches.c)
sql/unireg.h:
A
After merge fixes.
Now code compiles, but there is still some valgrind warnings that needs to be fixed
myisam/mi_rnext_same.c:
handle case where rtree_find_next() returns an error
(assume this means that there was no more keys)
myisam/rt_index.c:
Code cleanup
mysql-test/r/func_crypt.result:
Update results
mysql-test/r/func_group.result:
Update results
mysql-test/r/null_key.result:
Update results
mysql-test/r/order_by.result:
Update results
mysql-test/r/query_cache.result:
Update results
mysql-test/r/range.result:
Update results
mysql-test/r/rpl_trunc_binlog.result:
Update results
mysql-test/t/fulltext.test:
Fix error numbers
mysql-test/t/func_crypt.test:
Fixed test for 4.1
mysql-test/t/range.test:
Moved tests to be in sync with 4.0
mysys/test_charset.c:
Removed acccess to non existing functions
sql-common/client.c:
Merge fix
sql/item_strfunc.cc:
Simple code cleanup
Don't call ->c_ptr() when you don't need a 0 terminated string
(Causes warnings from valgrind)
sql/log_event.cc:
After merge fixes
sql/protocol.cc:
Change default catalog name to 'def'
sql/spatial.cc:
Code cleanup
sql/sql_class.cc:
After merge fixes
sql/time.cc:
Ensure that time object is cleared on error
sql/unireg.cc:
Removed warning reported by valgrind
After merge fixes
include/my_base.h:
Fix comment syntax
libmysql/client_settings.h:
Portability fixes for windows
libmysql/libmysql.c:
Portability fixes for windows
libmysql/libmysql.def:
Portability fixes for windows
mysql-test/r/variables.result:
Fix result after merge
sql-common/client.c:
Portability fixes for windows
sql/ha_berkeley.cc:
Use defines instead of constants
sql/item_strfunc.cc:
Portability fixes for windows
sql/mysql_priv.h:
Use defines instead of defines
sql/mysqld.cc:
After merge fix
sql/opt_range.h:
After merge fix
sql/set_var.h:
Portability fixes for windows
sql/sql_class.cc:
Defines instead of constants
sql/sql_help.cc:
after merge fixes
More OOM error checking
sql/sql_prepare.cc:
After merge fixes
sql/sql_table.cc:
Portability fixes for windows
mysql-test/std_data/trunc_binlog.000001:
Rename: mysql-test/std_data/trunc_binlog.001 -> mysql-test/std_data/trunc_binlog.000001
client/mysqltest.c:
Fixed merge problem
mysql-test/mysql-test-run.sh:
Fixed merge problem
mysql-test/r/distinct.result:
Fix after merge
mysql-test/r/drop_temp_table.result:
Fix after merge
mysql-test/r/join_outer.result:
Fix after merge
mysql-test/r/mysqldump.result:
Fix after merge
mysql-test/r/null_key.result:
Fix after merge
mysql-test/r/order_by.result:
Fix after merge
mysql-test/r/rpl_alter.result:
Fix after merge
mysql-test/r/rpl_loaddata.result:
Fix after merge
mysql-test/r/rpl_loaddata_rule_m.result:
Fix after merge
mysql-test/r/rpl_trunc_binlog.result:
Fix after merge
mysql-test/r/select_safe.result:
Fix after merge
mysql-test/t/insert.test:
Fix after merge
mysql-test/t/mysqlbinlog.test:
Fix after merge
mysql-test/t/rpl000009.test:
Fix after merge
mysql-test/t/rpl_alter.test:
Fix after merge
mysql-test/t/rpl_loaddata_rule_m.test:
Fix after merge
mysql-test/t/rpl_trunc_binlog.test:
Fix after merge
sql-common/client.c:
Fix after merge
sql/item_subselect.cc:
Fix after merge
sql/repl_failsafe.cc:
Fix after merge
sql/slave.cc:
Fix after merge
sql/sql_insert.cc:
Fix after merge
include/mysql.h:
read_statistic added to virtual methods
libmysql/client_settings.h:
interface for cli_read_statistic added
libmysql/libmysql.c:
read_statistic and mysql_stat code changes
libmysqld/lib_sql.cc:
emb_read_statistic implemented
server_version initialized
sql-common/client.c:
cli_read_statistic added to the table
sql/sql_parse.cc:
storage of result of COM_STATISTIC changed in embedded library
embedded library
some fixes - cleanup procedure changed for embedded library - deletion of
embedded mysql->thd
include/mysql.h:
free_embedded_thd added to the list of virtual methods
libmysqld/embedded_priv.h:
function deleted
libmysqld/lib_sql.cc:
function moved upper in file
sql-common/client.c:
call of free_embedded_thd added
include/mysql.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_show.cc:
Auto merged
libmysqld/lib_sql.cc:
SCCS merged
libmysqld/libmysqld.c:
SCCS merged
sql/sql_parse.cc:
SCCS merged
WL#604 Privileges in embedded library
code added to check privileges in embedded library
NO_EMBEDDED_ACCESS_CHECKS macros inserted in code so we can exclude
access-checking parts. Actually we now can exclude these parts from
standalone server as well. Do we need it?
Access checks are disabled in embedded server by default. One should
edit libmysqld/Makefile manually to get this working.
We definitely need the separate configure for embedded server
include/mysql.h:
options added so user of embedded library can set the client host
it will work as if the usual client connects from this host
libmysqld/Makefile.am:
Usually one doesn't need access checking in embedded library
we definitely should separate configure for embedded server
libmysqld/lib_sql.cc:
necessary code for getting passwords and access checks added
libmysqld/libmysqld.c:
code #ifdef-ed - we use this only when we check permissions
sql-common/client.c:
one mysql_close left now
sql/item_strfunc.cc:
#ifndef-s added
sql/log.cc:
#ifndef-s added
sql/mysql_priv.h:
#ifndef-s added
also i removed default parameters from check_access and check_table_access
definitions to set definitions working
sql/mysqld.cc:
#ifndef-s added
localhost renamed to my_localhost
sql/repl_failsafe.cc:
parameters added
sql/set_var.cc:
#ifndef-s added
sql/sql_acl.cc:
#ifndef-s added
sql/sql_acl.h:
#ifndef-s added
sql/sql_base.cc:
#ifndef-s added
sql/sql_cache.cc:
#ifndef-s added
sql/sql_class.cc:
#ifndef-s added
sql/sql_db.cc:
#ifndef-s added
sql/sql_derived.cc:
#ifndef-s added
sql/sql_insert.cc:
#ifndef-s added
sql/sql_parse.cc:
a horde of #ifndef-s added
sql/sql_prepare.cc:
#ifndef-s added
sql/sql_repl.cc:
parameters added
sql/sql_show.cc:
#ifndef-s added
sql/sql_update.cc:
#ifndef-s added
prepared statements in embedded library.
some fixes after testing
include/mysql.h:
virtual method added
libmysql/client_settings.h:
declaration added
libmysql/libmysql.c:
implementation added
mysql_fetch changed to work in both libraries
libmysqld/lib_sql.cc:
implementation added
sql-common/client.c:
added items in methods table
sql/client_settings.h:
decided to remove such defines - i placed single #ifdef in client.c
embedded library
some dirty places cleaned:
uint removed from mysql.h as Miguel suggested
empty_string renamed as my_empty_string to get rid of name's intersections
using embedded library
include/mysql.h:
uint -> unsigned int
include/mysql_com.h:
this caused warnings when not in expression
libmysqld/lib_sql.cc:
uint -> unsigned int
sql-common/client.c:
uint -> unsigned int
sql/item_strfunc.cc:
empty_string -> my_empty_string
sql/mysql_priv.h:
empty_string -> my_empty_string
sql/set_var.cc:
empty_string -> my_empty_string
sql/sql_class.cc:
empty_string -> my_empty_string
sql/sql_prepare.cc:
net_flush ifdef-ed
embedded library
I decided to get rid of #define mysql_some_function in mysql.h
It puzzles users and makes problems with dynamic libraries
Finally, there are only two functions left, that are covered with
the #define-s and it won't hurt performance at all
client/mysqltest.c:
that'll be faster
include/mysql.h:
#defines changed to functions
libmysql/libmysql.c:
that'll be faster that calls of wrapper functions
libmysqld/libmysqld.c:
skip wrapper function
sql-common/client.c:
skip wrapper function
prepared statements in embedded library
include/mysql.h:
Another 'virtual' method
libmysql/client_settings.h:
client implementation declared
libmysql/libmysql.c:
mysql_execute edited to work with embedded implementation
libmysqld/lib_sql.cc:
one error fixed (we do need parameter's buffer in embedded library)
embedded recordset transfer methods implementations added
sql-common/client.c:
method added to the table
sql/client_settings.h:
no prepared statements in mimiclient
sql/mysql_priv.h:
these functions became global
sql/protocol.cc:
the stub added
sql/protocol.h:
had to change Protocol's interface for embedded library
sql/sql_class.h:
i changed this only for embedded case, but i think it's better to do the
same for remote server also
sql/sql_prepare.cc:
parts of code #ifndef-ed
prepared statements in embedded library
include/mysql.h:
stmt_execute 'virtual' method added
include/sql_common.h:
two functions became global
libmysql/client_settings.h:
declaration for cli_stmt_execute
libmysql/libmysql.c:
some functions changed to be usable from embedded library
libmysqld/lib_sql.cc:
code for embedded stmt_execute added
sql-common/client.c:
cli_stmt_execute added to the methods table
sql/client_settings.h:
no need for prepared statements in miniclient
Prepared statements in embedded server
Several changes in library code with two goals:
to make mysql_prepare_stmt working in embedded server
to get rid of #define mysql_interface_func mysql->methods->interface_func
in user's interface
include/mysql.h:
modifications of interface
two goals: to implement prepared statements and to get rid
of #define mysql_proc (mysql->smth) in interface
include/sql_common.h:
read_rows function got 'virtual'
libmysql/client_settings.h:
interface of some functions declared in client.c moved here
libmysql/libmysql.c:
several functions changed with declared goals
libmysqld/embedded_priv.h:
libmysqld.c <--> lib_sql.cc interface moved here
libmysqld/lib_sql.cc:
all embedded 'virtual' functions moved here so they can be static
libmysqld/libmysqld.c:
embedded 'virtual' function was moved out of here
sql-common/client.c:
several changes with the declared goal
sql/sql_class.h:
place to store statement data added to THD
sql/sql_prepare.cc:
storing of prepare_statement result for embedded server added
#977 Prepared statements in embedded library
include/mysql.h:
read_prepare_result function moved to 'virtual'
libmysql/client_settings.h:
declare proper function for libmysql
libmysql/libmysql.c:
some code moved from implementation of read_prepare_result to
mysql_prepare_result to make creating separate (remote and embedded-server)
versions easier
libmysqld/libmysqld.c:
emb_read_prepare_result prototype
sql-common/client.c:
cli_read_prepare_result added to the client_methods
sql/client_settings.h:
we don't need prepared statements in mini_client
sql/sql_prepare.cc:
embedded send_prep_stmt added
embedded&client library
some fixes: zero at the end of the data added
mysql_list_fields became 'virtual'
include/mysql.h:
mysql_list_fields became 'virtual'
libmysql/client_settings.h:
in client library we need proper implementation for list_fields
libmysql/libmysql.c:
implementation for remote server
libmysqld/lib_sql.cc:
we still need zero at the end of the data in client (see mysql.cc).
I feel it should be changed
libmysqld/libmysqld.c:
implementation for embedded server
sql-common/client.c:
cli_list_fields member set for client library
sql/client_settings.h:
we don't need mysql_list_fields in mini_client code
Fixed some mess with STDCALL in function's declarations
include/mysql.h:
That definitions are more correct
libmysqld/lib_sql.cc:
should be declared as STDCALL
libmysqld/libmysqld.c:
should be declared as STDCALL
sql-common/client.c:
should be declared as STDCALL
Use server character set if --default-character-set is not used
Added convert_string() for more efficient alloc+character-set convert of strings
BitKeeper/deleted/.del-convert.result~a3b56e1db6f498e9:
Delete: mysql-test/r/convert.result
BitKeeper/deleted/.del-convert.test~f4ceb743194dfe72:
Delete: mysql-test/t/convert.test
BitKeeper/deleted/.del-make_win_src_distribution.old~5c9ebdc4a852b43b:
Delete: scripts/make_win_src_distribution.old
client/mysql.cc:
Use server character set if --default-character-set is not used
client/mysqltest.c:
Code cleanup (merge identical code)
More debug messages
heap/hp_create.c:
After merge fix
include/m_ctype.h:
After merge fix
include/my_global.h:
Remove size_str (we already have size_s)
include/mysql_com.h:
After merge fix
libmysql/libmysql.c:
After merge fix
libmysqld/Makefile.am:
After merge fix
mysql-test/r/auto_increment.result:
After merge fix
mysql-test/r/create.result:
After merge fix
mysql-test/r/ctype_latin1_de.result:
After merge fix
mysql-test/r/distinct.result:
After merge fix
mysql-test/r/drop.result:
After merge fix
mysql-test/r/fulltext.result:
After merge fix
mysql-test/r/func_gconcat.result:
After merge fix
mysql-test/r/func_str.result:
After merge fix
mysql-test/r/func_test.result:
After merge fix
mysql-test/r/grant.result:
After merge fix
mysql-test/r/group_by.result:
After merge fix
mysql-test/r/handler.result:
After merge fix
mysql-test/r/heap.result:
After merge fix
mysql-test/r/heap_btree.result:
After merge fix
mysql-test/r/heap_hash.result:
After merge fix
mysql-test/r/innodb.result:
After merge fix
mysql-test/r/insert.result:
After merge fix
mysql-test/r/insert_select.result:
After merge fix
mysql-test/r/join_outer.result:
After merge fix
mysql-test/r/key.result:
After merge fix
mysql-test/r/key_cache.result:
After merge fix
mysql-test/r/loaddata.result:
After merge fix
mysql-test/r/myisam.result:
After merge fix
mysql-test/r/null.result:
After merge fix
mysql-test/r/null_key.result:
After merge fix
mysql-test/r/order_by.result:
After merge fix
mysql-test/r/rpl_do_grant.result:
After merge fix
mysql-test/r/rpl_error_ignored_table.result:
After merge fix
mysql-test/r/rpl_ignore_grant.result:
After merge fix
mysql-test/r/rpl_loaddata.result:
After merge fix
mysql-test/r/rpl_log.result:
After merge fix
mysql-test/r/rpl_log_pos.result:
After merge fix
mysql-test/r/rpl_max_relay_size.result:
After merge fix
mysql-test/r/rpl_replicate_do.result:
After merge fix
mysql-test/r/rpl_reset_slave.result:
After merge fix
mysql-test/r/rpl_rotate_logs.result:
After merge fix
mysql-test/r/rpl_user_variables.result:
After merge fix
mysql-test/r/select.result:
After merge fix
mysql-test/r/select_safe.result:
After merge fix
mysql-test/r/subselect.result:
After merge fix
mysql-test/r/type_blob.result:
After merge fix
mysql-test/r/type_decimal.result:
After merge fix
mysql-test/r/type_float.result:
After merge fix
mysql-test/r/type_ranges.result:
After merge fix
mysql-test/r/type_time.result:
After merge fix
mysql-test/r/type_uint.result:
After merge fix
mysql-test/r/union.result:
After merge fix
mysql-test/r/warnings.result:
After merge fix
mysql-test/t/auto_increment.test:
After merge fix
mysql-test/t/case.test:
After merge fix
mysql-test/t/ctype_collate.test:
After merge fix
mysql-test/t/ctype_latin1_de.test:
After merge fix
mysql-test/t/drop.test:
After merge fix
mysql-test/t/func_in.test:
After merge fix
mysql-test/t/func_set.test:
After merge fix
mysql-test/t/func_str.test:
After merge fix
mysql-test/t/func_test.test:
After merge fix
mysql-test/t/grant.test:
After merge fix
mysql-test/t/group_by.test:
After merge fix
mysql-test/t/handler.test:
After merge fix
mysql-test/t/heap.test:
After merge fix
mysql-test/t/heap_btree.test:
After merge fix
mysql-test/t/heap_hash.test:
After merge fix
mysql-test/t/innodb.test:
After merge fix
mysql-test/t/insert_select.test:
After merge fix
mysql-test/t/key.test:
After merge fix
mysql-test/t/key_cache.test:
After merge fix
mysql-test/t/lock_tables_lost_commit-master.opt:
After merge fix
mysql-test/t/lock_tables_lost_commit.test:
After merge fix
mysql-test/t/myisam.test:
After merge fix
mysql-test/t/row.test:
After merge fix
mysql-test/t/subselect.test:
After merge fix
mysql-test/t/type_decimal.test:
After merge fix
mysql-test/t/type_ranges.test:
After merge fix
mysql-test/t/type_uint.test:
After merge fix
mysql-test/t/variables.test:
After merge fix
mysql-test/t/warnings.test:
After merge fix
scripts/make_win_src_distribution.sh:
after merge fixes
sql-common/client.c:
After merge fix
Change my_connect() to use poll()
If character set is not given, use servers character set.
sql/field.cc:
After merge fix
Don't give warnings when storing data in fields in optimizer.
sql/ha_myisammrg.h:
After merge fix
sql/log.cc:
After merge fix
sql/log_event.cc:
After merge fix
sql/mysqld.cc:
After merge fix
sql/opt_range.cc:
After merge fix
sql/set_var.cc:
Code cleanup
Fixed wrong usage of base_names (like medium.key_buffer) that caused core dumps
sql/set_var.h:
Fixed wrong usage of base_names (like medium.key_buffer) that caused core dumps
sql/slave.cc:
After merge fix
sql/sql_acl.cc:
After merge fix
Code cleanup
sql/sql_class.cc:
Added convert_string() for more efficient alloc+character-set convert of strings
Add cached flags to avoid calling mysql_charset_same() during parsing.
sql/sql_class.h:
Added convert_string() for more efficient alloc+character-set convert of strings
Add cached flags to avoid calling mysql_charset_same() during parsing.
sql/sql_handler.cc:
After merge fix
sql/sql_lex.h:
After merge fix
sql/sql_parse.cc:
Optimize and fix memory reference errors reported by valgrind
sql/sql_repl.cc:
After merge fix
sql/sql_yacc.yy:
After merge fix
Avoid calling mysql_charset_same() when parsing identifiers
strings/ctype-latin1.c:
Port latin_de conversion code from 4.0
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
include/mysql.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysql/libmysql.c:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_create.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/slave.h:
Auto merged
sql/sql_acl.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_parse.cc:
merge commit
convert of database to utf8 in case of cahnge_user added
error handling fixed
fetch_lengths made to work differently in embedded and client cases
include/mysql.h:
removed 'embedded' error containers - they're unnecessary now
added declarations for fetch_lengths to be 'virtual'
include/sql_common.h:
fetch_lengths declaration removed
libmysql/libmysql.c:
implementations for fetch_lengths to be 'virtual' added
libmysqld/lib_sql.cc:
error informations now is moved from thd->net to mysql-net
libmysqld/libmysqld.c:
error data is in mysql->net now
sql-common/client.c:
we have to return old fetch_lengths implementation for 'client' case
sql/protocol.cc:
handling of sqlstate for embedded library added
Now special 1-byte packet is used for request of old password
Fixed bug with --skip-grant-tables and acl_getroot
include/mysql.h:
removed scramble_323 member as now scramble_323 function does not count
on trailing zero for scramble
include/mysql_com.h:
updated declarations
libmysql/libmysql.c:
now server sends special 1-byte packet instead of old scramble
to re-request password.
mysql->scramble_323 replaced with mysql->scramble
sql-common/client.c:
now server sends special 1-byte packet instead of old scramble
to re-request password.
mysql->scramble_323 replaces with mysql->scramble
sql/password.c:
comments beautified
hash_password now accepts password length
sql/protocol.cc:
added send_old_password_request function
sql/protocol.h:
added send_old_password_request function
sql/sql_acl.cc:
style fixes, bug with --skip-grant-tables and acl_getroot
fixed
sql/sql_class.h:
thd->scramble_323 removed as now
old functions accept not null-terminated scrambles
sql/sql_crypt.cc:
fixed with new hash_password proto
sql/sql_parse.cc:
style fixes
few comments added
Including client code into embedded library
fixes
libmysql/libmysql.c:
We should call this way
libmysqld/lib_sql.cc:
Necessary initializations added
libmysqld/libmysqld.c:
mysql_close can't be "virtual"
mysqltest.c calls mysql_close before mysql_connect
sql-common/client.c:
We have to redo fetch_lengths to count lengths looking at '\0' in string.
It works slower, but is correct for both client and embedded libraries
--old-passwords
Support for option --old-protocol was removed.
Some test performed.
Tests for SSL and replication are pending.
More strict following to specification for --old-passwords
is in the TODO.
include/mysql_com.h:
support for 3.20 passwords removed from
scramble_323
include/mysqld_error.h:
added error code for --secure-auth mode
libmysql/libmysql.c:
removed support for 3.20 password and protocol
version 9
mysql-test/r/connect.result:
added check for new syntax of
set password
mysql-test/r/func_crypt.result:
tests for two-argument of password() were removed.
Instead added tests for cooperation of password() and
old_passwords session/global variable, passwords() and spaces
in argument string
mysql-test/t/connect.test:
added check for new syntax of
set password
mysql-test/t/func_crypt.test:
tests for two-argument of password() were removed.
Instead added tests for cooperation of password() and
old_passwords session/global variable, passwords() and spaces
in argument string
sql-common/client.c:
removed support for 3.20 servers and
protocol version 9
sql/item_strfunc.h:
fixed comment
sql/mysql_priv.h:
added declarartion for option opt_secure_auth
sql/mysqld.cc:
added option opt_secure_auth
option old-password placed according to
sort order
sql/password.c:
removed support for 3.20 clients and
old scrambles
sql/set_var.cc:
added system variable 'secure_auth'
added system/thread variable 'old_passwords'
sql/set_var.h:
sys_old_passwords needs to be exported
because sys_old_passwords.after_update is used
in sql_acl.cc
sql/sql_acl.cc:
support for 3.20 passwords removed
now acl_init honors options works properly with
options/variables --secure-auth and --old-passwords
sql/sql_acl.h:
support for 3.20 clients removed
sql/sql_class.h:
added system/thread variable old_passwords
sql/sql_parse.cc:
support for 3.20 clients removed
now check_user takes into account option
secure_auth
sql/sql_yacc.yy:
global variable use_old_passwords
replaced with thread-specific variable
old_passwords
sql/share/czech/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/danish/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/dutch/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/english/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/estonian/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/french/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/german/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/greek/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/hungarian/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/italian/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/japanese/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/korean/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/norwegian-ny/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/norwegian/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/polish/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/portuguese/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/romanian/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/russian/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/serbian/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/slovak/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/spanish/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/swedish/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
sql/share/ukrainian/errmsg.txt:
error message for --secure-auth added
(as suggested by Paul)
OLD_PASSWORD made a keyword to allow set password=old_password('abc') constructions.
BitKeeper/etc/ignore:
Added BitKeeper/post-commit BitKeeper/post-commit-manual build_tags.sh tests/connect_test BUILD/compile-pentium-maintainer to the ignore list
include/mysql_com.h:
scramble return type changed to void as now it's not used
libmysql/libmysql.c:
fixed bug with with failed authentification when scramble contained zero byte
sql-common/client.c:
applied patch from Lycos team
fixed bug with scramble containing zero byte
sql/item_create.cc:
removed create_func_old_password, create_func_password as they are not used any more
sql/item_create.h:
removed create_func_old_password, create_func_password as they are not used any more
sql/item_strfunc.cc:
Added alloc() function to Item_func_password, Item_func_old_password, which is used in sql_yacc.yy
sql/item_strfunc.h:
Added alloc() function to Item_func_password, Item_func_old_password, which is used in sql_yacc.yy
sql/lex.h:
OLD_PASSWORD now is keyword, to allow statements like
set password=old_password('abc')
sql/password.c:
fixed scramble return value
trailing zero now is not written
sql/sql_acl.cc:
incorporated patch from Lycos team
41 replaced with constant
acl_getroot rewritten to support ER_AUTH_... error
sql/sql_parse.cc:
authenticate merged with check_user
check_user return values reversed, support for ER_AUTH in check_user.added
sql/sql_yacc.yy:
OLD_PASSWORD now is keyword, to allow statements like
set password=old_password('abc')
BitKeeper/etc/logging_ok:
auto-union
client/mysqltest.c:
Auto merged
sql-common/client.c:
Auto merged
sql/protocol.cc:
Auto merged
sql/sql_client.cc:
Auto merged
include/mysql.h:
Merging (prolly it's the mistake)
libmysqld/libmysqld.c:
This code seems to be unnecessary
Including client code into embedded library
Code trimming (fixes of comments etc)
include/mysql_com.h:
Comment fixed
include/mysql_embed.h:
comment fixed
include/violite.h:
comment fixed
libmysql/libmysql.c:
#undef should work anyway
libmysqld/libmysqld.c:
comment fixed
sql-common/client.c:
#undef should work anyway
sql/net_serv.cc:
#undef should work anyway
For now following tasks have been done:
- PASSWORD() function was rewritten. PASSWORD() now returns SHA1
hash_stage2; for new passwords user.password contains '*'hash_stage2; sql_yacc.yy also fixed;
- password.c: new functions were implemented, old rolled back to 4.0 state
- server code was rewritten to use new authorization algorithm (check_user(), change
user, and other stuff in sql/sql_parse.cc)
- client code was rewritten to use new authorization algorithm
(mysql_real_connect, myslq_authenticate in sql-common/client.c)
- now server barks on 45-byte-length 4.1.0 passwords and refuses 4.1.0-style
authentification. Users with 4.1.0 passwords are blocked (sql/sql_acl.cc)
- mysqladmin.c was fixed to work correctly with new passwords
Tests for 4.0-4.1.1, 4.1.1-4.1.1 (with or without db/password) logons was performed;
mysqladmin also was tested. Additional check are nevertheless necessary.
BitKeeper/etc/ignore:
Added start_mysqld.sh mysys/main.cc to the ignore list
client/mysqladmin.c:
fixed with new password api
include/mysql.h:
So as scramble_323 accepts only null-terminated message, two scramble buffs are necessary.
gotta be fixed
include/mysql_com.h:
new constants and password.c api changes
libmysql/libmysql.c:
mysql_change_user rewritten to work with new password api
scripts/mysql_create_system_tables.sh:
fixed 'Password' column length to 41
scripts/mysql_fix_privilege_tables.sql:
fixed 'Password' column length to 41
sql-common/client.c:
mysql_real_connect rewritten to support new handshake procedure
sql/item_strfunc.cc:
Item_func_password and Item_func_old_password rewritten with new password api
sql/item_strfunc.h:
bit commented, numbers replaced with #defined constants
sql/mysql_priv.h:
removed unnecessary declaration as now all constants defined is in mysql_com.h
sql/mysqld.cc:
scramble initialization moved to sql_parce.cc:check_connection
sql/password.c:
All 4.1 functions were rolled back to 4.0 with attempt to save all possible 4.0-4.1 changes.
Names for 4.0 functions were suffixed with '_323'
Functions for new handshake were added.
sql/slave.cc:
Fixed to new constant; Bug #766 remains to be fixed
sql/slave.h:
fixed to new constant; Buf #766 remains to be fixed
sql/sql_acl.cc:
rewritten to support new passwords (41 byte-long) and password api
sql/sql_acl.h:
ditto
sql/sql_class.cc:
initialization for new members added
sql/sql_class.h:
same thing as in struct mysql - scramble is used for new family of functions, scramble_323 - for old
sql/sql_parse.cc:
check_connections was renamed to check_connection as this name reflects better what this function does
authorization part of check_connection was rewritten
check_user was rewritten with new password and acl api
new function 'authenticate', which optionally re-request scramble from client was added
fixed some typos
COM_CHANGE_USER piece of dipsatch_command() was rewritten
sql/sql_repl.h:
HASH_PASSWORD_LENGTH replaced with SCRAMBLED_PASSWORD_CHAR_LENGTH
bug #766 remains
sql/sql_yacc.yy:
Two-argument form of PASSWORD() was removed
PASSWORD() function was fixed with new password api.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Updated VC++ files
VC++Files/client/mysql.dsp:
Update of VC++ files
VC++Files/client/mysqlclient.dsp:
Update of VC++ files
VC++Files/libmysqld/examples/test_libmysqld.dsp:
Update of VC++ files
VC++Files/libmysqld/libmysqld.def:
Update of VC++ files
VC++Files/libmysqld/libmysqld.dsp:
Update of VC++ files
VC++Files/myisam/myisam.dsp:
Update of VC++ files
VC++Files/mysql.dsw:
Update of VC++ files
VC++Files/sql/mysqld.dsp:
Update of VC++ files
include/mysql.h:
Add missing client functions to embedded server
libmysql/libmysql.def:
sort functions to enable comparison with libmysqld.def
libmysqld/libmysqld.c:
Add missing client functions to embedded server
libmysqld/libmysqld.def:
sort functions to enable comparison with libmysql.def
Added missing functions
myisam/mi_preload.c:
Fixed compiler warning.
Small code cleanup
scripts/make_win_src_distribution.sh:
Fixed typo
Don't run zip in verbose mode
scripts/mysql_create_system_tables.sh:
Change so that localhost has full access (to make this like 4.0)
scripts/mysql_fix_privilege_tables.sh:
Allow on to run this from the source distribution
sql-common/client.c:
Fixed memory leak
sql/item_sum.cc:
Removed compiler warning
sql/slave.cc:
Cleanup
sql/sql_client.cc:
Portability fix
sql/sql_help.cc:
Fixed memory leak
client code added to the embedded library
some fixes
include/mysql.h:
test code removed
simple_command is the macrodefinition now
libmysqld/embedded_priv.h:
this declaration obsolete
libmysqld/lib_sql.cc:
errors stored in the same place for embedded and client libraries now
sql-common/client.c:
we don't need that ugly wrapper
including client code into embedded server
code to guess what library to use added
net_field_length moved to pack.c
include/mysql.h:
typedefinitions moved for suitability
mysql_option.methods_to_use added
include/mysql_com.h:
net_store_length declaration
libmysql/libmysql.c:
net_store_length moved to sql-common/pack.c
libmysqld/libmysqld.c:
added code to guess whether to use remote or embedded connection
sql-common/client.c:
options checking added
sql-common/pack.c:
net_store_length implementation moved here
sql/protocol.cc:
net_store_length moved to sql-common/pack.c
Some intersections with Monty encountered
libmysql/client_settings.h:
We don't need the trick with macroses since Monty moved cli_mysql_use_result
into sql-common/client.c
libmysql/libmysql.c:
mysql_use_result moved in sql-common/client.c
sql-common/client.c:
code simplified with the moving of mysql_use_result here
sql/client_settings.h:
we don't need this #define anymore
sql/sql_client.cc:
this function was moved to sql-common/pack.c by me
i think the pack.c is the better place for it
merged conflicts about my previous commit
it seems there are some errors left - gonna check...
BitKeeper/etc/logging_ok:
auto-union
client/mysqltest.c:
Auto merged
include/mysql_com.h:
Auto merged
include/sql_common.h:
Auto merged
include/mysql.h:
conflicts merged
libmysql/client_settings.h:
conflicts merged
libmysql/libmysql.c:
conflicts merged
sql-common/client.c:
conflicts merged
sql/client_settings.h:
conflicts merged
sql/protocol.cc:
conflict merged
client capabilities included into libmysqld
some API methods became "virtual"
lots of duplicated code removed
IMHO all the above made library's code way more pleasant to look at, didn't it?
BitKeeper/deleted/.del-lib_vio.c~d779731a1e391220:
Delete: libmysqld/lib_vio.c
BitKeeper/etc/ignore:
Added libmysqld/client.c libmysqld/client_settings.h libmysqld/libmysql.c libmysqld/pack.c to the ignore list
client/mysqltest.c:
we don't need this now
include/mysql.h:
MYSQL and related structures unified
four methods made "virtual"
relative wrappers added
include/mysql_com.h:
todo added
include/mysql_embed.h:
now we include implementations of Vio structure in libmysqld
include/sql_common.h:
declarations changed
include/violite.h:
implementation of Vio included in libmysqld
libmysql/client_settings.h:
changes to make this working with both client and embedded
libmysql/libmysql.c:
global variables and my_net_local_init moved to sql-common/pack.c
libmysqld/Makefile.am:
libmysql.c, client.c, pack.c symlinked and added to sources
lib_vio.c removed
libmysqld/examples/Makefile.am:
now we need CLIENT_LIBS here
libmysqld/lib_sql.cc:
code duplications removed
emb_advanced_command was made from simple_command
libmysqld/libmysqld.c:
duplicated code removed
sql-common/client.c:
code trimmed with new model of calling
sql-common/pack.c:
some code moved here from libmysql.c and protocol.cc
sql/client_settings.h:
we don't need mysql_use_result for mini_client
sql/net_serv.cc:
file included in embedded server
sql/protocol.cc:
code moved to sql-common/pack.c
Compiler can signal error when init_sigpipe_variables expands as empty place.
Had to remove all semicolons after init_sigpipe_variables
libmysql/client_settings.h:
semicolon added
sql-common/client.c:
we don't need semicolons after init_sigpipe_variables
Fixed wrong value for SQLSTATE_LENGTH
Added CLIENT_REMEMBER_OPTIONS to mysql_real_connect()
Changed mysql_port and mysql_unix_port to mysqld_xxxx
client/mysql.cc:
Removed valgrind & compiler warnings
client/sql_string.h:
Fix to remove valgrind warnings
include/mysql.h:
Added read_timeout and write_timeout to mysql options struct.
This is to be used for slave when connection to master.
code cleanup
include/mysql_com.h:
Fixed wrong value for SQLSTATE_LENGTH
Added CLIENT_REMEMBER_OPTIONS
include/sql_common.h:
Cleanup after split of libmysql.c to client.c and libmysql.c
include/sql_state.h:
Removed default states
libmysql/client_settings.h:
Cleanup after split of libmysql.c to client.c and libmysql.c
libmysql/libmysql.c:
Cleanup after split of libmysql.c to client.c and libmysql.c
mysql-test/r/type_blob.result:
Update results after someone updated error messages without running tests
mysys/charset.c:
More debug information
mysys/errors.c:
Fixed wrong error message
sql-common/client.c:
Cleanup after split of libmysql.c to client.c and libmysql.c
sql/Makefile.am:
Added sql_client.cc
sql/client_settings.h:
Cleanup after split of libmysql.c to client.c and libmysql.c
sql/log.cc:
Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/mysql_priv.h:
Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/mysqld.cc:
Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/protocol.cc:
Fix for SQLSTATE_LENGTH
Moved function to sql_client.c
sql/repl_failsafe.cc:
Cleanup after split of libmysql.c to client.c and libmysql.c
sql/set_var.cc:
Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/slave.cc:
Cleanup after split of libmysql.c to client.c and libmysql.c
VC++Files/libmysqld/libmysqld.dsp:
Remove the old files from Embedded library
sql/slave.h:
Fix for client.c - slave_net_timeout
sql-common/client.c:
Fix warning
NOTE: Still the build fails to compile core server on Windows due to slave_net_timeout linker error from client.obj
and make sure to have the next changeset, which fixes this.
sql/item_geofunc.cc:
Fix warnings
sql/sql_help.cc:
Fix compiler errors
sql-common/client.c:
Delete and move redefination of shared memory stuff
libmysql/libmysql.c:
Fix for redefination stuff from client.c
VC++Files/client/mysqlclient.dsp:
add client.c
VC++Files/libmysql/libmysql.dsp:
add client.c
VC++Files/sql/mysqld.dsp:
add client.c and remove old convert.cpp and mini_client.c
splittiln common client's parts
include/sql_common.h:
superfluous #ifdef-s removed
libmysql/client_settings.h:
superfluous #ifdef-s removed
libmysql/libmysql.c:
some litter removed
libmysqld/lib_sql.cc:
here we had wrong parameters
mysys/default.c:
this is not needed anymore - calling code fixed
sql-common/client.c:
code trimmed and simplified
sql/client_settings.h:
code trimmed
sql/repl_failsafe.cc:
option's initialization added
sql/slave.cc:
option's initialization added
Here is another pack of changes about gathering common client code in
sql-common/client.c.
Now i symlink the client.c from sql/ and libmysql/. These directories
have client_settings.h files to be included to client.c. It contains
defines and declarations to compile client.c in appropriate manner.
Also i've added include/sql_common.h, containing declarations of what
is exported from client.c
I removed as many #ifdef-s from client.c as i dared to. I think it's better
push it with some extra #ifdef-s now (of course, if everythihg besides it is
ok) so other people can check the code.
Makefile.am:
symlinking of sql-common/client.c was added
include/mysql.h:
MYSQL_CLIENT define moved here from libmysql/Makefile
libmysql/Makefile.am:
../libmysql/client_settings.h added to the list of necessary h-files
libmysql/Makefile.shared:
client.lo added to the list of objects
libmysql/libmysql.c:
a lot of changes about separating code between libmysql.c and client.c
mysys/default.c:
changed to keep compiler happy
sql-common/client.c:
a lot of changes about code separating
sql/Makefile.am:
mini_client.h has to be removed
sql/repl_failsafe.cc:
mysql_real_connect prototype was unified, so we've got to set connection timeout separately
sql/slave.cc:
trimming code to the changed function's prototypes
sql/sql_repl.cc:
mini_client isn't needed anymore
common parts of libmysql.c and sql/mini_client.cc moved to sql-common/client.c
names of functions now are same in both cases
libmysql/libmysql.c:
many parts moved to sql-common/client.c
libmysqld/Makefile.am:
superfluous files removed
sql/mini_client.cc:
most of the file moved to sql-common/client.c
sql/mini_client.h:
mc_ prefixes were deleted
sql/repl_failsafe.cc:
mc_ prefixes removed
sql/slave.cc:
_mc prefixes removed