produce warning for 'create database if not exists' if database exists
do not update database options in this case
produce warning for 'create table if not exists' if table exists
mysql-test/r/create.result:
Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
updated test case result
mysql-test/r/temp_table.result:
Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
updated test case result
mysql-test/r/warnings.result:
Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
updated test case result
mysql-test/t/create.test:
Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
test case
sql/sql_db.cc:
Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
produce warning for 'create database if not exists' if database exists
do not update database options in this case
sql/sql_table.cc:
Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
produce warning for 'create table if not exists' if table exists
Customer's test case for bug#12695 Item_func_isnull::update_used_tables() did
not update const_item_cache.
mysql-test/t/insert_select.test:
Customer's test case for bug#12695 Item_func_isnull::update_used_tables() did
not update const_item_cache.
mysql-test/r/insert_select.result:
Customer's test case for bug#12695 Item_func_isnull::update_used_tables() did
not update const_item_cache.
Fixed bug #12885.
Forced inheritence of the maybe_null flag for the expressions
containing GROUP BY attributes in selects with ROLLUP.
olap.test, olap.result:
Added test case for bug #12885.
mysql-test/r/olap.result:
Added test case for bug #12885.
mysql-test/t/olap.test:
Added test case for bug #12885.
sql/sql_select.cc:
Fixed bug #12885.
Forced inheritence of the maybe_null flag for the expressions
containing GROUP BY attributes in selects with ROLLUP.
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
sql/item_sum.cc:
Auto merged
into mysql.com:/usr/home/bar/mysql-4.1.b12829
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
sql/item_sum.cc:
Auto merged
Added test cases for bug #12863.
item_sum.cc, item_sum.h:
Fixed bug #12863.
Added a flag to Item_func_group_concat set to FALSE after
concatenation of the first element of a group.
sql/item_sum.h:
Fixed bug #12863.
Added a flag to Item_func_group_concat set to FALSE after
concatenation of the first element of a group.
sql/item_sum.cc:
Fixed bug #12863.
Added a flag to Item_func_group_concat set to FALSE after
concatenation of the first element of a group.
mysql-test/t/func_gconcat.test:
Added test cases for bug #12863.
mysql-test/r/func_gconcat.result:
Added test cases for bug #12863.
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
The classes Item_func_between, Item_func_if, Item_func_in are modified.
Item_func_between/in objects can represent now [NOT]BETWEEN/IN expressions.
The class Item_func_opt_neg is added to factor out the functionality
common for the modified classes Item_func_between and Item_func_in.
item_cmpfunc.cc:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
Added Item_func_between::fix_fields(), Item_func_if::fix_fields(),
Item_func_in::fix_fields(). They correct generic calculation of
the not_null_tables attribute when it is needed.
Modified Item_func_between::val_int(), Item_func_in::val_int().
opt_range.cc:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
The function get_mm_tree() is modified. There cannot be NOT before
BETWEEN/IN anymore. Rather Item_func_between/in objects can represent
now [NOT]BETWEEN/IN expressions.
sql_yacc.yy:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
Item_func_between/in objects can represent now [NOT]BETWEEN/IN expresions.
join_outer.result:
Fixed some testcases results (bugs #12101, #12102)
join_outer.test:
Added testcases for bugs #12101, #12102
mysql-test/t/join_outer.test:
Added testcases for bugs #12101, #12102
mysql-test/r/join_outer.result:
Fixed some testcases results (bugs #12101, #12102)
sql/sql_yacc.yy:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
Item_func_between/in objects can represent now [NOT]BETWEEN/IN expresions.
sql/opt_range.cc:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
The function get_mm_tree() is modified. There cannot be NOT before
BETWEEN/IN anymore. Rather Item_func_between/in objects can represent
now [NOT]BETWEEN/IN expressions.
sql/item_cmpfunc.cc:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
Added Item_func_between::fix_fields(), Item_func_if::fix_fields(),
Item_func_in::fix_fields(). They correct generic calculation of
the not_null_tables attribute when it is needed.
Modified Item_func_between::val_int(), Item_func_in::val_int().
sql/item_cmpfunc.h:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
The classes Item_func_between, Item_func_if, Item_func_in are modified.
Item_func_between/in objects can represent now [NOT]BETWEEN/IN expressions.
The class Item_func_opt_neg is added to factor out the functionality
common for the modified classes Item_func_between and Item_func_in.
adding test case.
item_cmpfunc.cc:
Bug#12611
ESCAPE + LIKE do not work when the escape char is a multibyte one
Additional fix for 8bit character sets:
escape character must be converted into
operation character set.
sql/item_cmpfunc.cc:
Bug#12611
ESCAPE + LIKE do not work when the escape char is a multibyte one
Additional fix for 8bit character sets:
escape character must be converted into
operation character set.
mysql-test/t/func_like.test:
adding test case.
mysql-test/r/func_like.result:
adding test case.
mysql-test/r/mysqltest.result:
Disable test for failing --exec and --system since output can't be piped to /dev/null on all platforms
mysql-test/t/mysqltest.test:
Disable test for failing --exec and --system since output can't be piped to /dev/null on all platforms
Avoid "echo -e" by using a temporary .sql file for tests that require more than one line.
Test case for bug #12859 group_concat in subquery cause incorrect not null.
mysql-test/r/func_gconcat.result:
Test case for bug #12859 group_concat in subquery cause incorrect not null.
mysql-test/t/func_gconcat.test:
Test case for bug #12859 group_concat in subquery cause incorrect not null.
mysql-test/r/mysqltest.result:
Update test results
mysql-test/t/mysqltest.test:
Send output from failed command to /dev/null in order to avoid recording the output from different shells
into mysql.com:/usr/home/bar/mysql-4.1.b12363
mysql-test/t/variables.test:
Auto merged
sql/set_var.cc:
Auto merged
mysql-test/r/variables.result:
SCCS merged
into neptunus.(none):/home/msvensson/mysql/bug11316/my41-bug11316
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/create_select_tmp.test:
Auto merged
mysql-test/t/drop.test:
Auto merged
mysql-test/t/flush.test:
Auto merged
mysql-test/t/handler.test:
Auto merged
mysql-test/t/innodb-deadlock.test:
Auto merged
mysql-test/t/innodb-lock.test:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/ndb_autodiscover2.test:
Auto merged
mysql-test/t/rpl000001.test:
Auto merged
mysql-test/t/rpl_EE_error.test:
Auto merged
mysql-test/t/rpl_change_master.test:
Auto merged
mysql-test/t/rpl_deadlock.test:
Auto merged
mysql-test/t/rpl_drop.test:
Auto merged
mysql-test/t/rpl_drop_temp.test:
Auto merged
mysql-test/t/rpl_error_ignored_table.test:
Auto merged
mysql-test/t/rpl_flush_log_loop.test:
Auto merged
mysql-test/t/rpl_insert_id.test:
Auto merged
mysql-test/t/rpl_loaddata.test:
Auto merged
mysql-test/t/rpl_rotate_logs.test:
Auto merged
mysql-test/t/rpl_until.test:
Auto merged
client/mysqltest.c:
Manual merge
mysql-test/t/mysqltest.test:
Manual merge
into mysql.com:/home/dlenev/src/mysql-4.1-bg12423
sql/mysqld.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
mysql-test/r/grant2.result:
Manual merge.
mysql-test/t/grant2.test:
Manual merge.
multi-threaded environment".
To avoid deadlocks between several simultaneously run account management
commands (particularly between FLUSH PRIVILEGES/SET PASSWORD and GRANT
commands) we should always take table and internal locks during their
execution in the same order. In other words we should first open and lock
privilege tables and only then obtain acl_cache::lock/LOCK_grant locks.
mysql-test/r/grant2.result:
Added test for bug #12423 "Deadlock when doing FLUSH PRIVILEGES and GRANT in
multi-threaded environment".
mysql-test/t/grant2.test:
Added test for bug #12423 "Deadlock when doing FLUSH PRIVILEGES and GRANT in
multi-threaded environment".
sql/mysqld.cc:
acl_init/grant_init() are now used only at server start up so they always
allocate temporary THD object and don't need argument for passing pointer
to it.
sql/sql_acl.cc:
To avoid deadlocks between several simultaneously run account management
commands (particularly between FLUSH PRIVILEGES/SET PASSWORD and GRANT
commands) we should always take table and internal locks during their
execution in the same order. In other words we should first open and lock
privilege tables and only then obtain acl_cache::lock/LOCK_grant locks.
Changed acl_reload()/grant_reload() and change_password()/update_user_table()
in such way that they obey this principle. Now in acl_reload()/grant_reload()/
change_password() we open and lock privilege tables, then obtain internal
locks and then call acl_load()/grant_load()/update_user_table() functions to
do actual loading or updating.
sql/sql_acl.h:
acl_init/grant_init() are now used only at server start up so they always
allocate temporary THD object and don't need argument for passing pointer
to it. acl_reload()/grant_reload() now are able to report about their
success or failure through return value.
sql/sql_parse.cc:
If reload_acl_and_cache() is called from SIGHUP handler we have to
allocate temporary THD for execution of acl_reload()/grant_reload().
client/mysqltest.c:
Fix function var_copy to make it possible to assign one variable to another.
ex: let $1=$2
mysql-test/r/mysqltest.result:
Update test result
mysql-test/t/mysqltest.test:
Add test cases for variable to variable assignment
- Move clearing of expected errors
client/mysqltest.c:
Move clear of expected errors to the query loop so that the expected error is reset even when the query is retrieved from the q_lines cache.
mysql-test/r/mysqltest.result:
Update test results
mysql-test/t/mysqltest.test:
Add test for bug#12471
on Windows. (Bug #12325)
mysql-test/r/lowercase_table.result:
Update results
mysql-test/t/lowercase_table.test:
Move test to new windows.test, since it is Windows-specific
mysys/my_access.c:
Check that we've matched the whole forbidden name.
mysql-test/include/windows.inc:
New BitKeeper file ``mysql-test/include/windows.inc''
mysql-test/r/windows.result:
New BitKeeper file ``mysql-test/r/windows.result''
mysql-test/t/windows.test:
New BitKeeper file ``mysql-test/t/windows.test''
Use !<err_no> instead
client/mysqltest.c:
Remove syntax !$<err_no> to set an expected error code
mysql-test/r/mysqltest.result:
Update test result
mysql-test/t/mysqltest.test:
Uncomment tests for the deprecated syntax
rpl_replicate_do.result:
New test case
sql_parse.cc:
All SET statements should be executed by slave thd
rpl_replicate_do.test:
New test case
mysql-test/t/rpl_replicate_do.test:
Added test
sql/sql_parse.cc:
All SET commands should be executed by slave thd
mysql-test/r/rpl_replicate_do.result:
New test case
- Add stricter checking of syntax in mysqltest
client/mysqltest.c:
Stricter checking of syntax in mysqltest.
mysql-test/r/mysqltest.result:
Update test results
mysql-test/t/create.test:
Remove extra ;
mysql-test/t/create_select_tmp.test:
Remove extra ;
mysql-test/t/drop.test:
Remove extra ;
mysql-test/t/flush.test:
Remove extra ;
mysql-test/t/handler.test:
Remove extra ;
mysql-test/t/innodb.test:
Remove extra ;
mysql-test/t/mysqltest.test:
Add more tests for replace, replace_columns, comments with commands and sync_with_master
mysql-test/t/rpl000001.test:
Remove extra ;
mysql-test/t/rpl_EE_error.test:
Remove extra ;
mysql-test/t/rpl_drop.test:
Remove extra ;
mysql-test/t/rpl_error_ignored_table.test:
Remove extra ;
mysql-test/t/rpl_loaddata.test:
Remove extra ;
Item_func_group_concat::fix_fields() set maybe_null flag to 0, and set it to
1 only if some of it's arguments may be null. When used in subquery in tmp
table created field which can't be null. When no data retireved result field
have to be set to null and error mentioned in bug report occurs. Also this
bug can occur if selecting from not null field in empty table.
Function group_concat now marked maybe_null from the very beginning not only
if some of it's argument may be null.
sql/item_sum.cc:
Fix bug #12861 client hang with group_concat insubquery FROM DUAL.
mysql-test/r/func_gconcat.result:
Test case for bug #12861 client hang with group_concat insubquery FROM DUAL.
mysql-test/t/func_gconcat.test:
Test case for bug #12861 client hang with group_concat insubquery FROM DUAL.