not compiled as a replication server - a fix from rpl clone now applied
to 5.1.22 tree.
sql/log_event.cc:
Exclude Rows_log_event members used in event application if
not compiled as a replication server.
sql/log_event.h:
Don't initialize Rows_log_event members used in event application if
not compiled as a replication server.
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
configure.in:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/partition_pruning.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/suite/rpl/include/rpl_mixed_ddl.inc:
Auto merged
mysql-test/suite/rpl/include/rpl_mixed_dml.inc:
Auto merged
mysql-test/suite/rpl/r/rpl_timezone.result:
Auto merged
mysql-test/suite/rpl/t/rpl_relayspace.test:
Auto merged
mysql-test/suite/rpl/t/rpl_timezone.test:
Auto merged
mysql-test/t/select.test:
Auto merged
netware/BUILD/compile-netware-END:
Auto merged
netware/Makefile.am:
Auto merged
sql/field.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/ha_partition.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/time.cc:
Auto merged
storage/innobase/handler/ha_innodb.cc:
Auto merged
storage/innobase/log/log0recv.c:
Auto merged
storage/innobase/srv/srv0srv.c:
Auto merged
storage/innobase/trx/trx0trx.c:
Auto merged
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
manual merge (use remote)
mysql-test/suite/rpl/t/disabled.def:
Manual merge - both rpl_innodb_mixed_ddl and rpl_innodb_mixed_dml
are fixed, and should be run as part of the rpl suite.
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
client/mysql_upgrade.c:
Auto merged
client/mysqltest.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/sql_show.cc:
Auto merged
Initialize thd->variables.pseudo_thread_id when a new embedded
thd is created.
libmysqld/lib_sql.cc:
Add comment regarding duplication of code in create_embedded_thd()
vs. create_new_thread() and prepare_new_connection_state(). This
was a cause for not properly initializing the pseudo_thread_id variable.
mysql-test/r/func_misc.result:
Add test case to ensure connection_id() returns a sane value
mysql-test/t/func_misc.test:
Add test case to ensure connection_id() returns a sane value
sql/mysqld.cc:
Add comment warning of the duplication of code between create_new_thread()
and create_embedded_thd()
sql/sql_connect.cc:
Add comment warning of the duplication of code between
prepare_new_connection_state() and create_embedded_thd()
Update some tests in the "parts" suite, so they're skipped if the
requisite plugins are not present in the mysqld.
mysql-test/suite/parts/t/partition_char_innodb.test:
Skip if mysqld doesn't include InnoDB support
mysql-test/suite/parts/t/partition_datetime_innodb.test:
Skip if mysqld doesn't include InnoDB support
mysql-test/suite/parts/t/partition_decimal_innodb.test:
Skip if mysqld doesn't include InnoDB support
mysql-test/suite/parts/t/partition_float_innodb.test:
Skip if mysqld doesn't include InnoDB support
mysql-test/suite/parts/t/partition_int_innodb.test:
Skip if mysqld doesn't include InnoDB support
mysql-test/suite/parts/t/partition_special_innodb.test:
Skip if mysqld doesn't include InnoDB support
mysql-test/suite/parts/t/rpl_partition.test:
Skip if mysqld doesn't include partition support
Bug #30316: Some "parts" tests fail because the server uses "--secure-file-priv"
Bug #30341: Test suite "parts" needs to be adapted to the new rules disallowing many functio
Bug #30408: Suite "parts" needs bug numbers updated
Bug #30411: Suite "parts" needs bug numbers updated: ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF
Bug #30576: part_supported_sql_func_innodb.test tries to LOAD DATA outside of var dir
Bug #30581: partition_value tests use disallowed CAST() function
Included are some general fixes to allow the "parts" test suite to be run
successfully. This includes disabling a few tests or parts of tests,
cleaning up the test cases and their results, etc. Basically, these tests
have not been run for some time, and had suffered some bit rot.
The bugs were fixed as a single changeset, because in some ways they depend
on each other. I couldn't be sure I'd updated all the error codes (for
bugs 30408 and 30411) without also adapting to the new allowed functions
rules (bug 30341), and vice versa.
mysql-test/include/partition_layout.inc:
Ensure that the contents of $MYSQLTEST_VARDIR are not in the result file
mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc:
Add ASCII(), ORD() and WEEKOFYEAR() as blocked functions (they depend
too much on character set, etc.).
Remove DATEDIFF() as a blocked function (it is implemented in terms
of TO_DAYS() and the minus operator).
mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc:
Remove ASCII(), ORD() and WEEKOFYEAR(), which are not allowed functions.
Remove uses of CAST() in partitioning functions - it is not allowed.
Disable testing of FLOOR() and CEILING on non-integer fields, due to
Bug 30577.
Test MOD() with an integer field instead of floating point (it has a
hybrid result type, like FLOOR() and CEILING(), but makes sense to use
with an integer field).
Add DATEDIFF() as an allowed function, because it is implemented in
terms of TO_DAYS() and the minus operator.
mysql-test/suite/parts/inc/partition_alter3.inc:
Remove use of disallowed CAST() function in partitioning
mysql-test/suite/parts/inc/partition_blocked_sql_funcs.inc:
The blocked functions are actually blocked now, so expect errors.
This is a result of the fix for bug 18198.
mysql-test/suite/parts/inc/partition_date.inc:
Remove uses of CAST() in partitioning functions - it is not allowed.
mysql-test/suite/parts/inc/partition_datetime.inc:
Remove uses of CAST() in partitioning functions - it is not allowed.
mysql-test/suite/parts/inc/partition_decimal.inc:
Remove uses of CAST() in partitioning functions - it is not allowed.
Disable testing of FLOOR() and CEILING(), due to Bug 30577.
mysql-test/suite/parts/inc/partition_directory.inc:
Ensure that the contents of $MYSQLTEST_VARDIR are not in the result file
mysql-test/suite/parts/inc/partition_double.inc:
Remove uses of CAST() in partitioning functions - it is not allowed.
Disable testing of FLOOR() and CEILING(), due to Bug 30577.
mysql-test/suite/parts/inc/partition_enum.inc:
Remove use of CAST(), which is disallowed.
Remove test which relies on CAST().
mysql-test/suite/parts/inc/partition_float.inc:
Remove uses of CAST() in partitioning functions - it is not allowed.
Disable testing of FLOOR() and CEILING(), due to Bug 30577.
mysql-test/suite/parts/inc/partition_layout_check1.inc:
Ensure that the contents of $MYSQLTEST_VARDIR are not in the result file
mysql-test/suite/parts/inc/partition_layout_check2.inc:
Ensure that the contents of $MYSQLTEST_VARDIR are not in the result file
mysql-test/suite/parts/inc/partition_methods1.inc:
Ensure that the contents of $MYSQLTEST_VARDIR are not in the result file
mysql-test/suite/parts/inc/partition_set.inc:
Remove test which relies on CAST(), which is disallowed.
mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc:
Fix Bug #30576: part_supported_sql_func_innodb.test tries to LOAD DATA outside of var dir
Move data files into std_data/parts/*, so they can be used with LOAD
DATA INFILE '../std_data_ln/parts/*' while --secure-file-priv is in
force.
mysql-test/suite/parts/inc/partition_syntax.inc:
Remove use of CAST(), which is disallowed.
mysql-test/suite/parts/inc/partition_time.inc:
Remove use of CAST(), which is disallowed.
mysql-test/suite/parts/inc/partition_timestamp.inc:
Remove use of CAST(), which is disallowed.
mysql-test/suite/parts/inc/partition_value.inc:
Disable this entire test file, because it relies on using CAST() as
a partitioning function, which is disallowed. See Bug 30581,
"partition_value tests use disallowed CAST() function".
mysql-test/suite/parts/r/part_blocked_sql_func_innodb.result:
Update test case results
mysql-test/suite/parts/r/part_blocked_sql_func_myisam.result:
Update test case results
mysql-test/suite/parts/r/part_supported_sql_func_innodb.result:
Update test case results
mysql-test/suite/parts/r/part_supported_sql_func_myisam.result:
Update test case results
mysql-test/suite/parts/r/partition_alter3_innodb.result:
Update test case results
mysql-test/suite/parts/r/partition_alter3_myisam.result:
Update test case results
mysql-test/suite/parts/r/partition_basic_innodb.result:
Update test case results
mysql-test/suite/parts/r/partition_basic_myisam.result:
Update test case results
mysql-test/suite/parts/r/partition_datetime_innodb.result:
Update test case results
mysql-test/suite/parts/r/partition_datetime_myisam.result:
Update test case results
mysql-test/suite/parts/r/partition_decimal_innodb.result:
Update test case results
mysql-test/suite/parts/r/partition_decimal_myisam.result:
Update test case results
mysql-test/suite/parts/r/partition_float_myisam.result:
Update test case results
mysql-test/suite/parts/r/partition_syntax_innodb.result:
Update test case results
mysql-test/suite/parts/r/partition_syntax_myisam.result:
Update test case results
mysql-test/suite/parts/t/disabled.def:
Mark several more tests as disabled: partition_value_myisam,
partition_value_innodb, part_supported_sql_func_ndb,
rpl_ndb_dd_partitions, and partition_float_innodb
mysql-test/std_data/parts/part_supported_sql_funcs_int_ch1.inc:
Rename: mysql-test/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc -> mysql-test/std_data/parts/part_supported_sql_funcs_int_ch1.inc
mysql-test/std_data/parts/part_supported_sql_funcs_int_date.inc:
Rename: mysql-test/suite/parts/inc/part_supported_sql_funcs_int_date.inc -> mysql-test/std_data/parts/part_supported_sql_funcs_int_date.inc
mysql-test/std_data/parts/part_supported_sql_funcs_int_float.inc:
Rename: mysql-test/suite/parts/inc/part_supported_sql_funcs_int_float.inc -> mysql-test/std_data/parts/part_supported_sql_funcs_int_float.inc
mysql-test/std_data/parts/part_supported_sql_funcs_int_int.inc:
Rename: mysql-test/suite/parts/inc/part_supported_sql_funcs_int_int.inc -> mysql-test/std_data/parts/part_supported_sql_funcs_int_int.inc
mysql-test/std_data/parts/part_supported_sql_funcs_int_time.inc:
Rename: mysql-test/suite/parts/inc/part_supported_sql_funcs_int_time.inc -> mysql-test/std_data/parts/part_supported_sql_funcs_int_time.inc
mysql-test/suite/parts/inc/partition_alter_1.inc:
Correct expected error codes, which changed due to bug 29245.
mysql-test/suite/parts/inc/partition_check.inc:
Correct expected error codes, which changed due to bug 29245.
mysql-test/suite/parts/inc/partition_syntax_1.inc:
Correct expected error codes, which changed due to bug 29245.
table->record[1] buffers inside Rows_log_event::find_row() function.
The patch fixes this.
sql/log_event.cc:
Use table->record[0] to read records from table and table->record[1] to
store a copy of the original record for comparisons.
A local variable may be used uninitialized in
ha_partition::get_auto_increment(). Initialize it properly.
sql/ha_partition.cc:
Initialize first_value_part in ha_partition::get_auto_increment() with *first_value before
it's used in the underlying table handler. Thanks to Antony for digging up this fix.
Bug#29020 Event results not correctly replicated to slave in RBR: partially.
mysql-test/suite/rpl/r/rpl_invoked_features.result:
Updated result file.
mysql-test/suite/rpl/t/disabled.def:
removed test cases: rpl_invoked_features and rpl_innodb_mixed_* (alreade were commented out)
mysql-test/suite/rpl/t/rpl_invoked_features.test:
Added comments, implemented the waiting via include/wait_condition, minor fixes.
sql/log_event.cc:
- Rename RELAY_LOG_INFO -> Relay_log_info.
- Rows_log_event fields which are used for event application not
included when compiling in MYSQL_CLIENT mode.
sql/log_event.h:
- Rename RELAY_LOG_INFO -> Relay_log_info.
- Rows_log_event fields which are used for event application not
included when compiling in MYSQL_CLIENT mode.
sql/log_event_old.cc:
- Rename RELAY_LOG_INFO -> Relay_log_info.
sql/log_event_old.h:
- Rename RELAY_LOG_INFO -> Relay_log_info.
sql/sql_yacc.yy:
Reverting to version used in the rpl tree.
sql/field.cc:
- always pack in little endian, irrespective of starage engine native format
- always unpack as if it is atored in little endian, and unpack it to storage engine native format
If, after the tables are locked, one of the conditions to read from a
HANDLER table is not met, the handler code wrongly jumps to a error path
that won't unlock the tables.
The user-visible effect is that after a error in a handler read command,
all subsequent handler operations on the same table will hang.
The fix is simply to correct the code to jump to the (same) error path that
unlocks the tables.
mysql-test/r/handler.result:
Bug#30632 test case result
mysql-test/t/handler.test:
Bug#30632 test case
sql/sql_handler.cc:
Always unlock the internal and external table level locks if any of the conditions
(including errors) to read from a HANDLER table are not met.
into moksha.local:/Users/davi/mysql/push/bugs/25164-5.1
sql/lock.cc:
Auto merged
mysql-test/include/deadlock.inc:
Auto merged
mysql-test/r/deadlock_innodb.result:
Auto merged
The problem from a user's perspective: user creates table A, and then tries
to CREATE TABLE a SELECT from A - and this causes a deadlock error, a hang,
or fails with a debug assert, but only if the storage engine is InnoDB.
The origin of the problem: InnoDB uses case-insensitive collation
(system_charset_info) when looking up the internal table share, thus returning
the same share for 'a' and 'A'.
Cause of the user-visible behavior: since the same share is returned to SQL
locking subsystem, it assumes that the same table is first locked (within the
same session) for WRITE, and then for READ, and returns a deadlock error.
However, the code is wrong in not properly cleaning up upon an error, leaving
external locks in place, which leads to assertion failures and hangs.
Fix that has been implemented: the SQL layer should properly propagate the
deadlock error, cleaning up and freeing all resources.
Further work towards a more complete solution: InnoDB should not use case
insensitive collation for table share hash if table names on disk honor the case.
mysql-test/r/innodb-deadlock.result:
Bug#25164 test case result
mysql-test/t/innodb-deadlock.test:
Bug#25164 test case. The CREATE TABLE may fail depending on the character set
of the system and filesystem, but it should never hang.
sql/lock.cc:
Unlock the storage engine "external" table level locks, if the MySQL thr_lock
locking subsystem detects a deadlock error.
into quant.(none):/ext/mysql/bk/mysql-5.1-bug21842-rpl
mysql-test/suite/ndb/r/ndb_dd_basic.result:
Auto merged
sql/field.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log_event_old.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/rpl_record.cc:
Auto merged
sql/rpl_record.h:
Auto merged
sql/rpl_utility.cc:
Auto merged
sql/rpl_utility.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_string.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/unireg.h:
Auto merged
sql/log_event.cc:
Manual merge.
sql/log_event.h:
Manual merge.
sql/log_event_old.h:
Manual merge.
- Run icheck on all files in HEADERS_ABI list
- Update reference
include/Makefile.am:
Enable abi_check for external API header files
include/mysql_h.ic:
Update abi_check reference
1) "test_db.sql" is a plaintext file, no binary;
2) do not try to strip the binaries, it will not work.
configure.in:
For NetWare, we cannot strip the binaries, so there is no use in attempting it.
scripts/make_binary_distribution.sh:
Get rid of a typing error, introduced when a following file name was deleted.
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
configure.in:
null-merge
MySQL replicates the time zone only when operations that involve
it are performed. This is controlled by a flag. But this flag
is set only on successful operation.
The flag must be set also when there is an error that involves
a timezone (so the master would replicate the error to the slaves).
mysql-test/suite/rpl/r/rpl_timezone.result:
repush of Bug 29536 for 5.1.22 tree: test case
mysql-test/suite/rpl/t/rpl_timezone.test:
repush of Bug 29536 for 5.1.22 tree: test case
sql/field.cc:
re-push of Bug 29536 for 5.1.22: move setting of the flag before the operation
(so it apples to errors as well).
sql/time.cc:
re-push of Bug 29536 for 5.1.22: move setting of the flag before the operation
(so it apples to errors as well).
- "mysql" and "mysqlcheck" should not read defaults file
client/mysql_upgrade.c:
Instruct "mysql" and "mysqlcheck" that is invoked by "mysql_upgrade" not
to read defaults file, they should get all the parameters they need from
mysql_upgrade(that read the default file)
- Update result file to include these "misleading errors", better to
run mysql_upgrade with them than not at all.
mysql-test/r/mysql_upgrade.result:
Update result file for mysql_upgrade after removing it's disabling
A test case was waiting for a fixed number of seconds for a specific
state of the slave IO thread to take place.
Fixed by waiting in a loop for that specific thread state instead
(or timeout).
mysql-test/suite/rpl/t/rpl_relayspace.test:
recommit of Bug 25228 for 5.1.22: fixed test case