updating two test results.
mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result:
results changed.
mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result:
results changed.
The partitioning clause is only a very long single line, which is very
hard to interpret for a human. This patch breaks the partitioning
syntax into one line for the partitioning type, and one line per
partition/subpartition.
mysql-test/r/information_schema_part.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/r/partition.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/r/partition_archive.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/r/partition_datatype.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/r/partition_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/r/partition_mgm.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/r/partition_mgm_err.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/r/partition_not_windows.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/r/partition_range.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/r/partition_symlink.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/ndb/r/ndb_partition_key.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/ndb/r/ndb_partition_range.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/ndb_team/r/ndb_dd_backuprestore.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/inc/partition_directory.inc:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Changed partitioning clause format for verifying the new output format.
mysql-test/suite/parts/r/ndb_dd_backuprestore.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/part_supported_sql_func_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/part_supported_sql_func_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/part_supported_sql_func_ndb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_alter1_1_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_alter1_1_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_alter1_2_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_alter1_2_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_alter2_1_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_alter2_1_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_alter2_2_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_alter2_2_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_alter3_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_alter3_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_alter4_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_alter4_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_auto_increment_archive.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_auto_increment_blackhole.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_auto_increment_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_auto_increment_memory.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_auto_increment_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_auto_increment_ndb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_basic_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_basic_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_basic_symlink_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_basic_symlink_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_bit_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_bit_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_bit_ndb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_char_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_char_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_datetime_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_datetime_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_decimal_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_decimal_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_engine_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_engine_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_engine_ndb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_float_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_float_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_int_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_int_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_int_ndb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc0_archive.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc0_memory.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc0_ndb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc1_archive.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc1_memory.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc1_ndb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc2_archive.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc2_memory.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_mgm_lc2_ndb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_special_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_special_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_syntax_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/partition_syntax_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/parts/r/rpl_partition.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/rpl/r/rpl_extraCol_innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/rpl/r/rpl_extraCol_myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/rpl/r/rpl_innodb_bug28430.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/rpl/r/rpl_row_basic_8partition.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/rpl_ndb/r/rpl_ndb_2innodb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/rpl_ndb/r/rpl_ndb_2myisam.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_partitions.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Updated test result due to the new partitioning clause output format.
mysql-test/t/partition.test:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Added small tests for for the new partitioning clause output format.
mysql-test/t/partition_mgm.test:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Added small tests for for the new partitioning clause output format.
sql/sql_partition.cc:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Changed formatting of the partitioning clause from single line into
multiple indented lines
sql/sql_show.cc:
Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
Changed formatting of the partitioning clause from single line into
multiple indented lines
a test on the bug page does not reveal the problem with the latest trees.
Adding the test to the rpl suite in order to monitor regression.
mysql-test/extra/rpl_tests/rpl_row_basic.test:
a regression test for the bug#38230.
mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result:
results changed.
breaks auto increment
The auto_increment value was not initialized if
the first statement after opening a table was
an 'UPDATE'.
solution was to check initialize if it was not,
before trying to increase it in update.
mysql-test/suite/parts/inc/partition_auto_increment.inc:
Bug#40176: update as first partitioning statement
breaks auto increment
Added tests for verifying the bug and show some more
auto_increment flaws
mysql-test/suite/parts/r/partition_auto_increment_archive.result:
Bug#40176: update as first partitioning statement
breaks auto increment
Updated test results, due to added tests
mysql-test/suite/parts/r/partition_auto_increment_blackhole.result:
Bug#40176: update as first partitioning statement
breaks auto increment
Updated test results, due to added tests
mysql-test/suite/parts/r/partition_auto_increment_innodb.result:
Bug#40176: update as first partitioning statement
breaks auto increment
Updated test results, due to added tests
mysql-test/suite/parts/r/partition_auto_increment_memory.result:
Bug#40176: update as first partitioning statement
breaks auto increment
Updated test results, due to added tests
mysql-test/suite/parts/r/partition_auto_increment_myisam.result:
Bug#40176: update as first partitioning statement
breaks auto increment
Updated test results, due to added tests
mysql-test/suite/parts/r/partition_auto_increment_ndb.result:
Bug#40176: update as first partitioning statement
breaks auto increment
Updated test results, due to added tests
sql/ha_partition.cc:
Bug#40176: update as first partitioning statement
breaks auto increment
make sure that the auto_increment value is initialized
before updating it.
(missed initializing in mysql_update_row).
sql/ha_partition.h:
Bug#40176: update as first partitioning statement
breaks auto increment
Assert that it is initialized, before updating
the auto_increment value
TRIGGERS.SQL_MODE, EVENTS.SQL_MODE, TRIGGERS.DEFINER:
field type is changed to VARCHAR.
mysql-test/r/information_schema.result:
result fix
mysql-test/r/show_check.result:
result fix
mysql-test/suite/funcs_1/r/is_columns_is.result:
result fix
mysql-test/suite/funcs_1/r/is_events.result:
result fix
mysql-test/suite/funcs_1/r/is_triggers.result:
result fix
sql/sql_show.cc:
TRIGGERS.SQL_MODE, EVENTS.SQL_MODE, TRIGGERS.DEFINER:
field type is changed to VARCHAR.
The code to get read the value of a system variable was extracting its value
on PREPARE stage and was substituting the value (as a constant) into the parse tree.
Note that this must be a reversible transformation, i.e. it must be reversed before
each re-execution.
Unfortunately this cannot be reliably done using the current code, because there are
other non-reversible source tree transformations that can interfere with this
reversible transformation.
Fixed by not resolving the value at PREPARE, but at EXECUTE (as the rest of the
functions operate). Added a cache of the value (so that it's constant throughout
the execution of the query). Note that the cache also caches NULL values.
Updated an obsolete related test suite (variables-big) and the code to test the
result type of system variables (as per bug 74).
mysql-test/extra/rpl_tests/rpl_insert_id.test:
Bug #32124: removed ambiguous testcase
mysql-test/r/innodb_data_home_dir_basic.result:
Bug #32124: fixed wrong test case
mysql-test/r/innodb_flush_method_basic.result:
Bug #32124: fixed wrong test case
mysql-test/r/ps_11bugs.result:
Bug #32124: test case
mysql-test/r/ssl_capath_basic.result:
Bug #32124: fixed wrong test case
mysql-test/r/ssl_cipher_basic.result:
Bug #32124: fixed wrong test case
mysql-test/r/variables.result:
Bug #32124: system vars are shown as such in EXPLAIN EXTENDED, not as constants.
mysql-test/suite/rpl/r/rpl_insert_id.result:
Bug #32124: removed ambiguous testcase
mysql-test/t/ps_11bugs.test:
Bug #32124: test case
sql/item.cc:
Bug #32124: placed the code to convert string to longlong or double
to a function (so that it can be reused)
sql/item.h:
Bug #32124: placed the code to convert string to longlong or double
to a function (so that it can be reused)
sql/item_func.cc:
Bug #32124: moved the evaluation of system variables at runtime (val_xxx).
sql/item_func.h:
Bug #32124: moved the evaluation of system variables at runtime (val_xxx).
sql/set_var.cc:
Bug #32124: removed the code that calculated the system variable's value
at PREPARE
sql/set_var.h:
Bug #32124: removed the code that calculated the system variable's value
at PREPARE
tests/mysql_client_test.c:
Bug #32124 : removed the reading of the system variable, because its max
length is depended on the system charset and client charset and can't be
easily calculated.
The failure was caused by executing a CREATE-SELECT statement that creates a
table in another database than the current one. In row-based logging, the
CREATE statement was written to the binary log without the database, hence
creating the table in the wrong database, causing the following inserts to
fail since the table didn't exist in the given database.
Fixed the bug by adding a parameter to store_create_info() that will make
the function print the database name before the table name and used that
in the calls that write the CREATE statement to the binary log. The database
name is only printed if it is different than the currently selected database.
The output of SHOW CREATE TABLE has not changed and is still printed without
the database name.
mysql-test/suite/rpl/t/rpl_row_create_table.test:
Added test to check that CREATE-SELECT into another database than the
current one replicates.
sql/sql_insert.cc:
Adding parameter to calls to store_create_info().
sql/sql_show.cc:
Adding parameter to calls to store_create_info().
Extending store_create_info() with parameter 'show_database' that will cause
the database to be written before the table name.
sql/sql_show.h:
Adding parameter to call to store_create_info() to tell if the database should be shown or not.
sql/sql_table.cc:
Adding parameter to calls to store_create_info().
ha_statistic_increment for rpl_temporary
Problem: in some cases master send a special event to reconnecting
slave to keep slave's temporary tables (see #17284) and they still
have references to the "old" SQL slave thread and use them to access
thread's data.
Fix: set temporary tables thread references to the actual SQL slave
thread in such cases.
mysql-test/suite/rpl/t/disabled.def:
Fix for bug#38269: pushbuild gives valgrind error in
ha_statistic_increment for rpl_temporary
- rpl_temporary test enabled.
sql/log_event.cc:
Fix for bug#38269: pushbuild gives valgrind error in
ha_statistic_increment for rpl_temporary
- if we keep slave's temporary tables after reconnect,
set their thread pointers (->in_use) to the current SQL thread.
Adds --general-log-file, --slow-query-log-file command-
line options to match system variables of the same names.
Deprecates --log, --log-slow-queries command-line option
and log, log_slow_queries system-variables for v7.0; they
are superseded by general_log/general_log_file and
slow_query_log/slow_query_log_file, respectively.
mysql-test/r/log_basic.result:
Change deprecated system variable "log" to
general log.
mysql-test/r/log_bin_trust_routine_creators_basic.result:
Change deprecation warning so it's more obvious we're referring
to a variable.
mysql-test/r/log_state.result:
Show that all log-related server variables that
should throw deprecation warnings do, and the
others don't.
mysql-test/r/warnings.result:
Change deprecation warning so it's more obvious we're referring
to a variable.
mysql-test/suite/rpl/r/rpl_sp.result:
Change deprecation warning so it's more obvious we're referring
to a variable.
mysql-test/t/log_basic.test:
Change deprecated system variable "log" to
general log.
mysql-test/t/log_state.test:
Show that all log-related server variables that
should throw deprecation warnings do, and the
others don't.
sql/mysqld.cc:
Add command-line options --general-log-file and
--slow-query-log-file to match server options of
the same name.
Deprecated --log and --log-slow-queries command-line
options; they are superseded by --general-log/
--general-log-file and --slow-query-log/--slow-query-log-file,
respectively
sql/set_var.cc:
Deprecate system-variables log in favour of general_log,
log_slow_queries in favour of slow_query_log for 7.0,
both for value- and DEFAULT-setting.
case and then select
Problem was that the archive share was using a case insensitive
charset when comparing table names
Solution was to use a case sensitive char set when the table
names are case sensitive
mysql-test/suite/parts/r/partition_mgm_lc0_archive.result:
Bug#37719: Crash if rename Archive table to same name with different
case and then select
Updated to correct result.
storage/archive/ha_archive.cc:
Bug#37719: Crash if rename Archive table to same name with different
case and then select
system_charset_info is case insensitive, table_alias_charset depends
on the filesystem/lower_case_table_names variable.
since there could be two tables that used the same share, unpredicted
things could happen.
The problem was caused by a wrong merge. Fixed by enabling the correct ndb variables
initialization.
mysql-test/suite/ndb/t/disabled.def:
Bug #38370: remove disabled test case
sql/mysqld.cc:
Bug #38370: corrected a wrong merge to have all the NDB variables intiialized
correctly
The test failed originally -- did not reset binlogging - for the reason
identified by bug@15580.
However it never can be run on the embedded platfrom for yet another cause -
the embedded can not KILL query.
Comments added to the test particularly relating `reset master'
to the mentioned bug.
mysql-test/suite/binlog/t/binlog_killed.test:
adding commets explaining why the test has to have include/not_embedded.inc guard.
The Blackhole engine did not support row-based replication
since the delete_row(), update_row(), and the index and range
searching functions were not implemented.
This patch adds row-based replication support for the
Blackhole engine by implementing the two functions mentioned
above, and making the engine pretend that it has found the
correct row to delete or update when executed from the slave
SQL thread by implementing index and range searching functions.
It is necessary to only pretend this for the SQL thread, since
a SELECT executed on the Blackhole engine will otherwise never
return EOF, causing a livelock.
mysql-test/extra/binlog_tests/blackhole.test:
Blackhole now handles row-based replication.
mysql-test/extra/rpl_tests/rpl_blackhole.test:
Test helper file for testing that blackhole actually
writes something to the binary log on the slave.
mysql-test/suite/binlog/t/binlog_multi_engine.test:
Replication now handles row-based replcation.
mysql-test/suite/rpl/t/rpl_blackhole.test:
Test that Blackhole works with primary key, index, or none.
sql/log_event.cc:
Correcting code to only touch filler bits and leave
all other bits alone. It is necessary since there is
no guarantee that the engine will be able to fill in
the bits correctly (e.g., the blackhole engine).
storage/blackhole/ha_blackhole.cc:
Adding definitions for update_row() and delete_row() to return OK
when executed from the slave SQL thread with thd->query == NULL
(indicating that row-based replication events are being processed).
Changing rnd_next(), index_read(), index_read_idx(), and
index_read_last() to return OK when executed from the slave SQL
thread (faking that the row has been found so that processing
proceeds to update/delete the row).
storage/blackhole/ha_blackhole.h:
Enabling row capabilities for engine.
Defining write_row(), update_row(), and delete_row().
Making write_row() private (as it should be).
is inconsistent
+ several improvements
Details:
- The subtest with assignment of floating point numbers to
DECIMAL parameters in functions and procedures checks
now that the final DECIMAL value is the same as if we assign
the floating point numbers to columns, user variables etc.
= The impact of math libs or truncation must be the same.
- Remove storage engine variants of this test because the
stored procedure properties tested do not depend on
the storage engine.
Use the fastest storage engine (MEMORY) for any tables
needed.
- reset global sort_buffer_size to startup value
- Partially improved formatting.
Re-enabling failing test case because server logs were lost in pushbuild, so we need to run it again.
mysql-test/suite/rpl/t/disabled.def:
Re-enabling failing test case because server logs were lost in pushbuild, so we need to run it again.
The problem is that when statement-based replication was enabled,
statements such as INSERT INTO .. SELECT FROM .. and CREATE TABLE
.. SELECT FROM need to grab a read lock on the source table that
does not permit concurrent inserts, which would in turn be denied
if the source table is a log table because log tables can't be
locked exclusively.
The solution is to not take such a lock when the source table is
a log table as it is unsafe to replicate log tables under statement
based replication. Furthermore, the read lock that does not permits
concurrent inserts is now only taken if statement-based replication
is enabled and if the source table is not a log table.
include/thr_lock.h:
Introduce yet another lock type that my get upgraded depending
on the binary log format. This is not a optimal solution but
can be easily improved later.
mysql-test/r/log_tables.result:
Add test case result for Bug#34306
mysql-test/suite/binlog/r/binlog_stm_row.result:
Add test case result for Bug#34306
mysql-test/suite/binlog/t/binlog_stm_row.test:
Add test case for Bug#34306
mysql-test/t/log_tables.test:
Add test case for Bug#34306
sql/lock.cc:
Assert that TL_READ_DEFAULT is not a real lock type.
sql/mysql_priv.h:
Export new function.
sql/mysqld.cc:
Remove using_update_log.
sql/sql_base.cc:
Introduce function that returns the appropriate read lock type
depending on how the statement is going to be replicated. It will
only take a TL_READ_NO_INSERT log if the binary is enabled and the
binary log format is statement-based and the table is not a log table.
sql/sql_parse.cc:
Remove using_update_log.
sql/sql_update.cc:
Use new function to choose read lock type.
sql/sql_yacc.yy:
The lock type is now decided at open_tables time. This old behavior was
actually misleading as the binary log format can be dynamically switched
and this would not change for statements that have already been parsed
when the binary log format is changed (ie: prepared statements).
It is a very big test and as such it takes a lot of time.
Solution is to divide the test in two parts, one for testing increasing
column size and one for decreasing size.
The innodb branch does extended tests (that myisam is not) due to the
$do_pk_tests variabel, that is the reason why the innodb branch takes
longer.
No increase of memory usage in innodb was found when analyzing, (tested
with looping some millions time of create/drop and alter commands)
The memory exhaust discovered in the test is due to mysqltest which
stores the result in memory (result-file) and this was the biggest
result file in the test framework, so by dividing the test into two
parts also cuts the memory usage of mysqltest.
mysql-test/suite/parts/inc/partition_alter2_1.inc:
Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
Splitted the test into two parts (one for increasing column size
and one for decreasing)
This leads to lower test case time (to avoid test case timeout)
and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/inc/partition_alter2_2.inc:
Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
Splitted the test into two parts (one for increasing column size
and one for decreasing)
This leads to lower test case time (to avoid test case timeout)
and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/r/partition_alter2_1_innodb.result:
Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
Splitted the test into two parts (one for increasing column size
and one for decreasing)
This leads to lower test case time (to avoid test case timeout)
and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/r/partition_alter2_1_myisam.result:
Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
Splitted the test into two parts (one for increasing column size
and one for decreasing)
This leads to lower test case time (to avoid test case timeout)
and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/r/partition_alter2_2_innodb.result:
Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
Splitted the test into two parts (one for increasing column size
and one for decreasing)
This leads to lower test case time (to avoid test case timeout)
and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/r/partition_alter2_2_myisam.result:
Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
Splitted the test into two parts (one for increasing column size
and one for decreasing)
This leads to lower test case time (to avoid test case timeout)
and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/t/disabled.def:
Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
Removed the test completely (since it has never been supported)
mysql-test/suite/parts/t/partition_alter2_1_innodb.test:
Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
Splitted the test into two parts (one for increasing column size
and one for decreasing)
This leads to lower test case time (to avoid test case timeout)
and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/t/partition_alter2_1_myisam.test:
Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
Splitted the test into two parts (one for increasing column size
and one for decreasing)
This leads to lower test case time (to avoid test case timeout)
and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/t/partition_alter2_2_innodb.test:
Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
Splitted the test into two parts (one for increasing column size
and one for decreasing)
This leads to lower test case time (to avoid test case timeout)
and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/t/partition_alter2_2_myisam.test:
Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
Splitted the test into two parts (one for increasing column size
and one for decreasing)
This leads to lower test case time (to avoid test case timeout)
and less memory consumption of mysqltest (due to smaller result file)
mysql-test/suite/parts/t/partition_alter2_ndb.test:
Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
Removing test since ndb has never supported these tests
bug#31233 mysql_alter_table() fails to drop UNIQUE KEY
mysql-test/suite/ndb/r/ndb_alter_table.result:
bug#31233 mysql_alter_table() fails to drop UNIQUE KEY: added test cases
mysql-test/suite/ndb/t/ndb_alter_table.test:
bug#31233 mysql_alter_table() fails to drop UNIQUE KEY: added test cases
sql/ha_ndbcluster.cc:
bug#31233 mysql_alter_table() fails to drop UNIQUE KEY: Removed check for non-pk
tables, not needed when mysql_alter_table checks apropriate flags
sql/mysql_priv.h:
bug #31231 mysql_alter_table() tries to drop a non-existing table: added FRM_ONLY
flag
sql/sql_table.cc:
bug #31231 mysql_alter_table() tries to drop a non-existing table
Don't invoke handler for tables defined with FRM_ONLY flag.
bug#31233 mysql_alter_table() fails to drop UNIQUE KEY
When a table is defined without an explicit primary key
mysql will choose the first found unique index defined over
non-nullable fields (if such an index exists). This means
that if such an index is added (the first) or dropped (the last)
through an alter table, this equals adding or dropping a primary key.
The implementation for on-line add/drop index did not consider
this semantics. This patch ensures that only handlers with the
correctly defined flags (see handler.h for explanation of the flags):
HA_ONLINE_ADD_PK_INDEX
HA_ONLINE_ADD_PK_INDEX_NO_WRITES
HA_ONLINE_DROP_PK_INDEX
HA_ONLINE_DROP_PK_INDEX_NO_WRITES
are invoked for such on-line operations. All others handlers must
perform a full (offline) alter table.
SUPER is not required to change binlog format for session
A user without SUPER privileges can change the value of the
session variable BINLOG_FORMAT, causing problems for a DBA.
This changeset requires a user to have SUPER privileges to
change the value of the session variable BINLOG_FORMAT, and
not only the global variable BINLOG_FORMAT.
mysql-test/suite/binlog/t/binlog_grant.test:
Adding test to test grants needed for SQL_LOG_BIN and BINLOG_FORMAT.
sql/set_var.cc:
Adding code to check that user has SUPER permission
needed to change the value of BINLOG_FORMAT.
sql/set_var.h:
Adding function sys_var_thd_binlog_format::check()
The size of the Innodb_buffer_pool_pages differs by one byte on row versus statement
log, so neuter the last position of the stringified decimal representation. Innobase
says the size isn't very important in any case.
Also, split out the "mixed" format to its own file, as mtr seems to dislike having only
stm and row but not mix.
Problem was a mutex added in bug n 27405 for solving a problem
with auto_increment in partitioned innodb tables.
(in ha_partition::write_row over partitions file->ha_write_row)
Solution is to use the patch for bug#33479, which refines the
usage of mutexes for auto_increment.
Backport of bug-33479 from 6.0:
Bug-33479: auto_increment failures in partitioning
Several problems with auto_increment in partitioning
(with MyISAM, InnoDB. Locking issues, not handling
multi-row INSERTs properly etc.)
Changed the auto_increment handling for partitioning:
Added a ha_data variable in table_share for storage engine specific data
such as auto_increment value handling in partitioning, also see WL 4305
and using the ha_data->mutex to lock around read + update.
The idea is this:
Store the table's reserved auto_increment value in
the TABLE_SHARE and use a mutex to, lock it for reading and updating it
and unlocking it, in one block. Only accessing all partitions
when it is not initialized.
Also allow reservations of ranges, and if no one has done a reservation
afterwards, lower the reservation to what was actually used after
the statement is done (via release_auto_increment from WL 3146).
The lock is kept from the first reservation if it is statement based
replication and a multi-row INSERT statement where the number of
candidate rows to insert is not known in advance (like INSERT SELECT,
LOAD DATA, unlike INSERT VALUES (row1), (row2),,(rowN)).
This should also lead to better concurrancy (no need to have a mutex
protection around write_row in all cases)
and work with any local storage engine.
mysql-test/suite/parts/inc/partition_auto_increment.inc:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: auto_increment failures in partitioning
Test source file for testing auto_increment
mysql-test/suite/parts/r/partition_auto_increment_archive.result:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: auto_increment failures in partitioning
result file for testing auto_increment
mysql-test/suite/parts/r/partition_auto_increment_blackhole.result:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: auto_increment failures in partitioning
result file for testing auto_increment
mysql-test/suite/parts/r/partition_auto_increment_innodb.result:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: auto_increment failures in partitioning
result file for testing auto_increment
mysql-test/suite/parts/r/partition_auto_increment_memory.result:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: auto_increment failures in partitioning
result file for testing auto_increment
mysql-test/suite/parts/r/partition_auto_increment_myisam.result:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: auto_increment failures in partitioning
result file for testing auto_increment
mysql-test/suite/parts/r/partition_auto_increment_ndb.result:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: auto_increment failures in partitioning
result file for testing auto_increment
mysql-test/suite/parts/t/partition_auto_increment_archive.test:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: auto_increment failures in partitioning
test file for testing auto_increment
mysql-test/suite/parts/t/partition_auto_increment_blackhole.test:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: auto_increment failures in partitioning
test file for testing auto_increment
mysql-test/suite/parts/t/partition_auto_increment_innodb.test:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: auto_increment failures in partitioning
test file for testing auto_increment
mysql-test/suite/parts/t/partition_auto_increment_memory.test:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: auto_increment failures in partitioning
test file for testing auto_increment
mysql-test/suite/parts/t/partition_auto_increment_myisam.test:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: auto_increment failures in partitioning
test file for testing auto_increment
mysql-test/suite/parts/t/partition_auto_increment_ndb.test:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: auto_increment failures in partitioning
test file for testing auto_increment
sql/ha_partition.cc:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: Failures using auto_increment and partitioning
Changed ha_partition::get_auto_increment from file->get_auto_increment
to file->info(HA_AUTO_STATUS), since it is works better with InnoDB
(InnoDB can have issues with partitioning and auto_increment,
where get_auto_increment sometimes can return a non updated value.)
Using the new table_share->ha_data for keeping the auto_increment
value, shared by all instances of the same table.
It is read+updated when holding a auto_increment specific mutex.
Also added release_auto_increment to decrease gaps if possible.
And a lock for multi-row INSERT statements where the number of candidate
rows to insert is not known in advance (like INSERT SELECT, LOAD DATA;
Unlike INSERT INTO (row1),(row2),,(rowN)).
Fixed a small bug, copied++ to (*copied)++ and the same for deleted.
Changed from current_thd, to ha_thd()
sql/ha_partition.h:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: Failures using auto_increment and partitioning
Added a new struct HA_DATA_PARTITION to be used in table_share->ha_data
Added a private function to set auto_increment values if needed
Removed the restore_auto_increment (the hander version is better)
Added lock/unlock functions for auto_increment handling.
Changed copied/deleted to const.
sql/handler.h:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: auto_increment failures in partitioning
Added const for changed_partitions
Added comments about SQLCOM_TRUNCATE for delete_all_rows
sql/table.h:
Bug#38804: Query deadlock causes all tables to be inaccessible.
Backporting from 6.0 of:
Bug-33479: Failures using auto_increment and partitioning
Added a variable in table_share: ha_data for storage of storage engine
specific data (such as auto_increment handling in partitioning).