The problem is that one can not create a stored routine if sql_mode
contains NO_ENGINE_SUBSTITUTION or PAD_CHAR_TO_FULL_LENGTH. Also when
a event is created, the mode is silently lost if sql_mode contains one
of the aforementioned. This was happening because the table definitions
which stored sql_mode values weren't being updated to accept new values
of sql_mode.
The solution is to update, in a backwards compatible manner, the various
table definitions (columns) that store the sql_mode value to take into
account the new possible values. One incompatible change is that if a event
that is being created can't be stored to the mysql.event table, an error
will be raised.
The tests case also ensure that new SQL modes will be added to the mysql.proc
and mysql.event tables, otherwise the tests will fail.
mysql-test/r/events_bugs.result:
Add test case result for Bug#32633
mysql-test/r/information_schema.result:
Update the sql_mode column definition.
mysql-test/r/sp.result:
Add test case result for Bug#32633
mysql-test/r/system_mysql_db.result:
Update the sql_mode column definition.
mysql-test/t/events_bugs.test:
Add test case for Bug#32633
mysql-test/t/sp.test:
Add test case for Bug#32633
mysql-test/t/system_mysql_db_fix50117.test:
Update the sql_mode column definition.
scripts/mysql_system_tables.sql:
Update the sql_mode column definition.
scripts/mysql_system_tables_fix.sql:
Update the sql_mode column definition.
sql/event_db_repository.cc:
Reset and restore SQL modes when storing and loading a
event from the data dictionary. Also throw out a error
if a store fails.
sql/mysqld.cc:
Add warning to avoid this problem in the future.
sql-common/my_user.c:
Truncate length if user name or host name does not fit
in the buffer.
sql/sp.cc:
SQL mode of the thread must not effect data dictionary operations.
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/suite/ndb_team/r/rpl_ndb_dd_advance.result:
Auto merged
mysql-test/suite/rpl_ndb/t/disabled.def:
Auto merged
sql/log_event.cc:
Auto merged
Changed "SHOW ENGINE ... STATUS" and "SHOW ENGINE ... MUTEX"
to require the PROCESS privilege, instead of SUPER.
Fixed by Damien Katz
mysql-test/r/show_check.result:
Add test case result for Bug#32710
mysql-test/t/show_check.test:
Add test case for Bug#32710
sql/sql_parse.cc:
Require PROCESS privilege instead of SUPER.
Re-enable the test case for Bug 30331.
mysql-test/r/lock_multi.result:
Update the test case result for Bug#30331
mysql-test/t/lock_multi.test:
Re-enable the test case for Bug#30331
into ramayana.hindu.god:/home/tsmith/m/bk/build/51
Also use the opportunity to fix a bad merge (remove
duplicate code in mysql-test-run.pl).
mysql-test/mysql-test-run.pl:
Fix bad merge (remove duplicate code adding --user=root arg)
Bug 34311: main.lock_multi.test fails.
mysql-test/r/lock_multi.result:
Update result file.
mysql-test/t/lock_multi.test:
Disabled test case for Bug#30331.
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
include/my_base.h:
Auto merged
mysql-test/include/show_binlog_events2.inc:
Auto merged
mysql-test/suite/binlog/t/binlog_old_versions.test:
Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Auto merged
mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt:
Auto merged
mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt:
Auto merged
sql/log_event_old.cc:
Auto merged
sql/sql_binlog.cc:
Auto merged
mysql-test/suite/rpl/r/rpl_loaddata_map.result:
Manual merge.
mysql-test/suite/rpl/r/rpl_user.result:
Manual merge.
mysql-test/suite/rpl/t/rpl_loaddata_map.test:
Manual merge.
mysql-test/suite/rpl/t/rpl_user.test:
Manual merge.
sql/log_event.cc:
Manual merge.
sql/rpl_record.cc:
Manual merge.
Fixed interference between tests: Users were added but not properly removed.
This caused later tests to fail.
mysql-test/r/grant.result:
Fixed interference between tests: Users were added but not properly removed.
This caused later tests to fail.
mysql-test/t/grant.test:
Fixed interference between tests: Users were added but not properly removed.
This caused later tests to fail.
The problem is that deprecated syntax warnings were not being
suppressed when the stored routine is being parsed for the first
execution. It's doesn't make sense to print out deprecated
syntax warnings when the routine is being executed because this
kind of warning only matters when the routine is being created.
The solution is to suppress deprecated syntax warnings when
parsing the stored routine for loading into the cache (might
mean that the routine is being executed for the first time).
mysql-test/r/sp-error.result:
Add test case result for Bug#21801
mysql-test/t/sp-error.test:
Add test case for Bug#21801
sql/sp.cc:
Implement a internal error handler to catch deprecated
syntax warnings when loading a stored procedure into the
cache.
mysql-test/suite/rpl/r/rpl_row_trig001.result:
Result change.
mysql-test/suite/rpl/t/rpl_row_trig001.test:
Correcting a typo and trying to avoid a race condition when
dumping the contents of the master and slave for comparison.
mysql-test/include/delete_anonymous_users.inc:
Disabling warnings.
mysql-test/lib/mtr_report.pl:
Masking out benign errors and warnings from var/log/warnings file.
make sure to alloc logspace and set bits
if doing delete after previous update wo/ touching DD part
mysql-test/suite/ndb/r/ndb_dd_basic.result:
testcase
mysql-test/suite/ndb/t/ndb_dd_basic.test:
testcase
exists t1,t2,t3'
Bug #34245 Test ndb_binlog_multi fails for 'CREATE TABLE'
Bug #34246 Test rpl_ndb_transaction fails with 'Failed to create
'mysql/ndb_apply_status'
Tests cases didn't wait for cluster to come up due to a typo
in have_multi_ndb.inc.
mysql-test/include/have_multi_ndb.inc:
SHOW TABLES is case-sensitive in the pattern to LIKE.
mysql-test/suite/ndb/t/disabled.def:
Enabling tests.
mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction.test:
Adding include of have_debug since test requires that.
sql/sql_repl.cc:
Replacing 'return' with 'DBUG_RETURN' in debug-traced function.
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
Result change.
mysql-test/suite/binlog/t/binlog_start_comment.test:
Removing --short-form since that cause test to fail.
mysql-test/r/mysqlbinlog.result:
Result file change.
mysql-test/t/mysqlbinlog.test:
Fixing test to not be dependent on the sequence numbers
for file names generated by mysqlbinlog.