mysql-test/r/subselect.result:
new length in UNION
mysql-test/r/union.result:
new length in UNION
test of int with wrong display length
mysql-test/t/union.test:
test of int with wrong display length
sql/item.cc:
new length detection for non-string
sql/item.h:
new length detection for non-string
Also added some related security tests and corrected related error messages.
mysql-test/r/sp-error.result:
New test case for BUG#3339, and updated results for other modified error messages.
mysql-test/r/sp-security.result:
Added tests for creating procedures in another database with and wihout
access rights.
mysql-test/t/sp-error.test:
New test case for BUG#3339.
mysql-test/t/sp-security.test:
Added tests for creating procedures in another database with and wihout
access rights.
sql/sp.cc:
Check existance (and access rights) for database when creating a stored routine.
sql/sp.h:
New error return value for sp_create_* functions, for non existing database.
sql/sql_parse.cc:
Check error return for create stored routine (non existing database),
and corrected the error output for some other commands. (Use qualified
name, not just name.)
mysql-test/r/sp.result:
New test case for BUG#3368.
mysql-test/t/sp.test:
New test case for BUG#3368.
sql/item.h:
Corrected const_item() for item_splocal. (Confusing semantics here, but this
makes group_concat() behave as expected, instead of crashing, and does not
appear to affect anything else.)
mysql-test/r/sp.result:
New test case for BUG#3843.
mysql-test/t/sp.test:
New test case for BUG#3843.
sql/sql_yacc.yy:
Added another multi results special case for stored procedures (analyze).
include/my_base.h:
Auto merged
include/my_bitmap.h:
Auto merged
include/my_sys.h:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/row/row0sel.c:
Auto merged
mysys/my_bitmap.c:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_berkeley.h:
Auto merged
sql/ha_heap.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/handler.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_range.h:
Auto merged
sql/sql_select.h:
Auto merged
mysql-test/r/subselect.result:
outer fields resolving in INSERT/REPLACE and CRETE with SELECT
mysql-test/t/subselect.test:
outer fields resolving in INSERT/REPLACE and CRETE with SELECT
sql/sql_parse.cc:
fixed field resolving mode fo INSERT/REPLACE and CRETE with SELECT
sql/sql_prepare.cc:
fixed field resolving mode fo INSERT/REPLACE and CRETE with SELECT
acinclude.m4:
Auto merged
include/m_ctype.h:
Auto merged
sql/sql_parse.cc:
Auto merged
strings/ctype-big5.c:
Auto merged
strings/ctype-czech.c:
Auto merged
strings/ctype-gbk.c:
Auto merged
strings/ctype-latin1.c:
Auto merged
strings/ctype-simple.c:
Auto merged
strings/ctype-sjis.c:
Auto merged
strings/ctype-tis620.c:
Auto merged
strings/ctype-uca.c:
Auto merged
strings/ctype-utf8.c:
Auto merged
strings/ctype-win1250ch.c:
Auto merged
use MYSQL_TCP_PORT instead of 3306 in tests
client/mysqltest.c:
don't hardcode variables to be taken from environment.
mysql-test/mysql-test-run.sh:
MYSQL_TCP_PORT instead of 3306
mysql-test/t/rpl000015.test:
MYSQL_TCP_PORT instead of 3306
correct prefix compare with my_strnncoll
include/m_ctype.h:
6th argument to my_strncoll to handle prefix comparison
myisam/ft_boolean_search.c:
bug#3964 and related issues: problems with charsets where one byte can match many
*correct* prefix compare with my_strnncoll
*correct* backup of info->lastkey
mysql-test/r/fulltext.result:
6th argument to my_strncoll to handle prefix comparison
mysql-test/t/fulltext.test:
6th argument to my_strncoll to handle prefix comparison
mysys/my_handler.c:
6th argument to my_strncoll to handle prefix comparison
sql/sql_parse.cc:
cleanup
strings/ctype-big5.c:
6th argument to my_strncoll to handle prefix comparison
strings/ctype-bin.c:
6th argument to my_strncoll to handle prefix comparison
strings/ctype-czech.c:
6th argument to my_strncoll to handle prefix comparison
strings/ctype-gbk.c:
6th argument to my_strncoll to handle prefix comparison
strings/ctype-latin1.c:
6th argument to my_strncoll to handle prefix comparison
strings/ctype-mb.c:
6th argument to my_strncoll to handle prefix comparison
strings/ctype-simple.c:
6th argument to my_strncoll to handle prefix comparison
strings/ctype-sjis.c:
6th argument to my_strncoll to handle prefix comparison
strings/ctype-tis620.c:
6th argument to my_strncoll to handle prefix comparison
strings/ctype-uca.c:
6th argument to my_strncoll to handle prefix comparison
strings/ctype-ucs2.c:
6th argument to my_strncoll to handle prefix comparison
strings/ctype-utf8.c:
6th argument to my_strncoll to handle prefix comparison
strings/ctype-win1250ch.c:
6th argument to my_strncoll to handle prefix comparison
close table before opening in optimize
mysql-test/r/subselect.result:
test of EXISTS(SELECT * ...)
mysql-test/t/subselect.test:
test of EXISTS(SELECT * ...)
sql/sql_base.cc:
EXISTS(SELECT * ...)
sql/sql_table.cc:
close table before opening one
mysql-test/r/sp.result:
Added testcase for BUG#3132.
mysql-test/t/sp.test:
Added testcase for BUG#3132.
sql/item_func.cc:
Set a useful max_length in Item_func_sp so field widths are correctly calculated.
mysql-test/t/type_date.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/sql_acl.cc:
Auto merged
mysql-test/r/type_date.result:
merge with 3.23
mysql-test/r/func_group.result:
test of optimized aggregate function re-execution
mysql-test/t/func_group.test:
test of optimized aggregate function re-execution
sql/item_sum.cc:
cleunup() added
sql/item_sum.h:
cleunup() added
mysql-test/r/subselect_innodb.result:
test of unlocking innodb tables and subquery in HAVING clause
mysql-test/t/subselect_innodb.test:
test of unlocking innodb tables and subquery in HAVING clause
sql/item_subselect.cc:
mark SELECT with subquery in HAVING clause
sql/sql_lex.cc:
mark SELECT with subquery in HAVING clause
sql/sql_lex.h:
mark SELECT with subquery in HAVING clause
sql/sql_select.cc:
do not unlock tables early if we have subquery in HAVING clause
binlog even if they changed nothing, and a test for this.
This is useful when users use these commands to clean up their master and slave by issuing
one command on master (assume master and slave have slightly different data for some
reason and you want to clean up both).
Note that I have not changed multi-table DELETE and multi-table UPDATE because their
error-reporting mechanism is more complicated.
mysql-test/r/mysqlbinlog.result:
result update
mysql-test/r/rpl_charset.result:
result update
mysql-test/r/rpl_flush_log_loop.result:
result update
mysql-test/r/rpl_replicate_do.result:
result update
mysql-test/r/rpl_temporary.result:
result update
mysql-test/t/mysqlbinlog.test:
moving SET TIMESTAMP up as DROP shows up in binlog
sql/sql_db.cc:
DROP DATABASE IF EXISTS is now always logged to binlog, even if db did not exist
sql/sql_delete.cc:
DELETE FROM t is now always logged to binlog even if no rows deleted (but in this case, only if really no error).
sql/sql_table.cc:
DROP TABLE IF EXISTS is now always logged to binlog even if table did not exist
sql/sql_update.cc:
UPDATE is now always logged to binlog even if no rows updated (but in this case, only if really no error).
It's not possible to quote the definition according to the current sql_mode
setting, so instead we use the setting stored with the SP (that's how it's
parsed anyway), and show this setting in the SHOW CREATE output.
mysql-test/r/sp.result:
Modifed SHOW CREATE FUNCTION|PROCEDURE output. Show the sql_mode used at
creation as well.
New test case for BUG#2564: SHOW CREATE inconsistent W.R.T ANSI_QUOTES.
mysql-test/t/sp.test:
New test case for BUG#2564: SHOW CREATE inconsistent W.R.T ANSI_QUOTES.
sql/sp.cc:
Rewrote create_string to quote things correctly according to the sql_mode
used at creation time.
sql/sp_head.cc:
Store sql_mode in sp_head and use it for SHOW CREATE.
sql/sp_head.h:
Store sql_mode in sp_head and use it for SHOW CREATE.
In mysqlbinlog, there was a problem with how we escaped the content of a string user variable.
To be perfect, we should have escaped with character_set_client. But this charset is unknown
to mysqlbinlog. So the simplest is to print the string in hex. This is unreadable but
100% safe with any charset (checked with Bar), no more need to bother with character_set_client.
mysql-test/r/rpl_charset.result:
hex strings
mysql-test/r/rpl_user_variables.result:
hex strings
mysql-test/r/user_var.result:
hex strings
sql/log_event.cc:
In mysqlbinlog, there was a problem with how we escaped the content of a string user variable.
To be perfect, we should have escaped with character_set_client. But this charset is unknown
to mysqlbinlog. So the simplest is to print the string in hex. This is unreadable but
100% safe with any charset (checked with Bar), no more need to bother with character_set_client.
(Bug #4035 GROUP_CONCAT with HAVING clause truncates field
Bug #4057 LEFT() function in HAVING clause truncates query result).
mysql-test/r/func_gconcat.result:
a test case
Bug #4035 GROUP_CONCAT with HAVING clause truncates field
Bug #4057 LEFT() function in HAVING clause truncates query result
mysql-test/t/func_gconcat.test:
a test case
Bug #4035 GROUP_CONCAT with HAVING clause truncates field
Bug #4057 LEFT() function in HAVING clause truncates query result
sql/item_strfunc.cc:
a fix (Bug #4057 LEFT() function in HAVING clause truncates query result)
sql/item_strfunc.h:
a fix (Bug #4057 LEFT() function in HAVING clause truncates query result)
sql/item_sum.cc:
a fix (Bug #4035 GROUP_CONCAT with HAVING clause truncates field)
sql/item_sum.h:
a fix (Bug #4035 GROUP_CONCAT with HAVING clause truncates field)
mysql-test/r/ctype_ucs.result:
Test for bug#3946: Error in LPAD() when padstring is longer than 1 character
mysql-test/t/ctype_ucs.test:
Test for bug#3946: Error in LPAD() when padstring is longer than 1 character
mysql-test/r/index_merge.result:
Post-merge update of results. (Ok according to Sanja)
sql/opt_range.cc:
Post-merge fix provided by Sergey Petrunia.
sql/sql_select.cc:
Post-merge fix provided by Sergey Petrunia.
mysql-test/r/ps.result:
Better error message
mysys/my_error.c:
Comments added
sql/item.cc:
Moved a chunk of code from sql_prepare.cc to Item_param::set_from_user_var
sql/item.h:
Moved a chunk of code from sql_prepare.cc to Item_param::set_from_user_var
sql/item_func.cc:
Code cleanup
sql/mysql_priv.h:
Code cleanup
sql/sql_class.cc:
Code cleanup
sql/sql_parse.cc:
use user_var_entry::val_str in PREPARE stmt FROM @var.
sql/sql_prepare.cc:
Post-review fixes and code cleanup.
sql/sql_yacc.yy:
Coding style fixes