mysql-test/r/rpl_rotate_logs.result:
removed host dependence in error messages
mysql-test/t/rpl_rotate_logs.test:
removed host dependence in error messages
mysys/my_error.c:
comment about using my_error family functions
sql/filesort.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/ha_innodb.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/handler.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/item.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/item_cmpfunc.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/item_func.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/item_strfunc.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/item_subselect.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/item_sum.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/lock.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/log.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/mysql_priv.h:
error check moved to fill_record
sql/mysqld.cc:
fixed error messages
sql/parse_file.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/protocol.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/protocol_cursor.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/repl_failsafe.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/set_var.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/slave.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sp.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sp_head.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sp_rcontext.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_acl.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_analyse.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_base.cc:
changing my_error on my_message and my_printf_error where if they are prefered
error check moved to fill_record
sql/sql_class.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_class.h:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_db.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_delete.cc:
changing my_error on my_message and my_printf_error where if they are prefered
error check moved to fill_record
sql/sql_handler.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_help.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_insert.cc:
changing my_error on my_message and my_printf_error where if they are prefered
error check moved to fill_record
sql/sql_lex.cc:
layout fixed
sql/sql_load.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_map.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_parse.cc:
error check moved to fill_record
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_prepare.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_rename.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_repl.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_select.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_show.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_table.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_trigger.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_udf.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_union.cc:
error check moved to fill_record
sql/sql_update.cc:
error check moved to fill_record
sql/sql_view.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/sql_yacc.yy:
changing my_error on my_message and my_printf_error where if they are prefered
sql/table.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/unireg.cc:
changing my_error on my_message and my_printf_error where if they are prefered
sql/item_cmpfunc.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
client/mysqldump.c:
Auto merged
sql/handler.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/handler.h:
SCCS merged
binlog coordinates corresponding to the dump".
The good news is that now mysqldump can be used to get an online backup of InnoDB *which works for
point-in-time recovery and replication slave creation*. Formerly, mysqldump --master-data --single-transaction
used to call in fact mysqldump --master-data, so the dump was not an online dump (took big lock all time of dump).
The only lock which is now taken in this patch is at the beginning of the dump: mysqldump does:
FLUSH TABLES WITH READ LOCK; START TRANSACTION WITH CONSISTENT SNAPSHOT; SHOW MASTER STATUS; UNLOCK TABLES;
so the lock time is in fact the time FLUSH TABLES WITH READ LOCK takes to return (can be 0 or very long, if
a table is undergoing a huge update).
I have done some more minor changes listed in the paragraph of mysqldump.c.
WL#2237 "WITH CONSISTENT SNAPSHOT clause for START TRANSACTION":
it's a START TRANSACTION which additionally starts a consistent read on all
capable storage engine (i.e. InnoDB). So, can serve as a replacement for
BEGIN; SELECT * FROM some_innodb_table LIMIT 1; which starts a consistent read too.
client/mysqldump.c:
Main change: mysqldump --single-transaction --master-data is now able to, at the same time,
take an online dump of InnoDB (using consistent read) AND get the binlog position corresponding to this dump
(before, using the two options used to silently cancel --single-transaction).
This uses the new START TRANSACTION WITH CONSISTENT SNAPSHOT syntax.
Additional changes:
a) cleanup:
- DBerror calls exit() so some code was unneeded
- no need to call COMMIT at end, leave disconnection do the job
- mysql_query_with_error_report()
b) requirements I had heard from colleagues:
- --master-data now requires an argument, to comment out ("--") the CHANGE MASTER or not
(commenting had been asked for point-in-time recovery when replication is not necessary).
- --first-slave is renamed to --lock-all-tables
c) more sensible behaviours (has been discussed internally):
- if used with --master-data, --flush-logs is probably intended to get a flush synchronous
with the dump, not one random flush per dumped db.
- disabled automatic reconnection as, at least, SQL_MODE would be lost (and also, depending
on options, LOCK TABLES, BEGIN, FLUSH TABLES WITH READ LOCK).
include/mysqld_error.h:
an error if START TRANSACTION WITH CONSISTENT SNAPSHOT is called and there is no consistent-read capable storage engine
(idea ((C) PeterG) is that it's a bit like CREATE TABLE ENGINE=InnoDB when there is no support for InnoDB).
sql/handler.cc:
new ha_start_consistent_snapshot(), which, inside an existing transaction, starts a consistent read
(offers an alternative to SELECTing any InnoDB table). Does something only for InnoDB.
Warning if no suitable engine supported.
sql/handler.h:
declarations
sql/lex.h:
symbols for lex
sql/share/czech/errmsg.txt:
new message
sql/share/danish/errmsg.txt:
new message
sql/share/dutch/errmsg.txt:
new message
sql/share/english/errmsg.txt:
new message
sql/share/estonian/errmsg.txt:
new message
sql/share/french/errmsg.txt:
new message
sql/share/german/errmsg.txt:
new message
sql/share/greek/errmsg.txt:
new message
sql/share/hungarian/errmsg.txt:
new message
sql/share/italian/errmsg.txt:
new message
sql/share/japanese/errmsg.txt:
new message
sql/share/korean/errmsg.txt:
new message
sql/share/norwegian-ny/errmsg.txt:
new message
sql/share/norwegian/errmsg.txt:
new message
sql/share/polish/errmsg.txt:
new message
sql/share/portuguese/errmsg.txt:
new message
sql/share/romanian/errmsg.txt:
new message
sql/share/russian/errmsg.txt:
new message
sql/share/serbian/errmsg.txt:
new message
sql/share/slovak/errmsg.txt:
new message
sql/share/spanish/errmsg.txt:
new message
sql/share/swedish/errmsg.txt:
new message
sql/share/ukrainian/errmsg.txt:
new message
sql/sql_lex.h:
new option in lex (transaction options)
sql/sql_parse.cc:
warning comment (never make UNLOCK TABLES commit a transaction, please);
support for starting consistent snapshot.
sql/sql_yacc.yy:
new clause WITH CONSISTENT SNAPSHOT (syntax ok'd by PeterG) for START TRANSACTION.
Added push_back(void *, MEM_ROOT *) to make some list-handling code easier that needs to be allocated in a different mem-root
(Before one had to change thd->mem_root ; push_back(); restore mem_root.
mysql-test/t/range.test:
After merge fixRecR
sql/item_func.cc:
After merge fix
sql/item_sum.cc:
After merge fix
sql/opt_range.cc:
After merge fix
sql/parse_file.cc:
After merge fix
sql/sp.cc:
After merge fix
sql/sp_head.cc:
After merge fix
sql/sp_head.h:
After merge fix
sql/sql_base.cc:
After merge fix
sql/sql_class.h:
After merge fix
sql/sql_list.h:
Added push_back(void *, MEM_ROOT *) to make some list-handling code easier that needs to be allocated in a different mem-root
(Before one had to change thd->mem_root ; push_back(); restore mem_root.
sql/sql_prepare.cc:
After merge fix
sql/sql_select.cc:
After merge fix
sql/sql_table.cc:
After merge fix
Fixed problem with OPTIMIZE on INNODB tables
sql/sql_trigger.cc:
After merge fix
sql/sql_union.cc:
After merge fix
sql/sql_view.cc:
After merge fix
sql/sql_yacc.yy:
After merge fix
sql/table.cc:
After merge fix
BitKeeper/etc/ignore:
auto-union
client/mysqldump.c:
Auto merged
client/mysqltest.c:
Auto merged
innobase/include/row0mysql.h:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/func_in.result:
Auto merged
mysql-test/r/ps.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/type_float.result:
Auto merged
mysql-test/r/user_var.result:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/user_var.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_error.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root.
This gives us the following benefits:
- Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases)
- Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT)
- We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root
client/mysqltest.c:
Remove some not needed defines
(Things like this should be done in config-win.h)
include/config-win.h:
Added popen() and pclose() compatibility macros
mysql-test/t/rpl_failed_optimize-master.opt:
Portability fix
sql/ha_berkeley.cc:
New thd->memroot handling
sql/item_cmpfunc.cc:
Simpler arena swapping code
sql/item_func.cc:
Simpler arena swapping code
sql/item_subselect.cc:
Simpler arena swapping code
New thd->mem_root handling
sql/item_sum.cc:
New thd->mem_root handling
sql/item_timefunc.cc:
Fixed not-initalized usage errors found by valgrind
sql/log_event.cc:
New thd->mem_root handling
sql/mysql_priv.h:
New thd->mem_root handling
sql/mysqld.cc:
New thd->mem_root handling
sql/opt_range.cc:
New thd->mem_root handling
sql/repl_failsafe.cc:
New thd->mem_root handling
sql/set_var.cc:
New thd->mem_root handling
sql/sql_acl.cc:
New thd->mem_root handling
sql/sql_base.cc:
Simpler arena swapping code
New thd->mem_root handling
sql/sql_class.cc:
New thd->mem_root handling
sql/sql_class.h:
Simpler arena swapping code
New thd->mem_root handling
sql/sql_db.cc:
New thd->mem_root handling
sql/sql_error.cc:
New thd->mem_root handling
sql/sql_help.cc:
New thd->mem_root handling
sql/sql_insert.cc:
New thd->mem_root handling
sql/sql_parse.cc:
New thd->mem_root handling
Added some extra checking of return value of new
sql/sql_prepare.cc:
New thd->mem_root handling
sql/sql_select.cc:
New thd->mem_root handling
sql/sql_select.h:
New thd->mem_root handling
sql/sql_union.cc:
Simpler arena swapping code
sql/sql_yacc.yy:
New thd->mem_root handling
sql/table.cc:
New thd->mem_root handling
sql/thr_malloc.cc:
New thd->mem_root handling
tests/client_test.c:
Added drop table to some tests
Changed some table names to 't1'
- No RESTICT|CASCADE in DROP SP (since it's not implemented)
- Added optional "noise" to FETCH: [[NEXT] FROM]
- At least one statement required in all block constructs except BEGIN-END
(where zero is allowed)
mysql-test/r/sp.result:
Modified test cases for optional [[NEXT] FROM] in FETCH.
mysql-test/t/sp.test:
Modified test cases for optional [[NEXT] FROM] in FETCH.
sql/sql_yacc.yy:
Various syntax fixes for stored procedures:
- No RESTICT|CASCADE in DROP SP (since it's not implemented)
- Added optional "noise" to FETCH: [[NEXT] FROM]
- At least one statement required in all block constructs except BEGIN-END
(where zero is allowed)
BitKeeper/etc/ignore:
auto-union
mysql-test/r/grant2.result:
Auto merged
mysql-test/r/sql_mode.result:
Auto merged
mysql-test/t/grant2.test:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
FOUND is not a reserved keyword anymore
Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
Note that the 5.0 tree is not yet up to date: Sanja will have to fix multi-update-locks for this merge to be complete
BUILD/SETUP.sh:
Portability fix
client/mysqltest.c:
Portability fix
mysql-test/r/drop.result:
updated results
mysql-test/r/func_str.result:
New warnings (after merge)
mysql-test/r/insert.result:
Updated tests
mysql-test/r/join_nested.result:
Updated results (because of new column types in 5.0)
mysql-test/r/lock_multi.result:
Temporarly wrong results until Sanja fixes multi-update-lock in 5.0
mysql-test/r/multi_update.result:
Temporary fix until Sanja fixes multi-update locking
mysql-test/r/ps_1general.result:
Update of results after merge
mysql-test/r/ps_2myisam.result:
Update of results after merge
mysql-test/r/ps_3innodb.result:
Update of results after merge
mysql-test/r/ps_4heap.result:
Update of results after merge
mysql-test/r/ps_5merge.result:
Update of results after merge
mysql-test/r/ps_6bdb.result:
Update of results after merge
mysql-test/r/query_cache.result:
Update of results after merge
mysql-test/r/range.result:
New results for new tests
mysql-test/r/rpl_auto_increment.result:
Update with new 4.0 information
mysql-test/r/rpl_charset.result:
After merge fixes
mysql-test/r/subselect.result:
After merge fixes
mysql-test/r/view.result:
Temporary fix until multi-update-locking is fixed
mysql-test/t/drop.test:
Safety fix
mysql-test/t/multi_update.test:
Temporary fix until multi-update-locking is fixed
mysql-test/t/rpl_charset.test:
More comments
mysql-test/t/sp-error.test:
Updated comments
mysql-test/t/view.test:
Temporary fix until multi-update-locking is fixed
scripts/mysql_fix_privilege_tables.sh:
Better error message
sql-common/client.c:
More debugging
sql/ha_ndbcluster.cc:
After merge fixes
sql/handler.cc:
After merge fixes
sql/item.cc:
Simple optimization of creating item
After merge fixed
Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
The problem is that if you compare a string field to a binary string, you can't replace the field with a string constant as the binary comparison may then fail (The original field value may be in a different case)
sql/item.h:
Added Item::set_no_const_sub() to be able to mark fields that can't be substituted
sql/item_cmpfunc.cc:
Mark fields compared as binary to not be substituted.
sql/item_func.cc:
After merge fix
sql/log_event.cc:
After merge fix
sql/mysql_priv.h:
After merge fix
sql/opt_range.cc:
After merge fix
sql/protocol.cc:
Made flags uint instead of int (as it's used as a bit mask)
sql/protocol.h:
Made flags uint instead of int (as it's used as a bit mask)
sql/protocol_cursor.cc:
Made flags uint instead of int (as it's used as a bit mask)
Indentation cleanups
sql/sp.cc:
After merge fixes
Removed compiler warnings
sql/sp_head.cc:
After merge fixes
sql/sql_base.cc:
After merge fixes
Removed 'send_error' from 'insert_fields()' as the error is sent higher up
sql/sql_class.cc:
Give assert if set_n_backup_item_arena is used twice
sql/sql_class.h:
Give assert if set_n_backup_item_arena is used twice
After merge fixes
Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
sql/sql_handler.cc:
After merge fixes
sql/sql_parse.cc:
After merge fixes
sql/sql_prepare.cc:
After merge fixes
sql/sql_select.cc:
After merge fixes
Moved 'build_equal_items' to optimize_cond() (logical place)
sql/sql_table.cc:
After merge fixes
sql/sql_trigger.cc:
After merge fixes
sql/sql_update.cc:
After merge fixes
(This should be fixed by Sanja to have lower granuality locking of tables in multi-update)
sql/sql_view.cc:
After merge fixes
sql/sql_yacc.yy:
After merge fixes
Don't have FOUND as a reserved keyword
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/triggers/post-commit:
Auto merged
Docs/Support/texi2html:
Auto merged
Makefile.am:
Auto merged
client/Makefile.am:
Auto merged
client/mysql.cc:
Auto merged
client/mysqldump.c:
Auto merged
include/my_base.h:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/my_sys.h:
Auto merged
include/my_time.h:
Auto merged
include/mysql.h:
Auto merged
include/mysql_com.h:
Auto merged
innobase/buf/buf0buf.c:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/row/row0sel.c:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/examples/Makefile.am:
Auto merged
myisam/mi_check.c:
Auto merged
mysql-test/include/ps_modify.inc:
Auto merged
mysql-test/install_test_db.sh:
Auto merged
mysql-test/r/alter_table.result:
Auto merged
mysql-test/r/auto_increment.result:
Auto merged
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/ctype_latin1_de.result:
Auto merged
mysql-test/r/ctype_recoding.result:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/func_if.result:
Auto merged
mysql-test/t/derived.test:
Auto merged
mysql-test/t/insert.test:
merge with 4.1
Fixed test case to not use 'if exists' when it shouldn't
mysql-test/t/range.test:
merge with 4.1
Added missing drop table
sql/ha_ndbcluster.cc:
merge with 4.1
Simple optimization: use max() instead of ? :
sql/item_func.cc:
merge with 4.1
(Added back old variable names for easier merges)
sql/opt_range.cc:
merge with 4.1
Removed argument 'parent_alloc' from QUICK_RANGE_SELECT as this was not used
Added assert if using QUICK_GROUP_MIN_MAX_SELECT with parent_alloc as the init() function can't handle this
Changed back get_quick_select_for_ref() to use it's own alloc root becasue this function may be called several times for one query
sql/sql_handler.cc:
merge with 4.1
change variable 'err' to 'error' as same function had a label named 'err'
sql/sql_update.cc:
Use multi-update code from 5.0 instead of 4.1
We will fix the locking code shortly in 5.0 to be faster than in 4.1
mysql-test/r/sp-security.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp-security.test:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/log_event.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_rcontext.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
...and no ALTER privilege either.
For now, only the definer and root can drop or alter an SP.
include/mysqld_error.h:
New access denied error code when dropping/altering stored procedures.
include/sql_state.h:
New access denied error code when dropping/altering stored procedures.
mysql-test/r/sp-error.result:
Removed warning for "unitialized variable", as this popped up in unexpected
places after the access control for drop/alter SPs was added. (And the warning
was wrong and planned to be removed anyway.)
mysql-test/r/sp-security.result:
Added tests for access control on who's allowed to drop and alter SPs.
mysql-test/r/sp.result:
Updated results. (Warning removed.)
mysql-test/t/sp-error.test:
Removed warning for "unitialized variable", as this popped up in unexpected
places after the access control for drop/alter SPs was added. (And the warning
was wrong and planned to be removed anyway.)
mysql-test/t/sp-security.test:
Added tests for access control on who's allowed to drop and alter SPs.
sql/share/czech/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/danish/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/dutch/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/english/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/estonian/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/french/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/german/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/greek/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/hungarian/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/italian/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/japanese/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/korean/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/norwegian-ny/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/norwegian/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/polish/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/portuguese/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/romanian/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/russian/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/serbian/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/slovak/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/spanish/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/swedish/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/share/ukrainian/errmsg.txt:
New access denied error message when dropping/altering stored procedures.
sql/sql_parse.cc:
Added minimal access control for DROP/ALTER PROCEDURE/FUNCTION. Only the definer
and root are allowed to do this.
sql/sql_yacc.yy:
Removed warning for "unitialized variable", as this popped up in unexpected
places after the access control for drop/alter SPs was added. (And the warning
was wrong and planned to be removed anyway.)
Removed the support for renaming SPs. It's non-standard, conflicted with a standard
syntax, and was a bit broken anyway.
mysql-test/r/sp-error.result:
Removed test for renaming procedures with alter.
mysql-test/r/sp.result:
Removed test for renaming procedures with alter.
mysql-test/t/sp-error.test:
Removed test for renaming procedures with alter.
mysql-test/t/sp.test:
Removed test for renaming procedures with alter.
sql/sp.cc:
Removed support for renaming SPs. It's non-standard, conflicted with a standard
syntax, and was a bit broken anyway.
sql/sp.h:
Removed support for renaming SPs. It's non-standard, conflicted with a standard
syntax, and was a bit broken anyway.
sql/sql_parse.cc:
Removed support for renaming SPs. It's non-standard, conflicted with a standard
syntax, and was a bit broken anyway.
sql/sql_yacc.yy:
Removed support for renaming SPs. It's non-standard, conflicted with a standard
syntax, and was a bit broken anyway.
sql/handler.cc:
do not delete the table in the "unkonwn" handler (makes no sense anyway)
sql/handler.h:
more HA_CREATE_USED flags
sql/sql_lex.h:
more ALTER_ flags, no alter_info->is_simple anymore
sql/sql_parse.cc:
no alter_info->is_simple anymore
sql/sql_table.cc:
do not rename the table in the "unkonwn" handler (makes no sense anyway)
smarter ALTER TABLE - don't copy the table if only comment or default values are changed
sql/sql_yacc.yy:
specify what ALTER is todo with flags, not alter_info->is_simple
sql/unireg.cc:
create frm only (but not in the handler) if requested
mysql-test/r/view.result:
fixed default behaviour of WITH CHECK OPTIONS according to standard
sql/sql_yacc.yy:
fixed default behaviour of WITH CHECK OPTIONS according to standard
into sanja.is.com.ua:/home/bell/mysql/bk/work-error-5.0
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
into mysql.com:/home/dlenev/src/mysql-4.1-secfix
sql/mysql_priv.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
he has SELECT and INSERT privileges for table with primary key"
Now we set lex->duplicates= DUP_UPDATE right in parser if INSERT has
ON DUPLICATE KEY UPDATE clause, this simplifies insert_precheck()
function (this also fixes a bug) and some other code.
mysql-test/r/grant2.result:
Added test for bug #6173 "One can circumvent missing UPDATE privilege if
he has SELECT and INSERT privileges for table with primary key"
mysql-test/t/grant2.test:
Added test for bug #6173 "One can circumvent missing UPDATE privilege if
he has SELECT and INSERT privileges for table with primary key"
sql/mysql_priv.h:
insert_precheck() don't need "update" parameter any longer since
now we set lex->duplicates to DUP_UPDATE if INSERT has ON DUPLICATE
KEY UPDATE clause.
sql/sql_parse.cc:
insert_precheck() don't need "update" parameter any longer since
now we set lex->duplicates to DUP_UPDATE if INSERT has ON DUPLICATE
KEY UPDATE clause, so it can determine whenever it is needed to
require UPDATE_ACL by itself. Also calling of mysql_insert() is
simplified.
sql/sql_prepare.cc:
insert_precheck() don't need "update" parameter any longer since
now we set lex->duplicates to DUP_UPDATE if INSERT has ON DUPLICATE
KEY UPDATE clause, so it can determine whenever it is needed to
require UPDATE_ACL by itself. Also calling of mysql_insert() is
simplified.
sql/sql_yacc.yy:
It is better to set Lex->duplicates= DUP_UPDATE right in parser if we
have INSERT with ON DUPLICATE KEY UPDATE clause, rather doing this later.
net_printf/send_error calls replaced by my_error family functions
-1/1 (sent/unsent) error reporting removed
(WL#2133)
include/mysqld_error.h:
new errors added.
mysql-test/r/rpl_charset.result:
new error
mysql-test/r/rpl_timezone.result:
new error
mysql-test/r/sp-security.result:
more clean error message
mysql-test/r/sp.result:
now error state intercepted correctly
mysql-test/t/connect.test:
new error message
mysql-test/t/rpl_charset.test:
new error message
mysql-test/t/rpl_timezone.test:
new error
mysql-test/t/sp-security.test:
more correct error handling
mysql-test/t/sp.test:
now error state intercepted correctly
sql/ha_innodb.cc:
-1/1 (sent/unsent) error reporting removed
sql/ha_innodb.h:
-1/1 (sent/unsent) error reporting removed
sql/item.cc:
only boolean values should be returned by fix_fields()
sql/item_cmpfunc.cc:
only boolean values should be returned by fix_fields()
sql/item_func.cc:
only boolean values should be returned by fix_fields()
net_printf/send_error calls replaced by my_error family functions
sql/item_row.cc:
only boolean values should be returned by fix_fields()
sql/item_subselect.cc:
only boolean values should be returned by fix_fields()
-1/1 (sent/unsent) error reporting removed
sql/item_subselect.h:
-1/1 (sent/unsent) error reporting removed
sql/item_sum.cc:
only boolean values should be returned by fix_fields()
sql/item_timefunc.cc:
only boolean values should be returned by fix_fields()
sql/item_uniq.h:
only boolean values should be returned by fix_fields()
sql/mysql_priv.h:
-1/1 (sent/unsent) error reporting removed
sql/mysqld.cc:
net_printf/send_error calls replaced by my_error family functions
changes in my_message_sql to support error handling correctly
sql/protocol.cc:
net_printf/send_error calls replaced by my_error family functions
sql/protocol_cursor.cc:
net_printf/send_error calls replaced by my_error family functions
sql/repl_failsafe.cc:
net_printf/send_error calls replaced by my_error family functions
-1/1 (sent/unsent) error reporting removed
sql/repl_failsafe.h:
-1/1 (sent/unsent) error reporting removed
sql/set_var.cc:
net_printf/send_error calls replaced by my_error family functions
sql/share/czech/errmsg.txt:
new error messages
sql/share/danish/errmsg.txt:
new error messages
sql/share/dutch/errmsg.txt:
new error messages
sql/share/english/errmsg.txt:
new error messages
sql/share/estonian/errmsg.txt:
new error messages
sql/share/french/errmsg.txt:
new error messages
sql/share/german/errmsg.txt:
new error messages
sql/share/greek/errmsg.txt:
new error messages
sql/share/hungarian/errmsg.txt:
new error messages
sql/share/italian/errmsg.txt:
new error messages
sql/share/japanese/errmsg.txt:
new error messages
sql/share/korean/errmsg.txt:
new error messages
sql/share/norwegian-ny/errmsg.txt:
new error messages
sql/share/norwegian/errmsg.txt:
new error messages
sql/share/polish/errmsg.txt:
new error messages
sql/share/portuguese/errmsg.txt:
new error messages
sql/share/romanian/errmsg.txt:
new error messages
sql/share/russian/errmsg.txt:
new error messages
sql/share/serbian/errmsg.txt:
new error messages
sql/share/slovak/errmsg.txt:
new error messages
sql/share/spanish/errmsg.txt:
new error messages
sql/share/swedish/errmsg.txt:
new error messages
sql/share/ukrainian/errmsg.txt:
new error messages
sql/slave.cc:
net_printf/send_error calls replaced by my_error family functions
-1/1 (sent/unsent) error reporting removed
sql/slave.h:
-1/1 (sent/unsent) error reporting removed
sql/sp.cc:
net_printf/send_error calls replaced by my_error family functions
sql/sp_head.cc:
new eror handling support
net_printf/send_error calls replaced by my_error family functions
sql/sp_rcontext.cc:
net_printf/send_error calls replaced by my_error family functions
sql/sql_acl.cc:
net_printf/send_error calls replaced by my_error family functions
-1/1 (sent/unsent) error reporting removed
sql/sql_acl.h:
-1/1 (sent/unsent) error reporting removed
sql/sql_base.cc:
-1/1 (sent/unsent) error reporting removed
net_printf/send_error calls replaced by my_error family functions
sql/sql_class.cc:
net_printf/send_error calls replaced by my_error family functions
sql/sql_class.h:
my_messhage_sql now set/reset query_error flag
sql/sql_db.cc:
-1/1 (sent/unsent) error reporting removed
sql/sql_delete.cc:
-1/1 (sent/unsent) error reporting removed
net_printf/send_error calls replaced by my_error family functions
sql/sql_do.cc:
-1/1 (sent/unsent) error reporting removed
sql/sql_error.cc:
-1/1 (sent/unsent) error reporting removed
sql/sql_handler.cc:
-1/1 (sent/unsent) error reporting removed
net_printf/send_error calls replaced by my_error family functions
sql/sql_help.cc:
net_printf/send_error calls replaced by my_error family functions
-1/1 (sent/unsent) error reporting removed
sql/sql_insert.cc:
-1/1 (sent/unsent) error reporting removed
net_printf/send_error calls replaced by my_error family functions
sql/sql_lex.h:
-1/1 (sent/unsent) error reporting removed
sql/sql_load.cc:
-1/1 (sent/unsent) error reporting removed
sql/sql_map.cc:
errors without code removed
sql/sql_parse.cc:
net_printf/send_error calls replaced by my_error family functions
-1/1 (sent/unsent) error reporting removed from mysql_execute_command
sql/sql_prepare.cc:
net_printf/send_error calls replaced by my_error family functions
-1/1 (sent/unsent) error reporting removed
sql/sql_repl.cc:
error messages fixed
net_printf/send_error calls replaced by my_error family functions
-1/1 (sent/unsent) error reporting removed
sql/sql_repl.h:
-1/1 (sent/unsent) error reporting removed
sql/sql_select.cc:
-1/1 (sent/unsent) error reporting removed
sql/sql_select.h:
-1/1 (sent/unsent) error reporting removed
sql/sql_show.cc:
-1/1 (sent/unsent) error reporting removed
net_printf/send_error calls replaced by my_error family functions
sql/sql_table.cc:
net_printf/send_error calls replaced by my_error family functions
-1/1 (sent/unsent) error reporting removed
sql/sql_trigger.cc:
-1/1 (sent/unsent) error reporting removed
sql/sql_udf.cc:
net_printf/send_error calls replaced by my_error family functions
sql/sql_union.cc:
-1/1 (sent/unsent) error reporting removed
sql/sql_update.cc:
-1/1 (sent/unsent) error reporting removed
net_printf/send_error calls replaced by my_error family functions
sql/sql_view.cc:
-1/1 (sent/unsent) error reporting removed
sql/sql_view.h:
-1/1 (sent/unsent) error reporting removed
sql/sql_yacc.yy:
net_printf/send_error calls replaced by my_error family functions
NO SQL
CONTAINS SQL (default)
READS SQL DATA
MODIFIES SQL DATA
These are needed as hints for the replication.
(Before this, we did have the default in the mysql.proc table, but no support in the parser.)
mysql-test/r/sp.result:
Modified test cases for new data access characteristics.
mysql-test/t/sp.test:
Modified test cases for new data access characteristics.
scripts/mysql_create_system_tables.sh:
We now support all the SP data access characteristics (not just CONTAINS SQL).
scripts/mysql_fix_privilege_tables.sql:
We now support all the SP data access characteristics (not just CONTAINS SQL).
sql/lex.h:
New tokens for SP data access characteristics.
sql/sp.cc:
Store, print and support alter of data access characteristics.
sql/sp_head.cc:
Added SP_ prefix to some symbols.
sql/sql_lex.h:
Added SP_ prefix to some symbols, and added SP data access enum.
sql/sql_yacc.yy:
Parse SP data access characteristics.
(And allow "alter ... language sql", mostly as a formality, it was accidently
put in the wrong clause before.)
into mishka.local:/home/my/mysql-4.1
sql/item_cmpfunc.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/connect.result:
returned SHOW TABLES default behaviour
mysql-test/r/ctype_recoding.result:
returned SHOW TABLES default behaviour
mysql-test/r/drop.result:
returned SHOW TABLES default behaviour
mysql-test/r/lowercase_table.result:
returned SHOW TABLES default behaviour
mysql-test/r/rename.result:
returned SHOW TABLES default behaviour
mysql-test/r/rpl000009.result:
returned SHOW TABLES default behaviour
mysql-test/r/rpl_error_ignored_table.result:
returned SHOW TABLES default behaviour
mysql-test/r/select.result:
returned SHOW TABLES default behaviour
mysql-test/r/sp.result:
returned SHOW TABLES default behaviour
mysql-test/r/system_mysql_db.result:
returned SHOW TABLES default behaviour
mysql-test/r/view.result:
test of new parameter od SHOW TABLES and default behaviour without parameter
mysql-test/t/view.test:
test of new parameter od SHOW TABLES and default behaviour without parameter
sql/mysql_priv.h:
parameter added to mysqld_show_tables
sql/sql_parse.cc:
parameter added to mysqld_show_tables
sql/sql_show.cc:
showing table type now is controled by new parameter 'FULL' of SHOW TABLES command (SHOW FULL TABLES)
sql/sql_yacc.yy:
showing table type now is controled by new parameter 'FULL' of SHOW TABLES command (SHOW FULL TABLES)
doesn't need to have it's own recovery mechanism.
sql/item.cc:
Deployment of centralized Item change registry, step 2: Item_ref
doesn't need to have it's own recovery mechanism, so it was simplified.
sql/item.h:
Deployment of centralized Item change registry, step 2: Item_ref
doesn't need to have it's own recovery mechanism, so it was simplified.
sql/item_cmpfunc.cc:
- Item::split_sum_func now requires THD
- use THD::register_item_tree_change
sql/item_cmpfunc.h:
- Item::split_sum_func now requires THD
sql/item_func.cc:
- Item::split_sum_func now requires THD
- use THD::register_item_tree_change
sql/item_func.h:
- Item::split_sum_func now requires THD
sql/item_row.cc:
- Item::split_sum_func now requires THD
- use THD::register_item_tree_change
sql/item_row.h:
- Item::split_sum_func now requires THD
sql/item_strfunc.cc:
- Item::split_sum_func now requires THD
- use THD::register_item_tree_change to register changes in the item
tree
sql/item_strfunc.h:
- Item::split_sum_func now requires THD
sql/item_subselect.cc:
- use updated Item_ref constructor
sql/sql_base.cc:
- Item::split_sum_func now requires THD
sql/sql_select.cc:
- Item::split_sum_func now requires THD
sql/sql_yacc.yy:
- use updated Item_ref constructor
Now simply give an error if no database. (The "global SP feature" will be
done using PATH instead.)
mysql-test/r/sp-error.result:
Removed test cases for undone "feature".
mysql-test/t/sp-error.test:
Removed test cases for undone "feature".
sql/sql_parse.cc:
Check if created procedure/function has a database; give error if not.
sql/sql_yacc.yy:
Undid the "global SP feature".
fixed ALTER VIEW syntax
fixed WITH CHECK OPTION clause printing in SHOW CREATE VIEW
mysql-test/r/view.result:
test of VIEW altering
mysql-test/t/view.test:
test of VIEW altering
sql/lex.h:
explicitly mentioned undefined algorithm
sql/sql_show.cc:
explicitly mentioned undefined algorithm
added printing WITH CHECK OPTION clause
sql/sql_view.cc:
test of DELETE privilege and cyclic reference added in case of altering view
effective and requested WITH CHECK OPTION parameters divided
sql/sql_yacc.yy:
fixed ALTER VIEW
sql/table.cc:
effective and requested WITH CHECK OPTION parameters divided
sql/table.h:
effective and requested WITH CHECK OPTION parameters divided
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
Some bigger code changes was necessary becasue of the multi-table-update and the new HANDLER code
include/hash.h:
Added back function that's was used in 4.0
mysql-test/r/delete.result:
Update results after merge
mysql-test/r/flush_table.result:
Update results after merge
mysql-test/r/func_str.result:
Update results after merge
mysql-test/r/handler.result:
Update results after merge
Change is big becasue in MySQL 4.1 you are not allowed to qualify the handler alias with a databasename
mysql-test/r/multi_update.result:
More startup cleanups
mysql-test/r/rename.result:
More startup-cleanups
mysql-test/r/select.result:
More startup cleanups
mysql-test/r/show_check.result:
More startup-cleanups
mysql-test/t/ctype_latin1_de.test:
Cleanup
mysql-test/t/derived.test:
Portability fix
mysql-test/t/handler.test:
Update results after merge
Change is big becasue in MySQL 4.1 you are not allowed to qualify the handler alias with a databasename
mysql-test/t/multi_update.test:
More startup cleanups
mysql-test/t/range.test:
More comments
mysql-test/t/rename.test:
More startup cleanups
mysql-test/t/select.test:
More startup cleanups
mysql-test/t/show_check.test:
More startup cleanups
mysql-test/t/type_timestamp.test:
Add back test deleted during merge
sql/item_cmpfunc.cc:
After merge fixes
sql/item_func.cc:
Remove compiler warning
sql/mysql_priv.h:
After merge fixes
sql/mysqld.cc:
After merge fixes
sql/sql_acl.cc:
More debugging
sql/sql_base.cc:
After merge fixes
(This fix was needed bacause of multi-table-update reopens tables)
sql/sql_handler.cc:
After merge fixes
sql/sql_lex.h:
After merge fixes
sql/sql_select.cc:
After merge fixes
sql/sql_show.cc:
After merge fixes
sql/sql_table.cc:
After merge fixes
Simple cleanup of mysql_discard_or_import_tablespace
sql/sql_update.cc:
After merge fixes
Rework mysql_multi_update to take into account derived tables.
sql/sql_yacc.yy:
After merge fixes
Noteworthy:
- New HANDLER code
- New multi-update-grant-check code
- Table lock code in ha_innodb.cc was not applied
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-ctype-latin1_de.c~c5d8f9208bceb98e:
Auto merged
Build-tools/mysql-copyright-2:
Auto merged
acinclude.m4:
Auto merged
client/mysqladmin.c:
Auto merged
client/mysqldump.c:
Auto merged
include/config-win.h:
Auto merged
include/my_global.h:
Auto merged
include/myisam.h:
Auto merged
innobase/btr/btr0btr.c:
Auto merged
innobase/buf/buf0buf.c:
Auto merged
ltmain.sh:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/fsp/fsp0fsp.c:
Auto merged
innobase/include/dict0dict.h:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/log/log0log.c:
Auto merged
innobase/log/log0recv.c:
Auto merged
innobase/pars/pars0opt.c:
Auto merged
innobase/row/row0row.c:
Auto merged
innobase/sync/sync0arr.c:
Auto merged
innobase/ut/ut0dbg.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_close.c:
Auto merged
myisam/mi_create.c:
Auto merged
myisam/mi_locking.c:
Auto merged
myisam/myisampack.c:
Auto merged
mysql-test/r/delete.result:
Auto merged
mysql-test/r/func_if.result:
Auto merged
Build-tools/mysql-copyright:
Merge with 4.0 (too most of the code from 4.0)
Makefile.am:
merge
client/mysql.cc:
Used 4.1 code
configure.in:
merge
innobase/os/os0file.c:
merge
innobase/row/row0mysql.c:
merge
mysql-test/r/ctype_latin1_de.result:
merge
mysql-test/r/flush_table.result:
merge
mysql-test/r/func_str.result:
merge
mysql-test/r/handler.result:
merge
mysql-test/r/multi_update.result:
merge
mysql-test/r/type_timestamp.result:
Removed testing of 'new' mode, as this is only relevant for 4.0
mysql-test/r/update.result:
merge
mysql-test/t/delete.test:
merge
mysql-test/t/flush_table.test:
merge
mysql-test/t/func_str.test:
merge
mysql-test/t/handler.test:
merge
mysql-test/t/multi_update.test:
merge
mysql-test/t/type_timestamp.test:
Removed testing of 'new' mode, as this is only relevant for 4.0
mysql-test/t/update.test:
merge
mysys/errors.c:
merge
mysys/my_fstream.c:
merge
mysys/my_pread.c:
merge
mysys/my_write.c:
merge
mysys/mysys_priv.h:
merge
scripts/mysqlhotcopy.sh:
merge
sql/field.cc:
Keep code from 4.1
sql/field.h:
Keep code from 4.1
sql/ha_innodb.cc:
Don't merge lock code from 4.0; Heikki will look at this
sql/ha_myisam.cc:
merge
sql/handler.cc:
merge
sql/item_cmpfunc.cc:
merge
sql/item_cmpfunc.h:
merge
sql/item_strfunc.cc:
merge
sql/mysql_priv.h:
merge
sql/mysqld.cc:
merge
sql/protocol.cc:
merge
sql/records.cc:
merge
sql/repl_failsafe.cc:
merge
mysql-test/r/lock_multi.result:
merge
mysql-test/t/ctype_latin1_de.test:
merge
mysql-test/t/func_if.test:
merge
mysql-test/t/lock_multi.test:
merge
sql/repl_failsafe.h:
merge
Remove unnessessary header protection
sql/slave.h:
merge
sql/sql_acl.cc:
merge
sql/sql_base.cc:
merge
sql/sql_cache.cc:
auto merge
sql/sql_class.cc:
merge
sql/sql_class.h:
merge
sql/sql_delete.cc:
merge
sql/sql_handler.cc:
Get new HANDLER code into 4.1
sql/sql_parse.cc:
Keep old file
sql/sql_repl.cc:
merge
sql/sql_repl.h:
merge
sql/sql_show.cc:
merge
sql/sql_table.cc:
merge
sql/sql_union.cc:
Applied the examine_rows bug fix from 4.0 by hand
sql/sql_update.cc:
New multi-update-grant-check code from 4.0
sql/sql_yacc.yy:
New multi-update-grant-check code from 4.0
sql/stacktrace.c:
merge
sql/table.h:
merge
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
mysql-test/r/sp.result:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
Ensures that WRITE lock is not obtained on all tables referenced.
mysql-test/r/lock_multi.result:
Bug#4118
New test for multi-update locking
mysql-test/r/multi_update.result:
Bug#4118
Fix test
mysql-test/t/lock_multi.test:
Bug#4118
New test for multi-update locking
mysql-test/t/multi_update.test:
Bug#4118
Fix test
sql/sql_parse.cc:
Bug#4118
Split multi-update to its own case statement in sql_parse.cc
sql/sql_update.cc:
Bug#4118
Overview of locking checking:
1. Open and acquire READ lock
2. Check to see which tables need WRITE lock
3. Unlock tables and relock
sql/sql_yacc.yy:
Bug#4118
Split multi-update to its own case statement in sql_parse.cc
More tests.
Better error messages.
Fixed bug when checking if we updated all needed columns for INSERT.
Give an error if we encounter a wrong float value during parsing.
Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS.
Fixed UPDATE IGNORE when using STRICT mode.
include/mysqld_error.h:
More error messages for strict mode
include/sql_state.h:
Fixed wrong state
New error message
mysql-test/r/alter_table.result:
Updated results for not automatic default fields
mysql-test/r/auto_increment.result:
Better error messages
mysql-test/r/create.result:
Updated results for not automatic default fields
Better error messages
mysql-test/r/ctype_collate.result:
Updated results for not automatic default fields
mysql-test/r/ctype_latin1_de.result:
Updated results for not automatic default fields
mysql-test/r/ctype_many.result:
Updated results for not automatic default fields
mysql-test/r/ctype_recoding.result:
Updated results for not automatic default fields
mysql-test/r/gis-rtree.result:
Updated results for not automatic default fields
mysql-test/r/gis.result:
Updated results for not automatic default fields
mysql-test/r/innodb.result:
Updated results for not automatic default fields
mysql-test/r/insert.result:
Better error messages
mysql-test/r/insert_select.result:
Better error messages
mysql-test/r/isam.result:
Updated results for not automatic default fields
mysql-test/r/key.result:
Better error messages
mysql-test/r/merge.result:
Updated results for not automatic default fields
mysql-test/r/null.result:
Better error messages
mysql-test/r/null_key.result:
Better error messages
mysql-test/r/ps_1general.result:
Updated results for not automatic default fields
mysql-test/r/select.result:
Drop views that may interfere with later results
mysql-test/r/show_check.result:
Updated results for not automatic default fields
mysql-test/r/sp.result:
Updated results for not automatic default fields
mysql-test/r/strict.result:
More tests
mysql-test/r/type_set.result:
Updated results for not automatic default fields
mysql-test/r/warnings.result:
Better error messages
mysql-test/t/insert.test:
Using wrong float values now gives an error
mysql-test/t/select.test:
Drop views that may interfere with later results
mysql-test/t/strict.test:
More tests
scripts/mysql_fix_privilege_tables.sql:
Add missing DEFAULT's
sql/field.cc:
Fix some strict mode issues for float and double
sql/field.h:
Fix DEFAULT handling
sql/item.cc:
Give an error if we encounter a wrong float value during parsing.
Give an error if we use DEFAULT() on a field that doesn't have a default value.
sql/item.h:
Give an error if we encounter a wrong float value during parsing.
sql/mysqld.cc:
More debug info
sql/share/czech/errmsg.txt:
Better error messages
sql/share/danish/errmsg.txt:
Better error messages
sql/share/dutch/errmsg.txt:
Better error messages
sql/share/english/errmsg.txt:
Better error messages
sql/share/estonian/errmsg.txt:
Better error messages
sql/share/french/errmsg.txt:
Better error messages
sql/share/german/errmsg.txt:
Better error messages
sql/share/greek/errmsg.txt:
Better error messages
sql/share/hungarian/errmsg.txt:
Better error messages
sql/share/italian/errmsg.txt:
Better error messages
sql/share/japanese/errmsg.txt:
Better error messages
sql/share/korean/errmsg.txt:
Better error messages
sql/share/norwegian-ny/errmsg.txt:
Better error messages
sql/share/norwegian/errmsg.txt:
Better error messages
sql/share/polish/errmsg.txt:
Better error messages
sql/share/portuguese/errmsg.txt:
Better error messages
sql/share/romanian/errmsg.txt:
Better error messages
sql/share/russian/errmsg.txt:
Better error messages
sql/share/serbian/errmsg.txt:
Better error messages
sql/share/slovak/errmsg.txt:
Better error messages
sql/share/spanish/errmsg.txt:
Better error messages
sql/share/swedish/errmsg.txt:
Better error messages
sql/share/ukrainian/errmsg.txt:
Better error messages
sql/sql_insert.cc:
Fixed bug in last push of checking of default values.
sql/sql_parse.cc:
Enum fields has always a default value
sql/sql_show.cc:
Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS
sql/sql_table.cc:
Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
sql/sql_update.cc:
Don't abort for wrong values for UPDATE IGNORE
sql/sql_yacc.yy:
Abort if we find a wrong float value
sql/table.cc:
Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
column types TIMESTAMP is NOT NULL by default, so in order to have
TIMESTAMP column holding NULL valaues you have to specify NULL as
one of its attributes (this needed for backward compatibility).
Main changes:
Replaced TABLE::timestamp_default_now/on_update_now members with
TABLE::timestamp_auto_set_type flag which is used everywhere
for determining if we should auto-set value of TIMESTAMP field
during this operation or not. We are also use Field_timestamp::set_time()
instead of handler::update_timestamp() in handlers.
mysql-test/r/type_timestamp.result:
Added test for TIMESTAMP columns which are able to store NULL values.
mysql-test/t/type_timestamp.test:
Added test for TIMESTAMP columns which are able to store NULL values.
sql/field.cc:
Added support for TIMESTAMP fields holding NULL values.
We don't need Field_timestamp::set_timestamp_offsets() anymore.
Instead we need Field_timestamp::get_auto_set_type() function
which will convert TIMESTAMP auto-set type stored in Field in
unireg_check to value from timestamp_auto_set_type_enum.
(We can't replace this function with additional Field_timestamp member
and some code in constructor because then we will have troubles
with Field::new_field() method).
We should also set field to not null in Field_timestamp::set_time() now.
sql/field.h:
Added support for TIMESTAMP fields holding NULL values.
We don't need Field_timestamp::set_timestamp_offsets() anymore.
Instead we need Field_timestamp::get_auto_set_type() function,
which will convert TIMESTAMP auto-set type stored in Field in
unireg_check to value from timestamp_auto_set_type_enum.
We also have to support NULL values in Field_timestamp::get_timestamp()
function.
sql/field_conv.cc:
Added comment clarifying behavior in case of TIMESTAMP fields which are
able to store NULL values.
sql/ha_berkeley.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_heap.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_innodb.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_isam.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_isammrg.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_myisam.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_myisammrg.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_ndbcluster.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/handler.cc:
handler::update_timestamp() is no longer needed since now we use
Field_timestamp::set_time() instead.
(we can't use handler::update_timestamp() anyway since field position
only is not enough for TIMESTAMP fields which are able to store NULLs)
sql/handler.h:
handler::update_timestamp() is no longer needed since now we use
Field_timestamp::set_time() instead.
sql/item_timefunc.cc:
Since now TIMESTAMP fields can hold NULL values we should take this into
account.
sql/sql_base.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
(Here we use Field_timestamp::get_auto_set_type() to setup its value
before further statement execution).
sql/sql_insert.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_load.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_parse.cc:
Added support for TIMESTAMP fields holding NULL values.
We should distinguish NULL default values and non-specified default
values for such fields (because latter could mean DEFAULT NOW()
ON UPDATE NOW() in some cases).
sql/sql_show.cc:
Added support for TIMESTAMP fields holding NULL values.
Unlike all other fields these are NOT NULL by default
so we have to specify NULL attribute explicitly for them.
sql/sql_table.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_update.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_yacc.yy:
Added support for TIMESTAMP fields holding NULL values.
Unlike all other fields these are NOT NULL by default
(so we have to set NOT_NULL_FLAG properly for them).
sql/table.h:
Added timestamp_auto_set_type enum which values are used for indicating
during which operations we should automatically set TIMESTAPM field
value to current timestamp.
TABLE: Replaced timestamp_default_now/on_update_now members with
timestamp_auto_set_type flag (Now when TIMESTAMP field are able to
store NULL values, single position of field in record is not enough
for updating this field anyway).
sql/sql_class.h:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged