mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
125 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
unknown
|
222cd6e891 |
Merge mysql.com:/opt/local/work/tmp_merge
into mysql.com:/opt/local/work/mysql-5.1-merge mysql-test/r/ps.result: Auto merged mysql-test/t/ps.test: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_prepare.cc: Auto merged sql/set_var.cc: Manual merge. sql/set_var.h: Manual merge. sql/share/errmsg.txt: Manual merge. |
||
unknown
|
e46a193be8 |
Merge mysql.com:/opt/local/work/mysql-4.1-16365
into mysql.com:/opt/local/work/mysql-5.0-merge sql/set_var.cc: Auto merged mysql-test/r/ps.result: Manual merge. mysql-test/t/ps.test: Manual merge. sql/item_row.cc: Manual merge. sql/item_row.h: Manual merge. sql/mysql_priv.h: Manual merge. sql/mysqld.cc: Manual merge. sql/set_var.h: Manual merge. sql/sql_class.cc: Manual merge. sql/sql_class.h: Manual merge. sql/sql_prepare.cc: Manual merge. |
||
unknown
|
5b5530daa5 |
A fix and a test case for Bug#16365 "Prepared Statements: DoS with
too many open statements". The patch adds a new global variable @@max_prepared_stmt_count. This variable limits the total number of prepared statements in the server. The default value of @@max_prepared_stmt_count is 16382. 16382 small statements (a select against 3 tables with GROUP, ORDER and LIMIT) consume 100MB of RAM. Once this limit has been reached, the server will refuse to prepare a new statement and return ER_UNKNOWN_ERROR (unfortunately, we can't add new errors to 4.1 without breaking 5.0). The limit is changeable after startup and can accept any value from 0 to 1 million. In case the new value of the limit is less than the current statement count, no new statements can be added, while the old still can be used. Additionally, the current count of prepared statements is now available through a global read-only variable @@prepared_stmt_count. mysql-test/r/ps.result: Test results fixed (a test case for Bug#16365) mysql-test/t/ps.test: A test case for Bug#16365 "Prepared Statements: DoS with too many open statements". Also fix statement leaks in other tests. sql/mysql_priv.h: Add declarations for new global variables. sql/mysqld.cc: Add definitions of max_prepared_stmt_count, prepared_stmt_count. sql/set_var.cc: Implement support for @@prepared_stmt_count and @@max_prepared_stmt_count. Currently these variables are queried without acquiring LOCK_prepared_stmt_count due to limitations of the set_var/sys_var class design. Updates are, however, protected with a lock. sql/set_var.h: New declarations to add support for @@max_prepared_stmt_count. Implement a new class, where the lock to be used when updating a variable is a parameter. sql/sql_class.cc: Add accounting of the total number of prepared statements in the server to the methods of Statement_map. sql/sql_class.h: Add accounting of the total number of prepared statements in the server to the methods of Statement_map. sql/sql_prepare.cc: Statement_map::insert will now send a message in case of an error. |
||
unknown
|
7cac0ddfd0 |
WL#2977 and WL#2712 global and session-level variable to set the binlog format (row/statement),
and new binlog format called "mixed" (which is statement-based except if only row-based is correct, in this cset it means if UDF or UUID is used; more cases could be added in later 5.1 release): SET GLOBAL|SESSION BINLOG_FORMAT=row|statement|mixed|default; the global default is statement unless cluster is enabled (then it's row) as in 5.1-alpha. It's not possible to use SET on this variable if a session is currently in row-based mode and has open temporary tables (because CREATE TEMPORARY TABLE was not binlogged so temp table is not known on slave), or if NDB is enabled (because NDB does not support such change on-the-fly, though it will later), of if in a stored function (see below). The added tests test the possibility or impossibility to SET, their effects, and the mixed mode, including in prepared statements and in stored procedures and functions. Caveats: a) The mixed mode will not work for stored functions: in mixed mode, a stored function will always be binlogged as one call and in a statement-based way (e.g. INSERT VALUES(myfunc()) or SELECT myfunc()). b) for the same reason, changing the thread's binlog format inside a stored function is refused with an error message. c) the same problems apply to triggers; implementing b) for triggers will be done later (will ask Dmitri). Additionally, as the binlog format is now changeable by each user for his session, I remove the implication which was done at startup, where row-based automatically set log-bin-trust-routine-creators to 1 (not possible anymore as a user can now switch to stmt-based and do nasty things again), and automatically set --innodb-locks-unsafe-for-binlog to 1 (was anyway theoretically incorrect as it disabled phantom protection). Plus fixes for compiler warnings. mysql-test/r/rpl_row_4_bytes.result: update mysql-test/t/rpl_row_4_bytes.test: don't influence next tests sql/ha_archive.cc: please pay attention to this structure when you change it... sql/ha_berkeley.cc: please pay attention to this structure when you change it... sql/ha_blackhole.cc: please pay attention to this structure when you change it... sql/ha_federated.cc: please pay attention to this structure when you change it... sql/ha_heap.cc: please pay attention to this structure when you change it... sql/ha_innodb.cc: please pay attention to this structure when you change it... sql/ha_myisam.cc: please pay attention to this structure when you change it... sql/ha_myisammrg.cc: please pay attention to this structure when you change it... sql/ha_ndbcluster_binlog.cc: no more global 'binlog_row_based' sql/ha_partition.cc: please pay attention to this structure when you change it... sql/handler.cc: please pay attention to this structure when you change it... sql/handler.h: it's good to initialize statically (to get no compiler warning) even if to a null value. sql/item_func.cc: UDFs require row-based if this is the "mixed" binlog format. sql/item_strfunc.cc: UUID() requires row-based binlogging if this is the "mixed" binlog format sql/log.cc: binlog_row_based -> thd->current_stmt_binlog_row_based sql/log.h: the enum enum_binlog_format moves to log.h from mysqld.cc as we need it in several places. sql/log_event.cc: binlog_row_based -> thd->current_stmt_binlog_row_based sql/log_event.h: this global variable not used anymore sql/mysql_priv.h: these global variables not used anymore sql/mysqld.cc: simplification in the handling of --binlog-format (but with no user-visible change), thanks to the new global system variable. RBR does not anymore turn on --log-bin-trust-function-creators and --innodb-locks-unsafe-for-binlog as these are global options and RBR is now settable per session. sql/partition_info.cc: compiler warnings sql/set_var.cc: new class of thread's variable, to handle the binlog_format (like sys_var_thd_enum except that is_readonly() is overriden for more checks before update). compiler warnings (ok'd by Serg) sql/set_var.h: new class for the thread's binlog_format (see set_var.cc) sql/share/errmsg.txt: some messages for when one can't toggle from one binlog format to another sql/sp_head.cc: binlog_row_based -> thd->current_stmt_binlog_row_based sql/sql_base.cc: binlog_row_based -> thd->current_stmt_binlog_row_based sql/sql_class.cc: When a THD is initialized, we set its current_stmt_binlog_row_based sql/sql_class.h: new THD::variables.binlog_format (the value of the session variable set by SET or inherited from the global value), and THD::current_stmt_binlog_row_based which tells if the current statement does row-based or statement-based binlogging. Both members are needed as the 2nd one cannot be derived only from the first one (the statement's type plays a role too), and the 1st one is needed to reset the 2nd one. sql/sql_delete.cc: binlog_row_based -> thd->current_stmt_binlog_row_based sql/sql_insert.cc: binlog_row_based -> thd->current_stmt_binlog_row_based sql/sql_load.cc: binlog_row_based -> thd->current_stmt_binlog_row_based. sql/sql_parse.cc: when we are done with a statement, we reset the current_stmt_binlog_row_based to the value derived from THD::variables.binlog_format. sql/sql_partition.cc: compiler warning sql/sql_show.cc: compiler warning sql/sql_table.cc: binlog_row_based -> thd->current_stmt_binlog_row_based tests/mysql_client_test.c: compiler warning mysql-test/r/ndb_binlog_basic2.result: new result mysql-test/r/rpl_switch_stm_row_mixed.result: new result mysql-test/t/ndb_binlog_basic2.test: new test to verify that if cluster is enabled, can't change binlog format on the fly. mysql-test/t/rpl_switch_stm_row_mixed.test: test to see if one can switch between SBR, RBR, and "mixed" mode, and when one cannot, and test to see if the switching, and the mixed mode, work properly (using UUID() to test, as using UDFs is not possible in the testsuite for portability reasons). |
||
unknown
|
bdf18f4331 |
Merge mysql.com:/home/jimw/my/mysql-5.0-7955
into mysql.com:/home/jimw/my/mysql-5.1-clean sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sql_yacc.yy: Auto merged mysql-test/r/bdb.result: Resolve conflict mysql-test/t/bdb.test: Resolve conflict sql/share/errmsg.txt: Resolve conflict |
||
unknown
|
bf3b67f347 |
post-merge fixes for dbug
dbug/dbug.c: post-merge fixes (-#T in explain was forgotten) sql/set_var.h: post-merge fixes (DBUG_POP() is the correct way to restore default settings now) |
||
unknown
|
d3ee9abf2a |
dbug changes:
1. dbug state is now local to a thread 2. new macros: DBUG_EXPLAIN, DBUG_EXPLAIN_INITIAL, DBUG_SET, DBUG_SET_INITIAL, DBUG_EVALUATE, DBUG_EVALUATE_IF 3. macros are do{}while(0) wrapped 4. incremental modifications to the dbug state (e.g. "+d,info:-t") 5. dbug code cleanup, style fixes 6. _db_on_ and DEBUGGER_ON/OFF removed 7. rest of MySQL code fixed because of 3 (missing ;) and 6 8. dbug manual updated 9. server variable @@debug (global and local) to control dbug from SQL! a. -#T to print timestamps in the log BitKeeper/deleted/.del-readme.prof~2f3bae1550a0038d: Delete: dbug/readme.prof client/mysqlslap.c: typo fixed configure.in: test for sleep() too dbug/dbug.c: thread local dbug settings DBUG_EXPLAIN,DBUG_EXPLAIN_INITIAL,DBUG_SET,DBUG_SET_INITIAL style changes to be more in line with MySQL code cleanup (many mallocs removed) incremental modification of dbug state (e.g. DBUG_PUSH("+t:-d,info")) DBUG_SET, _db_explain_ -#T dbug/monty.doc: obsolete and duplicate docs removed dbug/user.r: new features documented include/my_dbug.h: correct do{}while wrapping thread local dbug settings DBUG_EXPLAIN,DBUG_EXPLAIN_INITIAL,DBUG_SET,DBUG_SET_INITIAL DBUG_EVALUATE,DBUG_EVALUATE_IF libmysql/libmysql.c: remove _db_on_ and DEBUGGER_ON/OFF mysys/my_init.c: missed DBUG_RETURN mysys/my_thr_init.c: bugfix - transaction id's are unsigned mysys/testhash.c: remove _db_on_ and DEBUGGER_ON/OFF sql/ha_myisammrg.cc: missed ; sql/ha_ndbcluster.cc: remove _db_on_ and DEBUGGER_ON/OFF missed ; sql/ha_ndbcluster_binlog.cc: remove _db_on_ and DEBUGGER_ON/OFF missed ; sql/item_cmpfunc.cc: missed ; sql/lock.cc: missed DBUG_RETURN sql/log_event.cc: missed ; sql/mysqld.cc: remove _db_on_ and DEBUGGER_ON/OFF missed ; DBUG_SET_INITIAL sql/opt_range.cc: remove _db_on_ and DEBUGGER_ON/OFF sql/set_var.cc: class sys_var_thd_dbug and "debug" server variable sql/set_var.h: class sys_var_thd_dbug and "debug" server variable sql/slave.cc: missed ; sql/sql_cache.cc: missed ; sql/sql_plugin.cc: missed ; sql/sql_select.cc: remove _db_on_ and DEBUGGER_ON/OFF storage/heap/hp_test2.c: remove _db_on_ and DEBUGGER_ON/OFF storage/myisam/ft_eval.c: remove _db_on_ and DEBUGGER_ON/OFF storage/myisam/ft_test1.c: remove _db_on_ and DEBUGGER_ON/OFF storage/myisam/mi_open.c: remove _db_on_ and DEBUGGER_ON/OFF missed ; storage/myisam/mi_test1.c: remove _db_on_ and DEBUGGER_ON/OFF storage/myisam/mi_test2.c: remove _db_on_ and DEBUGGER_ON/OFF storage/myisam/mi_test3.c: remove _db_on_ and DEBUGGER_ON/OFF storage/ndb/src/ndbapi/DictCache.cpp: missed ; storage/ndb/src/ndbapi/NdbTransaction.cpp: missed ; tests/mysql_client_test.c: remove _db_on_ and DEBUGGER_ON/OFF |
||
unknown
|
7ce3b2a381 |
Many files:
Backporting character_set_filesystem from 5.0 to 5.1. sql/mysqld.cc: Backporting character_set_filesystem from 5.0 to 5.1. sql/set_var.cc: Backporting character_set_filesystem from 5.0 to 5.1. sql/set_var.h: Backporting character_set_filesystem from 5.0 to 5.1. sql/sql_class.cc: Backporting character_set_filesystem from 5.0 to 5.1. sql/sql_class.h: Backporting character_set_filesystem from 5.0 to 5.1. sql/sql_yacc.yy: Backporting character_set_filesystem from 5.0 to 5.1. mysql-test/t/variables.test: Backporting character_set_filesystem from 5.0 to 5.1. mysql-test/r/variables.result: Backporting character_set_filesystem from 5.0 to 5.1. |
||
unknown
|
456524c060 |
Rename of my_strdup_with_lenght to match the more common "strndup" method. Soo its now my_strndup().
my_stat() gettinng the correct parameter list may be next :) client/mysqlslap.c: rename extra/comp_err.c: rename include/my_sys.h: replace mysys/mf_tempdir.c: replace mysys/my_malloc.c: replace mysys/safemalloc.c: replace sql/ha_federated.cc: replace sql/log_event.cc: replace sql/set_var.cc: replace sql/set_var.h: replace storage/myisam/ft_stopwords.c: replace |
||
unknown
|
137ae7907c |
loaddata.result, loaddata.test:
Adding test case. sql_yacc.yy: Adding TEXT_STRING_filesystem, which converts from character_set_client to character_set_conversion. Replacing TEXT_STRING_sys to TEXT_STRING_filesystem in LOAD DATA and SELECT INTO OUTFILE contexts. sql_class.h, sql_class.cc: Adding character_set_filesystem variable, and charset_is_character_set_filesystem flag (to avoid conversion when it's not necessary). set_var.h, set_var.cc: Adding sys_var_character_set_filesystem mysqld.cc: Adding --character-set-filesystem startup option. sql/mysqld.cc: Adding --character-set-filesystem startup option. sql/set_var.cc: Adding sys_var_character_set_filesystem sql/set_var.h: Adding sys_var_character_set_filesystem sql/sql_class.cc: Adding character_set_filesystem variable, and charset_is_character_set_filesystem flag (to avoid conversion when it's not necessary). sql/sql_class.h: Adding character_set_filesystem variable, and charset_is_character_set_filesystem flag (to avoid conversion when it's not necessary). sql/sql_yacc.yy: Adding TEXT_STRING_filesystem, which converts from character_set_client to character_set_conversion. Replacing TEXT_STRING_sys to TEXT_STRING_filesystem in LOAD DATA and SELECT INTO OUTFILE contexts. mysql-test/t/loaddata.test: Adding test case. mysql-test/r/loaddata.result: Adding test case. |
||
unknown
|
bb0b7f5dda |
WL #1034 (Internal CRON)
merge before push BUILD/SETUP.sh: Auto merged include/my_sys.h: Auto merged mysql-test/r/grant.result: Auto merged mysql-test/r/ps.result: Auto merged sql/Makefile.am: Auto merged sql/lex.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sp.cc: Auto merged sql/sp.h: Auto merged sql/sp_head.h: Auto merged sql/sql_acl.cc: Auto merged sql/sql_acl.h: Auto merged sql/sql_lex.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_show.cc: Auto merged sql/table.cc: Auto merged sql/tztime.cc: Auto merged libmysqld/Makefile.am: manual merge mysql-test/r/information_schema.result: manual merge sql/share/errmsg.txt: manual merge sql/sp_head.cc: manual merge sql/sql_lex.h: manual merge sql/sql_yacc.yy: manual merge |
||
unknown
|
613dd50a33 |
Finalize storage engine plugins
Give BerkeleyDB savepoints Remove "enum db_type" from most of the code storage/example/ha_example.h: Rename: sql/examples/ha_example.h -> storage/example/ha_example.h storage/csv/ha_tina.h: Rename: sql/examples/ha_tina.h -> storage/csv/ha_tina.h config/ac-macros/storage.m4: if hton name is "no", then we don't install it as a builtin configure.in: pluggable changes include/plugin.h: version field mysql-test/r/bdb.result: savepoint results copied from innodb test mysql-test/r/information_schema.result: PLUGINS information schema mysql-test/r/information_schema_db.result: PLUGINS information schema mysql-test/t/bdb.test: savepoint test copied from innodb test sql/Makefile.am: tina and example are not here anymore sql/authors.h: minor tweek sql/ha_archive.cc: remove unwanted handlerton entries sql/ha_berkeley.cc: remove unwanted handlerton entries support for savepoints changes to show logs sql/ha_blackhole.cc: remove unwanted handlerton entries sql/ha_federated.cc: remove unwanted handlerton entries sql/ha_heap.cc: remove unwanted handlerton entries sql/ha_innodb.cc: remove unwanted handlerton entries changes for show status sql/ha_myisam.cc: remove unwanted handlerton entries sql/ha_myisammrg.cc: remove unwanted handlerton entries sql/ha_ndbcluster.cc: remove unwanted handlerton entries changes to stat_print sql/ha_partition.cc: remove unwanted handlerton entries bye bye enum db_type sql/ha_partition.h: bye bye enum db_type sql/handler.cc: remove unwanted handlerton entries bye bye enum db_type sql/handler.h: remove unwanted handlerton entries bye bye enum db_type changes to stat_print_fn sql/item_sum.cc: bye bye enum db_type sql/log.cc: remove unwanted handlerton entries sql/mysql_priv.h: bye bye enum db_type sql/mysqld.cc: bye bye enum db_type reorder plugin initialization sql/set_var.cc: bye bye enum db_type sql/set_var.h: bye bye enum db_type sql/sql_base.cc: bye bye enum db_type sql/sql_cache.cc: bye bye enum db_type sql/sql_class.h: bye bye enum db_type sql/sql_delete.cc: bye bye enum db_type sql/sql_insert.cc: bye bye enum db_type sql/sql_lex.h: show plugin sql/sql_parse.cc: bye bye enum db_type sql/sql_partition.cc: bye bye enum db_type sql/sql_plugin.cc: loadable storage engines sql/sql_plugin.h: loadable storage engines sql/sql_rename.cc: bye bye enum db_type sql/sql_select.cc: bye bye enum db_type sql/sql_show.cc: SHOW PLUGIN PLUGINS information schema changes to show engines sql/sql_table.cc: bye bye enum db_type sql/sql_view.cc: bye bye enum db_type sql/sql_view.h: bye bye enum db_type sql/sql_yacc.yy: bye bye enum db_type sql/table.cc: bye bye enum db_type sql/table.h: bye bye enum db_type sql/unireg.cc: bye bye enum db_type storage/csv/ha_tina.cc: make tina into a loadable plugin storage/example/ha_example.cc: make into a plugin storage/csv/Makefile.am: New BitKeeper file ``storage/csv/Makefile.am'' storage/example/Makefile.am: New BitKeeper file ``storage/example/Makefile.am'' |
||
unknown
|
70856a0d54 |
WL#1034
updated sources sql/event.cc: update put some error calls to the places they occur sql/event.h: - change the default (does not work in STRICT mode) sql/event_executor.cc: move mutex initialization to evex_init_mutexes so init_events() can be reused when the main thread does not work and set global event_scheduler=1; (this will start the thread) The main thread is now visible with show processlist and can be killed. sql/event_priv.h: don't use anymore SP for opening table sql/event_timed.cc: don't use anymore SP routines for opening mysql.event sql/mysqld.cc: shutdown_events() should be maximal at the end of the server because it destroys mutexes of EVEX. The call should not be in the main thread. sql/set_var.cc: make sys_var_event_executor subclass sys_var_bool_ptr to overload ::update() method - needed to start a killed (non-running) evex main thread sql/set_var.h: declare class sys_var_event_executor sql/share/errmsg.txt: 2 new messages |
||
unknown
|
41de6f9a7c |
Merge mysql.com:/home/mysql_src/mysql-5.0
into mysql.com:/home/mysql_src/mysql-5.1-merge-of-5.0 (not all files are good, I'll fix; I'll ask some devs to check their part) BitKeeper/etc/ignore: auto-union include/my_global.h: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/mysql-test-run.sh: Auto merged mysql-test/r/information_schema.result: Auto merged mysql-test/t/view.test: Auto merged scripts/mysql_fix_privilege_tables.sql: Auto merged sql/field.cc: Auto merged sql/item.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/opt_range.cc: Auto merged sql/set_var.h: Auto merged sql/sp.cc: Auto merged sql/sp_head.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_repl.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_select.h: Auto merged sql/sql_table.cc: Auto merged sql/table.h: Auto merged storage/myisam/mi_key.c: Auto merged storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp: Auto merged storage/ndb/src/ndbapi/NdbImpl.hpp: Auto merged storage/ndb/src/ndbapi/ndb_cluster_connection.cpp: Auto merged support-files/mysql.spec.sh: Auto merged configure.in: merge mysql-test/r/ps_1general.result: merge ("ul", will fix) sql/examples/ha_tina.cc: merge sql/ha_innodb.cc: merge sql/handler.h: merge sql/log.cc: merge sql/set_var.cc: merge sql/share/errmsg.txt: merge (bad, will fix) sql/sql_show.cc: merge (bad, will fix) sql/sql_yacc.yy: merge storage/ndb/src/ndbapi/NdbRecAttr.cpp: merge |
||
unknown
|
5d9c8e9543 |
WL#2971 "change log-bin-trust-routine-creators=0 to apply only to functions".
Indeed now that stored procedures CALL is not binlogged, but instead the invoked substatements are, the restrictions applied by log-bin-trust-routine-creators=0 are superfluous for procedures. They still need to apply to functions where function calls are written to the binlog (for example as "DO myfunc(3)"). We rename the variable to log-bin-trust-function-creators but allow the old name until some future version (and issue a warning if old name is used). mysql-test/mysql-test-run.pl: update to new option name mysql-test/mysql-test-run.sh: update to new option name mysql-test/mysql_test_run_new.c: update to new option name mysql-test/r/rpl_sp.result: result update mysql-test/t/rpl_sp-slave.opt: we need to skip this error to not hit BUG#14769 mysql-test/t/rpl_sp.test: Test update: 1) as log-bin-trust-routine-creators now affects only functions, the testing of this option, which was mainly done on procedures, is moved to functions 2) cleanup is simplified; and instead of many SHOW BINLOG EVENTS we do a big one in the end, which is more maintainable. 3) we test a few more function and procedures cases to see how they replicate. 4) removing out-of-date comments sql/item_func.cc: This warning is wrong since binlogging of functions was changed in August. If a function fails in the middle, it will be binlogged with its error code (i.e. properly). sql/mysql_priv.h: variable name changed sql/mysqld.cc: option name changes. A precision about --read-only. sql/set_var.cc: a new class sys_var_trust_routine_creators to be able to issue a "this is a deprecated variable" warning if used. sql/set_var.h: new class to be able to issue a "this is a deprecated variable" warning if used. sql/share/errmsg.txt: routine -> function sql/sp.cc: log-bin-trust-routine-creators now applies only to functions. sql/sql_parse.cc: 1) sending ER_FAILED_ROUTINE_BREAK_BINLOG is wrong since August as we don't binlog CALL anymore but instead binlog the substatements; the clear_error() goes away too as it was necessary only when we created a binlog event from the "CALL" statement. 2) log-bin-trust-routine-creators now applies only to functions. sql/sql_trigger.cc: comments. |
||
unknown
|
d090acf320 |
1. sys_variables[] array is removed.
2. All have_xxx variables are now selectable. sql/set_var.cc: 1. sys_have_xxx variables added. 2. Removed sys_var *sys_variables[] array as we don't need it any more. 3. void set_var_init() changed to use sys_var_xxx chain insted of sys_variables[] array. sql/set_var.h: 1. add_sys_var() method added to the sys_var class. It's called from constructors to chain all successor objects. The first one is stored in the 'static sys_var *first'. The total number of variables is in the 'static uint sys_vars'. Each sys_var successor object has the 'sys_var *next' pointer to the next one in the chain. 2. sys_var_have_variable class introduced to make all have_xxx variables selectable. sql/sql_lex.cc: trg_new_row_fake_var(0, 0) replaced with '(sys_var*) 0x01' as we don't want to have such fake variables in the sys_var_xxx chain. sql/sql_lex.h: Proper use of the changed trg_new_row_fake_var. sql/sql_yacc.yy: Proper use of the changed trg_new_row_fake_var. |
||
unknown
|
d68354d567 |
Fix handling of "SET TRANSACTION ISOLATION LEVEL ...". (Bug #7955)
mysql-test/r/bdb.result: Add results mysql-test/t/bdb.test: Add new test sql/set_var.cc: Refuse attempts to change tx_isolation while a transaction is in progress. sql/set_var.h: Support check function for sys_var_thd_enum sql/share/errmsg.txt: Add new error message sql/sql_yacc.yy: Make sure that lex->option_type always gets set in 'SET TRANSACTION ...' |
||
unknown
|
469d7c12b8 |
merge
sql/mysql_priv.h: Auto merged sql/repl_failsafe.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sql_acl.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_repl.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_update.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/table.cc: Auto merged |
||
unknown
|
065a93773e |
Fixed BUG#12712: SET AUTOCOMMIT should fail within SP/functions/triggers
Second version after review. Allow 'set autocommit' in procedures, but not functions or triggers. Can return error in run-time (when a function calls a procedure). mysql-test/r/sp-error.result: New test case for BUG#12712. mysql-test/t/sp-error.test: New test case for BUG#12712. sql/set_var.cc: Made sys_autocommit external, to allow testing in sql_yacc.yy. sql/set_var.h: Made sys_autocommit external, to allow testing in sql_yacc.yy. sql/share/errmsg.txt: New error message for disallowing the setting of autocommit in stored functions and triggers. sql/sp_head.h: New flag: has 'set autocommit', and testing for this in is_not_allowed_in_function(). sql/sql_yacc.yy: Disallow setting AUTOCOMMIT in stored function and triggers. |
||
unknown
|
12dbb18815 |
Merge eel.(none):/home/jonas/src/mysql-5.0
into eel.(none):/home/jonas/src/mysql-5.1-push sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sql_show.cc: Auto merged storage/ndb/src/common/portlib/NdbThread.c: Auto merged storage/ndb/test/include/NDBT_Test.hpp: Auto merged storage/ndb/test/ndbapi/Makefile.am: Auto merged storage/ndb/test/ndbapi/bank/Bank.cpp: Auto merged storage/ndb/test/ndbapi/bank/Bank.hpp: Auto merged storage/ndb/test/src/NDBT_Test.cpp: Auto merged storage/ndb/test/src/UtilTransactions.cpp: Auto merged |
||
unknown
|
a777907a51 |
Fix for bug#11775 Variable character_set_system does not exist (sometimes).
Variable character_set_system is selectable now More accurate error message results during update of character_set_system and some other read only variables mysql-test/r/variables.result: Fix for bug#11775 Variable character_set_system does not exist (sometimes). test case mysql-test/t/variables.test: Fix for bug#11775 Variable character_set_system does not exist (sometimes). test case |
||
unknown
|
aca6f88ebb |
Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into c-8b0ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.1 BitKeeper/etc/config: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/information_schema_db.result: Auto merged mysql-test/t/disabled.def: Auto merged mysys/default.c: Auto merged scripts/Makefile.am: Auto merged scripts/mysql_create_system_tables.sh: Auto merged scripts/mysql_fix_privilege_tables.sql: Auto merged sql/field.cc: Auto merged sql/field.h: Auto merged sql/ha_federated.cc: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_innodb.h: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/ha_ndbcluster.h: Auto merged sql/handler.cc: Auto merged sql/item.cc: Auto merged sql/lock.cc: Auto merged sql/log.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/slave.cc: Auto merged sql/slave.h: Auto merged sql/sp.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_cache.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_insert.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_table.cc: Auto merged sql/table.cc: Auto merged sql/table.h: Auto merged sql/tztime.cc: Auto merged sql/unireg.cc: Auto merged storage/innobase/buf/buf0buf.c: Auto merged storage/innobase/include/os0file.h: Auto merged storage/innobase/include/read0read.h: Auto merged storage/innobase/include/read0types.h: Auto merged storage/innobase/include/trx0trx.h: Auto merged storage/innobase/os/os0file.c: Auto merged storage/innobase/read/read0read.c: Auto merged storage/innobase/row/row0sel.c: Auto merged storage/innobase/srv/srv0srv.c: Auto merged storage/innobase/srv/srv0start.c: Auto merged storage/innobase/trx/trx0sys.c: Auto merged storage/innobase/trx/trx0trx.c: Auto merged storage/myisam/mi_create.c: Auto merged storage/myisam/sort.c: Auto merged storage/ndb/include/mgmapi/mgmapi.h: Auto merged storage/ndb/include/mgmapi/mgmapi_config_parameters.h: Auto merged storage/ndb/src/common/portlib/NdbMutex.c: Auto merged storage/ndb/src/common/portlib/NdbThread.c: Auto merged storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp: Auto merged storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp: Auto merged storage/ndb/src/mgmapi/mgmapi.cpp: Auto merged storage/ndb/src/mgmsrv/ConfigInfo.cpp: Auto merged storage/ndb/src/mgmsrv/ConfigInfo.hpp: Auto merged strings/ctype-big5.c: Auto merged strings/ctype-ucs2.c: Auto merged support-files/mysql.spec.sh: Auto merged configure.in: Manual merge 5.0 -> 5.1 mysql-test/t/alter_table.test: Manual merge 5.0 -> 5.1 sql/share/errmsg.txt: Manual merge 5.0 -> 5.1 storage/ndb/tools/Makefile.am: Manual merge 5.0 -> 5.1 |
||
unknown
|
a66928bb24 |
store/restore sql_mode which was in force during ctrigger creation (BUG#5891)
other sql_mode fixes mysql-test/r/information_schema.result: changes in information schema mysql-test/r/trigger.result: storing and restoring sql modes for triggers mysql-test/t/trigger.test: storing and restoring parsing modes for triggers sql/mysqld.cc: add length of mode names sql/parse_file.cc: new type of list (ulonglong) sql/parse_file.h: new type of list (ulonglong) sql/set_var.cc: mode output made as static method sql/set_var.h: mode output made as static method sql/sp_head.cc: added sql_mode storing/restoring during SP execution optimised sql_mode printing sql/sp_head.h: comment fixed according this changes sql/sql_show.cc: added sql_mode field sql/sql_trigger.cc: store/restore sql_mode which was in force during ctrigger creation sql/sql_trigger.h: store/restore sql_mode which was in force during ctrigger creation sql/sql_view.cc: fixed sql_mode |
||
unknown
|
20b098551d |
Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1
into a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.1 BitKeeper/etc/config: Auto merged sql/field.cc: Auto merged sql/ha_berkeley.cc: Auto merged sql/ha_berkeley.h: Auto merged sql/ha_heap.cc: Auto merged sql/ha_heap.h: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_innodb.h: Auto merged sql/ha_myisam.cc: Auto merged sql/ha_myisam.h: Auto merged sql/ha_myisammrg.cc: Auto merged sql/ha_myisammrg.h: Auto merged sql/ha_ndbcluster.h: Auto merged sql/handler.h: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sql_class.h: Auto merged sql/sql_lex.h: Auto merged sql/sql_table.cc: Auto merged sql/ha_ndbcluster.cc: Merge. sql/field.h: Auto merged |
||
unknown
|
f1e255130b |
Faster alter table code for 5.1.
mysql-test/r/alter_table.result: Added some additional tests for new alter table code. mysql-test/t/alter_table.test: Added some additional tests for new alter table code. sql/field.cc: Functions to check whether new field is equal with old field. Classes for different types. sql/field.h: Functions to check whether new field is equal with old field. Classes for different types. sql/ha_berkeley.cc: check_if_incompatible_data() for BDB. sql/ha_berkeley.h: check_if_incompatible_data() for BDB. sql/ha_heap.cc: check_if_incompatible_data() for HEAP. sql/ha_heap.h: check_if_incompatible_data() for HEAP. sql/ha_innodb.cc: check_if_incompatible_data() for InnoDB. sql/ha_innodb.h: check_if_incompatible_data() for InnoBD. sql/ha_myisam.cc: check_if_incompatible_data() for MyISAM. sql/ha_myisam.h: check_if_incompatible_data() for MyISAM. sql/ha_myisammrg.cc: check_if_incompatible_data() for Merge tables. sql/ha_myisammrg.h: check_if_incompatible_data() for Merge tables. sql/ha_ndbcluster.cc: check_if_incompatible_data() for NDB. sql/ha_ndbcluster.h: check_if_incompatible_data() for NDB. sql/handler.h: Defines for COMPATIBLE_DATA (yes and no) and the default function for check_if_incompatible_data(). sql/mysql_priv.h: Defines for IS_EQUAL_* sql/mysqld.cc: Added option --old-alter-table to disable new alter table code. sql/set_var.cc: Added option --old-alter-table to disable new alter table code. sql/set_var.h: Added option --old-alter-table to disable new alter table code. sql/sql_class.h: Added option --old-alter-table to disable new alter table code. sql/sql_lex.h: Added a flag for forcing recreation of a table (needed for optimize table mapped to alter table) sql/sql_table.cc: Made a function of setting table default charset, used now in two places. Added defines for ALTER_TABLE_* possible changes. Currently just overall data and index. Added function compare_tables, which checks fields compatibility in old and new tables. BitKeeper/etc/config: Disabled logging |
||
unknown
|
40efb3622d |
Merge mysql.com:/opt/local/work/mysql-4.1-root
into mysql.com:/media/sda1/mysql/mysql-5.0-merge mysql-test/r/select.result: Auto merged sql/mysql_priv.h: Auto merged sql/set_var.cc: Auto merged sql/sql_select.cc: Auto merged mysql-test/r/ps.result: Manual merge (again). mysql-test/t/ps.test: Manual merge (again). mysql-test/t/select.test: Manual merge (again). sql/item_func.cc: Manual merge (again). sql/item_func.h: Manual merge (again). sql/set_var.h: Manual merge (again). |
||
unknown
|
e83e105331 |
A fix and a test case for Bug#9359 "Prepared statements take snapshot
of system vars at PREPARE time": implement a special Item to handle system variables. This item substitutes itself with a basic constant containing variable value at fix_fields. mysql-test/r/ps.result: - test results fixed (Bug#9359). mysql-test/t/ps.test: - add a test case for Bug#9359 "Prepared statements take snapshot of system vars at PREPARE time" sql/item_func.cc: - implement Item_func_get_system_var: we should not evaluate system variables in the parser, but instead should create an item which is evaluated to a constant at execute. - remove an unused function sql/item_func.h: Add a new item, Item_func_get_system_var sql/mysql_priv.h: Move necessary declarations to make set_var.h objects visible in item_func.h sql/set_var.cc: - we should not print to network from get_system_var: if it's called from prepared statement prepare, we get packets out of order when using the binary protocol. Instead report the error to be sent to the user later. This is a backport from 5.0. sql/set_var.h: - declaration of enum_var_type moved to mysql_priv.h |
||
unknown
|
ba144e2290 |
fixes for windows 64-bit compiler warnings
heap/hp_hash.c: fix for windows 64-bit compiler warnings heap/hp_update.c: fix for windows 64-bit compiler warnings mysys/default.c: fix for windows 64-bit compiler warnings mysys/default_modify.c: fix for windows 64-bit compiler warnings mysys/mf_iocache.c: fix for windows 64-bit compiler warnings mysys/mf_keycache.c: fix for windows 64-bit compiler warnings mysys/my_alloc.c: fix for windows 64-bit compiler warnings mysys/my_getopt.c: fix for windows 64-bit compiler warnings mysys/my_mmap.c: fix for windows 64-bit compiler warnings mysys/my_once.c: fix for windows 64-bit compiler warnings mysys/string.c: fix for windows 64-bit compiler warnings sql-common/client.c: fix for windows 64-bit compiler warnings sql/field.cc: fix for windows 64-bit compiler warnings sql/gstream.cc: fix for windows 64-bit compiler warnings sql/ha_myisam.cc: fix for windows 64-bit compiler warnings sql/ha_myisammrg.cc: fix for windows 64-bit compiler warnings sql/item.cc: fix for windows 64-bit compiler warnings sql/item.h: fix for windows 64-bit compiler warnings sql/item_cmpfunc.cc: fix for windows 64-bit compiler warnings sql/password.c: fix for windows 64-bit compiler warnings sql/set_var.h: fix for windows 64-bit compiler warnings strings/ctype-big5.c: fix for windows 64-bit compiler warnings strings/ctype-bin.c: fix for windows 64-bit compiler warnings strings/ctype-cp932.c: fix for windows 64-bit compiler warnings strings/ctype-eucjpms.c: fix for windows 64-bit compiler warnings strings/ctype-mb.c: fix for windows 64-bit compiler warnings strings/ctype-simple.c: fix for windows 64-bit compiler warnings strings/ctype-sjis.c: fix for windows 64-bit compiler warnings strings/ctype-uca.c: fix for windows 64-bit compiler warnings strings/ctype-ucs2.c: fix for windows 64-bit compiler warnings strings/ctype-ujis.c: fix for windows 64-bit compiler warnings strings/ctype-utf8.c: fix for windows 64-bit compiler warnings strings/ctype.c: fix for windows 64-bit compiler warnings strings/decimal.c: fix for windows 64-bit compiler warnings strings/xml.c: fix for windows 64-bit compiler warnings |
||
unknown
|
efc254bc92 |
Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/home/ram/work/5.0.b10339 sql/set_var.h: Auto merged |
||
unknown
|
74b93e57b5 | Fix for bug #9286: SESSION/GLOBAL should be disallowed for user variables(for 5.0) | ||
unknown
|
7c1d520ef1 |
a fix (bug #10339: Incorrect error is displayed if try to set value of internal ' warning_count ').
sql/set_var.cc: a fix (bug #10339: Incorrect error is displayed if try to set value of internal ' warning_count '). test for read only variables added. sql/set_var.h: a fix (bug #10339: Incorrect error is displayed if try to set value of internal ' warning_count '). sys_var::is_readonly() method introduced. |
||
unknown
|
d406a64780 |
Merge neptunus.(none):/home/msvensson/mysql/bug10241
into neptunus.(none):/home/msvensson/mysql/mysql-5.0 include/my_global.h: Auto merged sql/field.h: Auto merged sql/ha_berkeley.h: Auto merged sql/ha_heap.h: Auto merged sql/ha_innodb.h: Auto merged sql/ha_myisam.h: Auto merged sql/ha_myisammrg.h: Auto merged sql/ha_ndbcluster.h: Auto merged sql/handler.h: Auto merged sql/item.h: Auto merged sql/item_cmpfunc.h: Auto merged sql/item_func.h: Auto merged sql/item_geofunc.h: Auto merged sql/item_strfunc.h: Auto merged sql/item_subselect.h: Auto merged sql/item_sum.h: Auto merged BitKeeper/deleted/.del-ha_isam.h~bf53d533be3d3927: Auto merged BitKeeper/deleted/.del-ha_isammrg.h~66fd2e5bfe7207dc: Auto merged sql/examples/ha_archive.h: Auto merged sql/item_timefunc.h: Auto merged sql/opt_range.h: Auto merged sql/procedure.h: Auto merged sql/protocol.h: Auto merged sql/set_var.h: Auto merged sql/sql_class.h: Auto merged sql/sql_list.h: Auto merged sql/sql_select.h: Auto merged sql/sql_string.h: Auto merged sql/sql_udf.h: Auto merged sql/tztime.h: Auto merged |
||
unknown
|
9ab5f6143e |
BUG#10241 cygwin port: invalid pragma interface directives
- Introduce ifdefs so we can control when to use #pragma interface on cygwin include/my_global.h: Turn on use of #pragma implementation and #pragma interface if compiled with GCC and platform != Cygwin include/raid.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/examples/ha_archive.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/examples/ha_example.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/field.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_berkeley.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_blackhole.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_heap.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_innodb.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_isam.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_isammrg.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_myisam.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_myisammrg.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_ndbcluster.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/handler.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item_cmpfunc.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item_func.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item_geofunc.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item_strfunc.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item_subselect.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item_sum.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item_timefunc.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/opt_range.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/procedure.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/protocol.h: replace __GNUC__ with USE_PRAGMA_IMPLEMENTATION sql/set_var.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/sql_class.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/sql_list.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/sql_select.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/sql_string.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/sql_udf.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/tztime.h: replace __GNUC__ with USE_PRAGMA_INTERFACE |
||
unknown
|
ac46bf77ae |
Last part of WL#1062: better replication of timezones: no more use
of SET ONE_SHOT; storing tz info directly in event (if this info is needed), it's now allowed to have different global tz on master and slave. client/mysqlbinlog.cc: we need MAX_TIME_ZONE_NAME_LENGTH when processing log_event.h, and it's declared in mysql_priv.h mysql-test/r/rpl_timezone.result: result update mysql-test/t/rpl_timezone-slave.opt: Now that we can have different global value of timezone on master and slave, let's test it. mysql-test/t/rpl_timezone.test: Tests of the new replication of timezones: checking the output of mysqlbinlog, replication of CONVERT_TZ(). sql/ha_innodb.cc: No very fast shutdown on Netware (anyway it's disabled on all platforms, but this is so that we don't forget to keep it disabled on Netware in the future). sql/log.cc: No more need to write SET ONE_SHOT to binlog for character set and timezone (as we store this info directly nin the Query_log_event now). sql/log_event.cc: Exclude ::write() methods if MYSQL_CLIENT. Storing timezone info in the Query_log_event in master. Re-reading it in slave. Small code cleanups. I plan to not store the end 0 of catalog in binlog events soon. sql/log_event.h: replication of time zones: a place for tz info in Query_log_event, in LAST_EVENT_INFO. Plus if we are compiling a client, we don't need the ::write() methods, so keeping them out (of mysqlbinlog.cc; keeping them in, resulted in problem that mysqlbinlog does not know Timezone structure). sql/mysql_priv.h: moving this define from tztime.h (tztime.h has things which are too much for a client like mysqlbinlog). sql/set_var.cc: It's now allowed to change global value of charset or timezone even if using binlogging or if being a slave. Making CONVERT_TZ(,,@@session.time_zone) replicate. sql/set_var.h: these ::check()s are not needed anymore (changing global charset or timezone is now allowed even if binlogging or slave) sql/slave.cc: No more need to check for same global timezone if master is 5.x (ok, strictly speaking if it is > 5.0.3 but this is alpha). sql/slave.h: a function to wrap settings of charset to default. sql/tztime.cc: Adaptation of my_tz_find() to the case where it's not called from inside a query (i.e. cannot join its tz tables to the query's ones): this variant opens the tz tables itself, reads from them, and closes them. This is presently only used by the slave SQL thread (when it sets the tz before executing a query). sql/tztime.h: declaration of new function, plus moving symbol to mysql_priv.h for easier usage in mysqlbinlog (Dmitri, pardon me). BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted |
||
unknown
|
61a88ff0a1 |
Merge serg.mylan:/usr/home/serg/Abk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0-xa configure.in: Auto merged mysql-test/r/drop_temp_table.result: Auto merged mysql-test/r/innodb.result: Auto merged mysql-test/t/innodb.test: Auto merged sql/ha_innodb.cc: Auto merged sql/item_func.h: Auto merged sql/log.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_delete.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_parse.cc: Auto merged |
||
unknown
|
90cc9c6bb6 |
Merge
BitKeeper/triggers/post-commit: Auto merged mysql-test/r/lowercase_table2.result: Auto merged mysql-test/r/variables.result: Auto merged mysql-test/t/variables.test: Auto merged sql/mysql_priv.h: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_parse.cc: Auto merged tests/mysql_client_test.c: Auto merged mysql-test/r/system_mysql_db.result: Update results scripts/mysql_create_system_tables.sh: Merge fix for Bug #7617, making enum fields in grant tables case-insensitive. scripts/mysql_fix_privilege_tables.sql: Merge fix for Bug #7617, and fix additional enum/set columns. sql/sql_acl.cc: Hand-merge due to whitespace change sql/sql_lex.cc: Hand-merge bug fix. |
||
unknown
|
23f786b0ad |
bug#6958
Fixed that negative arguments to certain integer options wrap around. mysql-test/r/variables.result: Added a test case for bug#6958. mysql-test/t/variables.test: Added a test case for bug#6958. sql/set_var.cc: sys_var_long_ptr::check function was added. sql/set_var.h: Use sys_var_long_ptr::check function for sys_var_long_ptr class. |
||
unknown
|
2d8b51991c |
manually merged
client/mysqlbinlog.cc: Auto merged configure.in: Auto merged include/my_global.h: Auto merged include/my_pthread.h: Auto merged innobase/trx/trx0trx.c: Auto merged mysql-test/include/varchar.inc: Auto merged mysql-test/r/bdb.result: Auto merged mysql-test/r/myisam.result: Auto merged mysql-test/r/mysqlbinlog2.result: Auto merged mysql-test/t/ctype_ucs.test: Auto merged mysql-test/t/user_var.test: Auto merged mysys/hash.c: Auto merged sql/item_func.cc: Auto merged sql/log_event.cc: Auto merged sql/log_event.h: Auto merged sql/set_var.h: Auto merged sql/slave.cc: Auto merged sql/slave.h: Auto merged sql/sp_head.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_repl.cc: Auto merged sql/sql_repl.h: Auto merged sql/sql_table.cc: Auto merged sql/sql_trigger.cc: Auto merged mysql-test/r/ctype_ucs.result: ul mysql-test/r/drop_temp_table.result: ul mysql-test/r/innodb.result: ul mysql-test/r/insert_select.result: ul mysql-test/r/mix_innodb_myisam_binlog.result: ul mysql-test/r/rpl_change_master.result: ul mysql-test/r/rpl_charset.result: ul mysql-test/r/rpl_error_ignored_table.result: ul mysql-test/r/rpl_flush_log_loop.result: ul mysql-test/r/rpl_flush_tables.result: ul mysql-test/r/rpl_loaddata.result: ul mysql-test/r/rpl_loaddata_rule_m.result: ul mysql-test/r/rpl_log.result: ul mysql-test/r/rpl_max_relay_size.result: ul mysql-test/r/rpl_relayrotate.result: ul mysql-test/r/rpl_replicate_do.result: ul mysql-test/r/rpl_rotate_logs.result: ul mysql-test/r/rpl_temporary.result: ul mysql-test/r/rpl_timezone.result: ul mysql-test/r/rpl_until.result: ul mysql-test/r/rpl_user_variables.result: ul mysql-test/r/user_var.result: ul |
||
unknown
|
868331406b |
Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/mysql_src/mysql-5.0-clean mysql-test/mysql-test-run.sh: Auto merged sql/mysql_priv.h: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged |
||
unknown
|
7636b12f6c |
WL#1062 "log charset info into all Query_log_event":
we store 7 bytes (1 + 2*3) in every Query_log_event. In the future if users want binlog optimized for small size and less safe, we could add --binlog-no-charset (and binlog-no-sql-mode etc): charset info is something by design optional (even if for now we don't offer possibility to disable it): it's not a binlog format change. We try to reduce the number of get_charset() calls in the slave SQL thread to a minimum by caching the charset read from the previous event (which will often be equal to the one of the current event). We don't use SET ONE_SHOT for charset-aware repl (we still do for timezones, will be fixed later). No more errors if one changes the global value of charset vars on master or slave (as we log charset info in all Query_log_event). Not fixing Load_log_event as it will be rewritten soon by Dmitri. Testing how mysqlbinlog behaves in rpl_charset.test. mysqlbinlog needs to know where charset file is (to be able to convert a charset number found in binlog (e.g. in User_var_log_event) to a charset name); mysql-test-run needs to pass the correct value for this option to mysqlbinlog. Many result udpates (adding charset info into every event shifts log_pos in SHOW BINLOG EVENTS). Roughly the same job is to be done for timezones :) client/mysqlbinlog.cc: mysqlbinlog needs charsets knowledge, to be able to convert a charset number found in binlog to a charset name (to be able to print things like this: SET @`a`:=_cp850 0x4DFC6C6C6572 COLLATE `cp850_general_ci`; mysql-test/mysql-test-run.sh: tell mysqlbinlog about charsets dir mysql-test/r/ctype_ucs.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/drop_temp_table.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/insert_select.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/mix_innodb_myisam_binlog.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/mysqlbinlog.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/mysqlbinlog2.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. The log_pos shift is why the SET INSERT_ID=4 event changes position in the result. mysql-test/r/rpl_charset.result: Running mysqlbinlog to check how it behaves on charset stuff. SET ONE_SHOT is now gone. Repl of LOAD DATA INFILE is not yet charset-aware (will soon be, when WL#874 is pushed) and, anyway result has a dependency on the temp filename (SQL-LOAD-*-[0-9] which is not constant). No more errors if one changes global character sets. mysql-test/r/rpl_error_ignored_table.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_flush_log_loop.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_flush_tables.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_loaddata.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_loaddata_rule_m.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_log.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_max_relay_size.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_relayrotate.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_replicate_do.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_rotate_logs.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_temporary.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_timezone.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/rpl_user_variables.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/r/user_var.result: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. mysql-test/t/rpl_charset.test: Running mysqlbinlog to check how it behaves on charset stuff (so, need fixed timestamp). SET ONE_SHOT is not printed to binlog anymore, so no need to test if ::exec_event() works ok. Repl of LOAD DATA INFILE is not yet charset-aware (will soon be, when WL#874 is pushed) and, anyway result has a dependency on the temp filename (SQL-LOAD-*-[0-9] which is not constant). No more errors if one changes global character sets. mysql-test/t/rpl_user_variables.test: different binlogging of charsets results in shifted log_pos and one added SET @@CHARACTER_SET... per mysqlbinlog run. sql/log.cc: No more SET ONE_SHOT for charsets (remains for TZ until solved with Dmitri). sql/log_event.cc: We now log charset info in each Query_log_event in binlog. It's 2*3 = 6 bytes: session character_set_client, session collation_connection, session collation_server. Now we would need only one byte per variable, but Bar said 2 is safer for the future. When slave or mysqlbinlog reads that info, it needs to get_charset() on these numbers (so, 3 get_charset() calls), as most of the time the 6-byte charset info will be equal to the previous event's, we cache the previous event's charset and if equal, no need to get_charset(). As "flags2", SQL_MODE, catalog, autoinc variables, charset info is not a permanent addition: in the future we can add options to the master to not log any of these, old 5.0 should be able to parse these. A little bit of cleanup on autoinc stuff in replication. Fixing a bug in Start_log_event_v3::exec_event() where we used rli->relay_log.description_event_for_exec->binlog_version while we should use binlog_version (if it's a 3.23 master, that's all that counts; not the fact that the relay log is in 5.0 format). sql/log_event.h: binlogging of charset info in each Query_log_event. sql/mysql_priv.h: comment sql/set_var.cc: checks to refuse change of global charset variables are removed: they were needed for 4.1->4.1 but not for 5.0.3->5.0.3. Yes this opens a breach if one does 4.1->5.0.3, where the checks would still be needed. But these checks would need reading relay_log.description_event_for_queue, which is currently an object used in many places by the I/O thread and only it. So, currently we don't take mutexes for this object, and if we read the object in set_var.cc (client thread) we need to add mutexes everywhere, but the replication code is already too broken with mutexes now (no consistent use of mutexes); mutex usage in replication should be fixed but preferrably during/after multimaster coding as it's going to shuffle mutexes already. sql/set_var.h: Since we don't forbid global change of charset vars for replication/binlogging, don't need specific ::check() methods anymore sql/slave.cc: Some little debug info which has nothing to do with charsets. Disabling master's charset check when slave I/O thread connects. Functions for charset caching/invalidating in the slave SQL thread. sql/slave.h: Cached charset in the slave SQL thread. |
||
unknown
|
8cac2c0562 |
Manual merge of fixes for bugs #7899 "CREATE TABLE .. SELECT .. and
CONVERT_TZ() function does not work well together" and bug #7705 "CONVERT_TZ() crashes with subquery/WHERE on index column" in 5.0 tree. mysql-test/r/timezone2.result: Auto merged mysql-test/t/timezone2.test: Auto merged sql/item_timefunc.cc: Auto merged sql/item_timefunc.h: Auto merged sql/set_var.h: Auto merged sql/set_var.cc: Manual merge. sql/sql_lex.cc: Ignoring changes in st_lex::unlink_first_table()/link_first_table_back() made in 4.1 since they are not applicable to 5.0. sql/tztime.cc: Manual merge. |
||
unknown
|
20bd0bd6fd |
Fix for bug #7899 "CREATE TABLE .. SELECT .. and CONVERT_TZ() function
does not work well together". Now using simplier and more correct implementation of st_lex::unlink_first_table()/link_first_table_back() (It also nicely handles case when global table list is created because of implictly used time zone tables). (2nd attempt) Fix for bug #7705 "CONVERT_TZ() crashes with subquery/WHERE on index column". Implemented new approach for caching objects for constant time zone arguments. Now instead of determining whenever these arguments are constants and performing time zone lookup at fix_fields() stage, we do it on first get_date() invocation. Cleanup of global @@time_zone variable handling. mysql-test/r/timezone2.result: Added test for bugs #7705 "CONVERT_TZ() crashes with subquery/WHERE on index column" and #7899 "CREATE TABLE .. SELECT .. and CONVERT_TZ() function does not work well together". mysql-test/t/timezone2.test: Added test for bugs #7705 "CONVERT_TZ() crashes with subquery/WHERE on index column" and #7899 "CREATE TABLE .. SELECT .. and CONVERT_TZ() function does not work well together". sql/item_timefunc.cc: Item_func_convert_tz(): New approach for caching objects for constant time zone arguments. Now instead of determining whenever these arguments are constants and performing time zone lookup at fix_fields() stage, we do it on first get_date() invocation. This works better in cases when const_item() for these arguments returns true only on get_date() stage but not on fix_fields() stage (e.g. this happens in quries with joins or derived tables). sql/item_timefunc.h: Item_func_convert_tz(): Added from_tz_cached/to_tz_cached members indicating whenever we already have Time_zone object representing one of constant time zone arguments. sql/set_var.cc: Cleaned up global @@time_zone variable handling. Now we use proper locking when we are setting or reading its value. sql/set_var.h: Removed declaration of sys_var_thd_time_zone::get_tz_ptr() method, which no longer used. sql/sql_lex.cc: st_lex::unlink_first_table(), st_lex::link_first_table_back(): Simplify implementation according to Monty's suggestion. Instead doing something special if global and local table lists are the same, we simply save/restore pointers to first elements of both global and local lists (which works even when this lists are the same!). This handles nicely the case when we have separate global table list becuase time zone tables are implicitly used. sql/tztime.cc: Backport of Monty's fixes from 5.0, which give us nicer error messages if we haven't found time zone with such name or its description. |
||
unknown
|
1f6070a4b9 |
Fix for bug #7637: "Test failure: 'user_limits' on QNX and 64-bit systems"
Made user_limits.test scheduling independant (this solves failure on QNX). Made sys_var_max_user_conn variable int sized. Changed max_user_connections from ulong to uint to be able to use it in sys_var_max_user_conn::value_ptr() (solves failures on 64-bit platforms). mysql-test/r/user_limits.result: Made test scheduling independant. mysql-test/t/user_limits.test: Made test scheduling independant. sql/mysql_priv.h: Made max_user_connections to be the same size as USER_RESOURCES::user_conn (to be able to use them in sys_var_max_user_conn::value_ptr()). sql/mysqld.cc: Made max_user_connections to be the same size as USER_RESOURCES::user_conn (to be able to use them in sys_var_max_user_conn::value_ptr()). sql/set_var.cc: sys_var::item(): Added support for int system variables. sql/set_var.h: Made sys_var_max_user_conn to be int sized variable. |
||
unknown
|
88bd301d36 |
XA (not completely polished out yet)
include/my_pthread.h: cleanup. don't use gcc extensions innobase/include/trx0sys.ic: Jan's fix for innobase_xa_prepare innobase/read/read0read.c: Jan's fix for innobase_xa_prepare innobase/trx/trx0trx.c: Jan's fix for innobase_xa_prepare mysql-test/include/varchar.inc: test fix mysql-test/r/ctype_ucs.result: new log event - all binlog positions are changed :( mysql-test/r/drop_temp_table.result: new log event - all binlog positions are changed :( mysql-test/r/insert_select.result: new log event - all binlog positions are changed :( mysql-test/r/mix_innodb_myisam_binlog.result: new log event - all binlog positions are changed :( mysql-test/r/myisam.result: test fix mysql-test/r/rpl000015.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_change_master.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_charset.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_error_ignored_table.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_flush_log_loop.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_flush_tables.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_loaddata.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_loaddata_rule_m.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_loaddata_rule_s.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_log.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_log_pos.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_max_relay_size.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_relayrotate.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_replicate_do.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_reset_slave.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_rotate_logs.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_server_id1.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_server_id2.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_temporary.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_timezone.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_until.result: new log event - all binlog positions are changed :( mysql-test/r/rpl_user_variables.result: new log event - all binlog positions are changed :( mysql-test/r/user_var.result: new log event - all binlog positions are changed :( mysql-test/t/ctype_ucs.test: new log event - all binlog positions are changed :( mysql-test/t/mix_innodb_myisam_binlog.test: new log event - all binlog positions are changed :( mysql-test/t/mysqlbinlog.test: new log event - all binlog positions are changed :( mysql-test/t/mysqlbinlog2.test: new log event - all binlog positions are changed :( mysql-test/t/rpl_charset.test: new log event - all binlog positions are changed :( mysql-test/t/rpl_error_ignored_table.test: new log event - all binlog positions are changed :( mysql-test/t/rpl_loaddata_rule_m.test: new log event - all binlog positions are changed :( mysql-test/t/rpl_loaddata_rule_s.test: new log event - all binlog positions are changed :( mysql-test/t/rpl_log.test: new log event - all binlog positions are changed :( mysql-test/t/rpl_log_pos.test: new log event - all binlog positions are changed :( mysql-test/t/rpl_user_variables.test: new log event - all binlog positions are changed :( mysql-test/t/user_var.test: new log event - all binlog positions are changed :( mysys/hash.c: typo fixed sql/ha_berkeley.cc: handlerton framework sql/ha_berkeley.h: handlerton framework sql/ha_innodb.cc: handlerton framework sql/ha_innodb.h: handlerton framework sql/handler.cc: new transaction handling, handlerton framework, two-phase commit, XA support sql/handler.h: new transaction handling, handlerton framework, two-phase commit, XA support sql/lex.h: XA commands sql/log.cc: new transaction handling, handlerton framework, two-phase commit, XA support, tc-logging, TC_LOG_MMAP class sql/log_event.cc: Xid_log_event sql/log_event.h: Xid_log_event, LOG_EVENT_BINLOG_CLOSED_F flag sql/mysql_priv.h: wrapper for query_id++ sql/mysqld.cc: new command-line options --log-tc, --log-tc-size, --tc-heuristic-recover, new status variables Tc_log_page_size, Tc_log_max_pages_used, Tc_log_page_waits. init/stop tc logging sql/set_var.h: warning fixed sql/share/errmsg.txt: XA error messages sql/sp_head.cc: s/query_id++/next_query_id()/ sql/sql_base.cc: typo fixed. new transaction handling. sql/sql_class.cc: cleanup of THD.transaction sql/sql_class.h: TC_LOG classes, new status variables, new savepoint handling, XA support sql/sql_insert.cc: comments sql/sql_lex.cc: s/found_colon/found_semicolon/ sql/sql_lex.h: SQLCOM_XA_xxx, XA related changes in Lex sql/sql_parse.cc: cleanup, XA commands, new savepoint handling sql/sql_repl.cc: two functions moved to log.cc sql/sql_repl.h: two functions moved to log.cc sql/sql_trigger.cc: s/lex.name_and_length/lex.ident/ sql/sql_yacc.yy: XA commands, cleanup |
||
unknown
|
05b709fc77 |
WL#1339 "Add per account max_user_connections limit (maximum number
of concurrent connections for the same account)" Added support of account specific max_user_connections limit. Made all user limits to be counted per account instead of the old behavior, which was per user/host accounting. Added option which enables the old behavior. Added testing of these to the test suite. (After review version). client/mysqltest.c: Extended mysqltest to be able to handle connect() statements for which error is expected. - Added replace_dynstr_append() utility function. - added connect_n_handle_errors() function which connects with server without retries and handles errors as if "connect" was usual statement. - do_connect(): added ability to handle connects which are expected to return an error. - run_query_normal(): Moved all expected-error-handling code to separate normal_handle_error()/normal_handle_no_error() functions to be able to reuse them in connect_n_handle_errors(). mysql-test/r/grant.result: Fixed test results since one more column to mysql.user was added. mysql-test/r/system_mysql_db.result: Fixed test results since one more column to mysql.user was added. scripts/mysql_create_system_tables.sh: Added max_user_connections column to mysql.user table for storing new maximal concurrent connections per account limit. scripts/mysql_fix_privilege_tables.sql: Added max_user_connections column to mysql.user table for storing new maximal concurrent connections per account limit. sql/lex.h: Added MAX_USER_CONNECTIONS symbol used for specifying maximum number of concurrent connections per account. sql/mysql_priv.h: Added declaration of opt_old_style_user_limits variable which is defined in sql/mysqld.cc used in sql/sql_parse.cc. sql/mysqld.cc: Added "old-style-user-limits" option which forces user limits to behave in old way i.e. to be counted per user/host pair instead of per account. Added comment describing mqh_used variable. sql/set_var.cc: Added sys_var_max_user_conn class which implements support for the new behavior of max_user_connections variable. Now the global instance of this variable holds default maximum number of concurrent connections per account (as it was before) and the session instance gives read-only access to account-specific version of this limit. sql/set_var.h: Added sys_var_max_user_conn class which implements support for the new behavior of max_user_connections variable. Now the global instance of this variable holds default maximum number of concurrent connections per account (as it was before) and the session instance gives read-only access to account-specific version of this limit. sql/sql_acl.cc: Added support for account-specific MAX_USER_CONNECTIONS limit. Tweaked USER_RESOURCES and their handling for better clarity. sql/sql_parse.cc: Added support for account-specific MAX_USER_CONNECTIONS (maximum number of concurrent connections per account) limit. Changed default behavior of all user limits to be per account instead of per user+host. '--old-style-user-limits' option was added to enable the old behavior. Made maximum number of connections per hour to be independant on the value of global max_user_connections variable. sql/sql_yacc.yy: Added support of new MAX_USER_CONNECTIONS limit to grammar. Renamed USER_RESOURCES::connections member to conn_per_hour and bits member to specified_limits. Also enum is used instead of naked numbers when we are working with specified_limits. sql/structs.h: USER_RESOURCES struct: - Added user_conn member to store the maximum number of concurrent connections for an account. Renamed connections member to conn_per_hour for less ambiguity. - Renamed member 'bits' to 'specified_limits' for the sake of clarity. The member was used as a flag indicating which limits were mentioned in GRANT clause. - Added comments. USER_CONN struct: - Removed unused user_len member. - Added comments. |
||
unknown
|
4ad51359c1 |
Merge with 4.1
(Includes merge of arena code in 4.1 and 5.0) BitKeeper/etc/ignore: auto-union BitKeeper/etc/logging_ok: auto-union VC++Files/sql/mysqld.dsp: Auto merged client/mysql.cc: Auto merged client/mysqltest.c: Auto merged include/my_global.h: Auto merged include/my_sys.h: Auto merged include/mysql.h: Auto merged include/mysql_com.h: Auto merged innobase/row/row0sel.c: Auto merged libmysql/client_settings.h: Auto merged libmysql/libmysql.c: Auto merged libmysqld/Makefile.am: Auto merged libmysqld/examples/Makefile.am: Auto merged libmysqld/lib_sql.cc: Auto merged myisam/mi_check.c: Auto merged myisam/myisamchk.c: Auto merged myisam/sort.c: Auto merged mysql-test/r/connect.result: Auto merged mysql-test/r/ctype_recoding.result: Auto merged mysql-test/r/ctype_ucs.result: Auto merged mysql-test/r/func_in.result: Auto merged mysql-test/r/func_like.result: Auto merged mysql-test/r/gis.result: Auto merged mysql-test/r/having.result: Auto merged mysql-test/r/heap.result: Auto merged mysql-test/r/join.result: Auto merged mysql-test/r/key.result: Auto merged mysql-test/r/lowercase_table.result: Auto merged mysql-test/r/ndb_autodiscover.result: Auto merged mysql-test/r/null.result: Auto merged mysql-test/r/olap.result: Auto merged mysql-test/r/order_by.result: Auto merged mysql-test/r/ps_1general.result: Auto merged mysql-test/r/ps_2myisam.result: Auto merged mysql-test/r/ps_3innodb.result: Auto merged mysql-test/r/ps_4heap.result: Auto merged mysql-test/r/ps_5merge.result: Auto merged mysql-test/r/ps_6bdb.result: Auto merged mysql-test/r/range.result: Auto merged mysql-test/r/rename.result: Auto merged mysql-test/r/show_check.result: Auto merged mysql-test/r/subselect.result: Auto merged mysql-test/r/union.result: Auto merged mysql-test/r/variables.result: Auto merged mysql-test/t/alter_table.test: Auto merged mysql-test/t/null.test: Auto merged mysql-test/t/ps_1general.test: Auto merged mysql-test/t/rpl_charset.test: Auto merged mysql-test/t/rpl_heap.test: Auto merged mysql-test/t/rpl_relayrotate.test: Auto merged mysql-test/t/subselect.test: Auto merged mysql-test/t/variables.test: Auto merged netware/mysql_test_run.c: Auto merged scripts/make_binary_distribution.sh: Auto merged scripts/mysql_create_system_tables.sh: Auto merged scripts/mysql_fix_privilege_tables.sql: Auto merged scripts/mysql_install_db.sh: Auto merged sql/ha_berkeley.cc: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_innodb.h: Auto merged sql/ha_myisam.cc: Auto merged sql/handler.cc: Auto merged sql/handler.h: Auto merged sql/item.h: Auto merged sql/item_cmpfunc.h: Auto merged sql/item_create.cc: Auto merged sql/item_create.h: Auto merged sql/item_func.cc: Auto merged sql/item_func.h: Auto merged sql/item_timefunc.cc: Auto merged sql/item_timefunc.h: Auto merged sql/lex.h: Auto merged sql/lock.cc: Auto merged sql/log_event.cc: Auto merged sql/mysql_priv.h: Auto merged sql/opt_sum.cc: Auto merged sql/protocol.cc: Auto merged sql/records.cc: Auto merged sql/repl_failsafe.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/slave.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_acl.h: Auto merged sql/sql_db.cc: Auto merged sql/sql_delete.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_list.h: Auto merged sql/sql_load.cc: Auto merged sql/sql_rename.cc: Auto merged sql/sql_select.h: Auto merged sql/sql_show.cc: Auto merged sql/sql_string.h: Auto merged sql/table.cc: Auto merged sql-common/client.c: Auto merged client/mysqlbinlog.cc: Merge with 4.1 configure.in: Merge with 4.1 include/mysqld_error.h: Add new error message (1) from 4.1 mysql-test/mysql-test-run.sh: Merge with 4.1 mysql-test/r/func_gconcat.result: Merge with 4.1 mysql-test/r/func_if.result: Merge with 4.1 mysql-test/r/grant.result: Merge with 4.1 mysql-test/r/join_outer.result: Merge with 4.1 mysql-test/r/rpl_charset.result: Merge with 4.1 (This has to be fixed before pushing) mysql-test/r/system_mysql_db.result: Merge with 4.1. Added collation to new privileges mysql-test/t/grant.test: Merge with 4.1 mysql-test/t/grant_cache.test: Merge with 4.1 mysql-test/t/show_check.test: Merge with 4.1 sql/Makefile.am: Merge with 4.1 sql/item.cc: Merge with 4.1 sql/item_cmpfunc.cc: Merge with 4.1 (arena code) sql/item_subselect.cc: Merge with 4.1 sql/item_subselect.h: Merge with 4.1 sql/item_sum.cc: Merge with 4.1 sql/item_sum.h: Merge with 4.1 sql/log.cc: Merge with 4.1 (Remove code that is not relevant for 5.0) sql/mysqld.cc: Merge with 4.1 sql/opt_range.cc: Merge with 4.1 sql/share/czech/errmsg.txt: Merge with 4.1 sql/share/danish/errmsg.txt: Merge with 4.1 sql/share/dutch/errmsg.txt: Merge with 4.1 sql/share/english/errmsg.txt: Merge with 4.1 sql/share/estonian/errmsg.txt: Merge with 4.1 sql/share/french/errmsg.txt: Merge with 4.1 sql/share/german/errmsg.txt: Merge with 4.1 sql/share/greek/errmsg.txt: Merge with 4.1 sql/share/hungarian/errmsg.txt: Merge with 4.1 sql/share/italian/errmsg.txt: Merge with 4.1 sql/share/japanese/errmsg.txt: Merge with 4.1 sql/share/korean/errmsg.txt: Merge with 4.1 sql/share/norwegian-ny/errmsg.txt: Merge with 4.1 sql/share/norwegian/errmsg.txt: Merge with 4.1 sql/share/polish/errmsg.txt: Merge with 4.1 sql/share/portuguese/errmsg.txt: Merge with 4.1 sql/share/romanian/errmsg.txt: Merge with 4.1 sql/share/russian/errmsg.txt: Merge with 4.1 sql/share/serbian/errmsg.txt: Merge with 4.1 sql/share/slovak/errmsg.txt: Merge with 4.1 sql/share/spanish/errmsg.txt: Merge with 4.1 sql/share/swedish/errmsg.txt: Merge with 4.1 sql/share/ukrainian/errmsg.txt: Merge with 4.1 sql/sql_base.cc: Merge with 4.1 sql/sql_class.cc: Merge with 4.1 Use arena code from 4.1 sql/sql_class.h: Merge with 4.1 Use arena code from 4.1 sql/sql_derived.cc: Merge with 4.1 sql/sql_lex.cc: Merge with 4.1 sql/sql_lex.h: Merge with 4.1 sql/sql_parse.cc: Merge with 4.1 sql/sql_prepare.cc: Merge with 4.1 sql/sql_select.cc: Merge with 4.1 sql/sql_table.cc: Merge with 4.1 sql/sql_union.cc: Merge with 4.1 sql/sql_yacc.yy: Merge with 4.1 sql/tztime.cc: Merge with 4.1 tests/client_test.c: Merge with 4.1 |
||
unknown
|
68d7b26698 |
Fix for bug #4508 "CONVERT_TZ() function with new time zone as param crashes server".
Instead of trying to open time zone tables during calculation of CONVERT_TZ() function or setting of @@time_zone variable we should open and lock them with the rest of statement's table (so we should add them to global table list) and after that use such pre-opened tables for loading info about time zones. mysql-test/r/timezone2.result: Added test for bug #4508 mysql-test/t/timezone2.test: Added test for bug #4508 scripts/mysql_create_system_tables.sh: Added one more test time zone to time zone tables which is needed for test for bug #4508. sql/item_create.cc: CONVERT_TZ() now is treated as special function. sql/item_create.h: CONVERT_TZ() now is treated as special function. sql/item_timefunc.cc: Item_func_convert_tz now uses list of pre-opened time zone tables instead of trying to open them ad-hoc. Also it avoid calling of current_thd. sql/item_timefunc.h: Added comment describing special nature of CONVERT_TZ() function. Optimization: Added own fix_fields() method and tz_tables member for caching pointer to list of open time zone tables to Item_func_convert_tz class. sql/lex.h: CONVERT_TZ() now is treated as special function. sql/mysql_priv.h: Removed function which is no longer used. sql/set_var.cc: Now my_tz_find() accepts list of pre-opened time zone tables as last argument and no longer needs pointer to current THD. sql/set_var.h: Exported sys_time_zone, which is now used in sql_yacc.yy for quick finding out if we are setting @@time_zone variable. sql/sql_base.cc: Moved propagation of pointers to open tables from global list to local select lists to open_and_lock_tables(), also added implicit usage of time zone tables as condition for such propagation. sql/sql_lex.cc: Added fake_time_zone_tables_list which is used to indicate that time zone tables are implicitly used in statement. st_select_lex_unit::create_total_list(): if time zone tables are implicitly used in statement add them to global tables list. sql/sql_lex.h: Added LEX::time_zone_tables_used member which is used to indicate that time zone tables are implicitly used in this statement (by pointing to fake_time_zone_table_list) and for holding pointer to those tables after they've been opened. sql/sql_parse.cc: We should also create global table list if statement uses time zone tables implicitly. Added initialization of LEX::time_zone_tables_used to mysql_query_init(). sql/sql_prepare.cc: We should also create global table list if statement uses time zone tables implicitly. sql/sql_select.cc: Removed functions which are no longer used. sql/sql_yacc.yy: CONVERT_TZ() and @@time_zone variable are handled in special way since they implicitly use time zone tables. sql/tztime.cc: Fix for bug #4508 "CONVERT_TZ() function with new time zone as param crashes server". If statement uses CONVERT_TZ() function or @@time_zone variable is set then it implicitly uses time zone tables. We need to open and lock such tables with all other tables of such statement. All code responsible for opening table was removed from tz_load_from_db() and function was renamed to tz_load_from_open_tables() (which uses list of pre-opened tables). We also have new functions for construction and initialization of table list of time zone tables. my_tz_find() now always require list of pre-opened time zone tables and no longer needs current THD. So we have to pre-open them in my_tz_init(). Also now we try to open time zone tables only if they were found during startup. sql/tztime.h: New function for construction of table list of time zone tables my_tz_get_table_list(). Now my_tz_find() requires list of pre-pened time zone tables instead of current thread. |
||
unknown
|
898ceb0f96 |
after merge fixes (making rpl_charset and rpl_timezone pass).
Replication of charsets and timezones should shortly be changed to not need ONE_SHOT (but 5.0 should still be able to read it, to be able to replicate 4.1 masters). mysql-test/r/rpl_charset.result: result update after the merge (only binlog positions differ from 4.1) mysql-test/r/rpl_timezone.result: result update after the merge (only binlog positions differ from 4.1) sql/log.cc: use ONE_SHOT to save charset and TZ info in the binlog (until I rewrite this soon) sql/set_var.cc: Even if in the future, 5.0 will not use ONE_SHOT in ITS binlog, it must still be able to interpret it, to make 4.1->5.0 replication possible sql/set_var.h: Even if in the future, 5.0 will not use ONE_SHOT in ITS binlog, it must still be able to interpret it, to make 4.1->5.0 replication possible |
||
unknown
|
9dde418895 |
Fix for Bug#4030 "Client side conversion string -> date type doesn't
work (prepared statements)" and after-review fixes: - str_to_TIME renamed to str_to_datetime to pair with str_to_time - functions str_to_time and str_to_TIME moved to sql-common - send_data_str now supports MYSQL_TYPE_TIME, MYSQL_TIME_DATE, MYSQL_TIME_DATETIME types of user input buffers. - few more comments in the client library - a test case added. VC++Files/libmysql/libmysql.dsp: new file: my_time.c VC++Files/libmysqld/libmysqld.dsp: new file: my_time.c VC++Files/sql/mysqld.dsp: new file: my_time.c include/Makefile.am: - mysql_time.h added to the list of installed client library headers include/mysql.h: - declarations for MYSQL_TIME and enum_mysql_timestamp_type moved to mysql_time.h, which is in shared use of client library and mysys. libmysql/Makefile.shared: - my_time.lo added to the list of libmysql objects libmysql/libmysql.c: Fix for bug#4030 "Client side conversion string -> date type doesn't work (prepared statements)" and cleanup. - added case labels for TIME/DATE/DATETIME types to send_data_str - comments for read_binary_{date,time,datetime}, fetch_result_*, fetch_results. libmysqld/Makefile.am: - my_time.c added sql-common/Makefile.am: - my_time.c added to the list of files included into source distribution. sql/Makefile.am: my_time.c added to the list of mysqld sources. sql/field.cc: - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} sql/item.cc: - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} sql/item_timefunc.cc: - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} sql/mysql_priv.h: - added typedefs for TIME and timestamp_type - removed declarations for str_to_time and str_to_TIME (now this functions reside in mysys) sql/mysqld.cc: - log_10_int moved to mysys (it's used by str_to_TIME and str_to_time) - enum values TIMESTAMP_{TIME,DATE,DATETIME} were renamed to MYSQL_TIMESTAMP_{TIME,DATE,DATETIME} sql/set_var.cc: - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} sql/set_var.h: - fixed timestamp_type usage to be compatible with typedef. sql/sql_prepare.cc: - TIMESTAMP_{TIME,DATE,DATETIME} were renamed to MYSQL_TIMESTAMP_{TIME,DATE,DATETIME} - embedded library implementation of set_param_{time,date,datetime} is much simplier now, as MYSQL_TIME is the same as TIME. sql/sql_yacc.yy: - s/\<TIMESTAMP_/MYSQL_TIMESTAMP/gc sql/structs.h: - declarations for TIME and timestamp_type replaced with typedefs - str_to_datetime arguments moved to mysys headers sql/time.cc: - str_to_time and str_to_TIME moved to mysys - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} as these names are now exported to client. - str_to_TIME renamed to str_to_datetime to pair with str_to_time - str_to_TIME_with_warn renamed accordingly sql/tztime.cc: - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} tests/client_test.c: - a test case for Bug#4030 "Client side conversion string -> date type doesn't work (prepared statements)" |
||
unknown
|
6aaccbcbf7 |
WL#1264 "Per-thread time zone support infrastructure".
Added basic per-thread time zone functionality (based on public domain elsie-code). Now user can select current time zone (from the list of time zones described in system tables). All NOW-like functions honor this time zone, values of TIMESTAMP type are interpreted as values in this time zone, so now our TIMESTAMP type behaves similar to Oracle's TIMESTAMP WITH LOCAL TIME ZONE (or proper PostgresSQL type). WL#1266 "CONVERT_TZ() - basic time with time zone conversion function". Fixed problems described in Bug #2336 (Different number of warnings when inserting bad datetime as string or as number). This required reworking of datetime realted warning hadling (they now generated at Field object level not in conversion functions). Optimization: Now Field class descendants use table->in_use member instead of current_thd macro. include/my_global.h: Added macro for reading of 32-bit ints stored in network order from unaligned memory location. include/mysqld_error.h: Added error-code for invalid timestamp warning and error-code for wrong or unknown time zone specification. libmysqld/Makefile.am: Added main per-thread time zone support file to libmysqld libmysqld/lib_sql.cc: Added initialization of time zones infrastructure to embedded server. mysql-test/r/connect.result: Updated test result since now mysql database contains more system tables. mysql-test/r/date_formats.result: Now when truncation occurs during conversion to datetime value we are producing Warnings instead of Notes. Also we are giving more clear warnings about this in some cases. mysql-test/r/func_sapdb.result: New warnings about truncation occured during conversion to datetime value added due their better handling. mysql-test/r/func_time.result: New warnings about truncation occured during conversion to datetime value added due their better handling. mysql-test/r/select.result: New warnings about truncation occured during conversion to datetime value added due their better handling. Also tweaked test a bit to made it less ambigious for reader. mysql-test/r/system_mysql_db.result: Updated test result because new system tables holding time zone descriptions were added. mysql-test/r/timezone.result: Updated timezone.test to use new system variable which shows system time zone. Added test of warning which is produced if someone tries to store non-existing (due falling into spring time-gap) datetime value into TIMESTAMP field. mysql-test/r/type_datetime.result: Separated and extended test of values and warnings produced for bad values stored in DATETTIME fields. mysql-test/r/type_time.result: Now we are producing more consistent warning when we are truncating datetime value while storing it in TIME field. mysql-test/r/type_timestamp.result: Separated and extended test of values and warnings produced for bad values stored in TIMESTAMP fields. mysql-test/t/select.test: Updated test to make it less ambigous for reader. mysql-test/t/timezone.test: Updated timezone.test to use new system variable which shows system time zone. Added test of warning which is produced if someone tries to store non-existing (due falling into spring time-gap) datetime value into TIMESTAMP field. mysql-test/t/type_datetime.test: Separated and extended test of values and warnings produced for bad values stored in DATETTIME fields. mysql-test/t/type_timestamp.test: Separated and extended test of values and warnings produced for bad values stored in TIMESTAMP fields. scripts/mysql_create_system_tables.sh: Added creation of tables with time zone descriptions. Also added descriptions of time zones used in tests. scripts/mysql_fix_privilege_tables.sql: Added mysql.time_zone* tables family. sql/Makefile.am: Added files implementing time zone support to server, also added rules for building of mysql_tzinfo_to_sql converter and test_time test. sql/field.cc: Now we are using per-thread time zone for TIMESTAMP <-> whatever conversion. Fixed generation of warnings for datetime types (DATETIME/TIMESTAMP/DATE/...) and any other Field to datetime conversion (now we are generating warnings no in lower level functions like in str_to_TIME() but in Field methods. This allows generate better and more consistent warnings and to reuse code of str_to_TIME() outside of server). Added 3rd parameter to set_warning() method to be able to not increment cut fields but still produce a warning. Also added set_datetime_warning() family of auxiliary methods which allow easier generate datetime related warnings. Also replaced occurences of current_thd with table->in_use member, added asserts for catching all places there we need to set table->in_use accordingly. Renamed fix_datetime() function to number_to_TIME() and moved it to sql/time.cc there it fits better. sql/field.h: Added comment about places where we can use table->in_use member instead of current_thd. Added 3rd parameter to Field::set_warning() method and set_datetime_warning() family of methods. sql/field_conv.cc: Field::set_warning() method with 2 arguments was replaced with more generic set_warning() method with 3 arguments. sql/ha_berkeley.cc: Now we set table->in_use for temporary tables so we have to use table->tmp_table for checking if table is temporary. sql/item.cc: Replaced calls to str_to_time() and str_to_TIME() funcs with their warning generating analogs. sql/item_create.cc: Added creation of CONVERT_TZ function as FUNC_ARG3. sql/item_create.h: Added creation of CONVERT_TZ function as FUNC_ARG3. sql/item_timefunc.cc: Added support of per-thread time zone to NOW-like and FROM_UNIXTIME, UNIX_TIMESTAMP functions. Added support for CONVERT_TZ function. Removed call to str_to_timestamp function which caused non-optimal behavior in certain cases. Replaced calls to str_to_time() function with its warning generating analog. sql/item_timefunc.h: Added support of per-thread time zone to NOW-like and FROM_UNIXTIME, UNIX_TIMESTAMP functions. Added support of CONVERT_TZ function. sql/lex.h: Added support of CONVERT_TZ function. sql/log.cc: Added support for replication of statements depending on time zone. sql/mysql_priv.h: Now including headers with per-thread time zone support functions and classes. Added portable replacement of time_t - my_time_t type. Added time zone as one of query distinguishing parameters for query cache. Fixed declarations of str_to_TIME, str_to_time and my_system_gmt_sec (former my_gmt_sec) since now they have one more out parameter which informs about wrong datetime value or data truncation during conversion. Added warning generating version of str_to_TIME() and str_to_time() functions. Thrown away str_to_datetime/timestamp functions since they are not needed any longer. Added number_to_TIME function. sql/mysqld.cc: Added per-thread time zone support initialization. Added new startup parameter --default-time-zone. sql/set_var.cc: Added support for per-thread time_zone variable. Renamed old timezone variable to system_time_zone. sql/set_var.h: Added support for per-thread time_zone variable. sql/share/czech/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/danish/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/dutch/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/english/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/estonian/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/french/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/german/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/greek/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/hungarian/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/italian/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/japanese/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/korean/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/norwegian-ny/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/norwegian/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/polish/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/portuguese/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/romanian/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/russian/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/serbian/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/slovak/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/spanish/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/swedish/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/share/ukrainian/errmsg.txt: Added error message for barking when incorrect time zone name or specifiaction is provided and for warning about invalid TIMESTAMP values (e.g. falling into the spring time-gap). sql/slave.cc: In order to support replication of statements using time zones in 4.1 we should ensure that both master and slave have same default time zone. sql/sql_base.cc: Now we are setting TABLE::in_use member for all tables (which assume calls to Field::store or val_ methods). sql/sql_cache.cc: Added time zone as one more query distinguishing parameter for query cache. sql/sql_class.cc: Added THD::time_zone_used variable indicating that this query uses per thread time zone. sql/sql_class.h: Added per-thread time zone variable. Added THD::time_zone_used variable indicating that this query uses per thread time zone so if this is updating query the time zone should be logged to binlog. sql/sql_insert.cc: We should set TABLE::in_use member pointing to thread which is called INSERT DELAYED and not to worker thread. sql/sql_load.cc: Field::set_warning() now has one more argument now. sql/sql_parse.cc: Resetting THD::time_zone_used variable in the end of query processing. sql/sql_select.cc: Now we are setting TABLE::in_use member for all tables (which assume calls to Field::store or val_ methods). sql/sql_show.cc: Now using per thread time zone for extended show tables. sql/time.cc: Added support for per-thread time zones for TIMESTAMP type and reworked generation of warnings for TIMESTAMP and DATETIME types. (Introduced new TIME_to_timestamp() function. Removed hours normalisation from former my_gmt_sec() since it was not working and not used anywhere now, but breaks parameter constness, added to this function generation of warning if we are falling in spring time-gap. Removed str_to_timestamp and str_to_datetime functions which are no longer used. Moved fix_datetime function from sql/field.cc to this file as number_to_TIME() function. Added out parameter for str_to_TIME and str_to_time functions which indicates if value was truncated during conversion, removed direct generation of warnings from this functions.) sql/unireg.cc: Now we are setting TABLE::in_use member for all tables (which assume calls to Field::store or val_ methods). BitKeeper/etc/ignore: Added sql/test_time sql/mysql_tzinfo_to_sql libmysqld/tztime.cc to the ignore list |