The file tree in mtr's vardir has changed so an old
hard-coded path in mysql-test/t/subselect.test didn't
work.
Fix: update the paths in the test.
mysql-test/r/subselect.result:
Updated result file.
mysql-test/t/subselect.test:
Problem: The file tree in mtr's vardir has changed
so an old hard-coded path didn't work.
Fix: update the paths in the test.
positions changed. Fixed by removing binlog positions from
output, and also:
- removed code not used to verify the tested property
- added comments
mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result:
Updated result file.
mysql-test/suite/rpl/t/rpl_row_inexist_tbl-slave.opt:
Removed option file: it's not needed any more.
mysql-test/suite/rpl/t/rpl_row_inexist_tbl.test:
Improved the test in the following ways:
- The table t2 was not used to verify the property to test,
so t2 has been removed.
- Now printing only the relevant column from SHOW SLAVE STATUS
- Added comments.
Made the test innodb_max_dirty_pages_pct_func clean up after itself.
mysql-test/r/innodb_max_dirty_pages_pct_func.result:
Updated result file.
mysql-test/t/disabled.def:
Fixed BUG#37906
mysql-test/t/innodb_max_dirty_pages_pct_func.test:
Made the test clean up after itself.
Problem: rpl_ndb_transaction fails because it assumes nothing
is written to the binlog at a certain point. However, ndb may
binlog updates in ndb system tables at a nondeterministic
time point after an ndb table update has been committed.
Fix: break the test into two. rpl_ndb_transaction still does
the ndb updates needed by the first half of the test. The new
test case rpl_bug26395 includes the part that assumes nothing
more will be written to the binlog.
mysql-test/include/sync_slave_io_with_master.inc:
Like sync_slave_with_master, but only waits until the IO thread has
synced; the SQL thread may still be behind.
mysql-test/suite/rpl/r/rpl_bug26395.result:
New result file.
mysql-test/suite/rpl/t/rpl_bug26395-master.opt:
New option file.
mysql-test/suite/rpl/t/rpl_bug26395-slave.opt:
New option file.
mysql-test/suite/rpl/t/rpl_bug26395.test:
- Moved second half of rpl_ndb_transaction here.
- Improved the test case: instead of using a sleep,
it waits for the slave's io thread to sync up to a proper
position, and for the slave's sql thread to sync up to
another position.
- Added a warning that no more tests should be added at the
end of the file.
mysql-test/suite/rpl_ndb/r/rpl_ndb_mixed_engines_transactions.result:
Updated and renamed result file.
mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions-master.opt:
No need for the special debug flag any more, it was used by
the second part of the test which is now in rpl_bug26395.
Also renamed the file.
mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions-slave.opt:
Renamed option file.
mysql-test/suite/rpl_ndb/t/rpl_ndb_mixed_engines_transactions.test:
- Moved second half of the test to another test (rpl_bug26395)
- Improved comments.
- Extended the mixed transaction test to include also innodb.
- Used 'source include/diff_tables.inc' instead of listing
several identical tables in the result file.
- Renamed the test.
Problem 1: main.loaddata tried to trigger an error caused by
reading files outside the vardir, by reading itself. However,
if loaddata.test is not world-readable (e.g., umask=0077),
then another error is triggered.
Fix 1: allow the other error too.
Problem 2: rpl_slave_skip and rpl_innodb_mixed_dml tried to
copy a file from mysql-test/suite/rpl/data to mysql-test/var
and then read it. That failed too if umask=0077, since the
file would not become world-readable.
Fix 2: move the files from mysql-test/suite/rpl/data to
mysql-test/std_data and update tests accordingly. Remove
the directory mysql-test/suite/rpl/data.
mysql-test/r/loaddata.result:
Updated result file.
mysql-test/std_data/rpl_bug28618.dat:
Moved this file to std_data.
mysql-test/std_data/rpl_mixed.dat:
Moved this file to std_data.
mysql-test/suite/rpl/data:
Removed directory that is now unused.
mysql-test/suite/rpl/include/rpl_mixed_dml.inc:
The rpl_mixed.dat file has been moved. Updated the test to
use the new location.
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
Updated result file.
mysql-test/suite/rpl/r/rpl_slave_skip.result:
Updated result file.
mysql-test/suite/rpl/t/rpl_slave_skip.test:
The rpl_bug28618.dat file has been moved. Updated the test
to use the new location.
mysql-test/t/loaddata.test:
Allow more error messages. ER_TEXTFILE_NOT_READABLE may
happen if the file is not world-readable (which may happen,
e.g., if the user has umask=0077).
Bug#36787 Test funcs_1.charset_collation_1 failing
Details:
1. Skip charset_collation_1 if charset "ucs2_bin" is
missing (property which distincts "vanilla" builds
from the others)
2. Let builds with version_comment LIKE "%Advanced%"
(found them for 5.1) execute charset_collation_3.
3. Update comments charset_collation.inc so that they
reflect the current experiences.
Bug#33812: mysql client incorrectly parsing DELIMITER
Remove unnecessary and incorrect code that tried
to pull delimiter commands out of the middle of
statements.
as a commentary
mysql client has been modified to interpret EOL after
standalone -- commentary strings like whitespace
character (according to
http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-comments.html)
mysql-test/t/mysql_delimiter.sql:
Added test case for bug #36244.
Remove unnecessary and incorrect code that tried
to pull delimiter commands out of the middle of
statements.
client/mysql.cc:
Remove unnecessary and incorrect code that tried
to pull delimiter commands out of the middle of
statements.
mysql-test/r/mysql.result:
show we no longer parse DELIMITER when
we shouldn't.
mysql-test/t/mysql_delimiter.sql:
show we no longer parse DELIMITER when
we shouldn't.
The crash appeared to be a result of allocating an instance of Discrete_interval
automatically that that was referred in out-of-declaration scope.
Fixed with correcting backing up and restoring scheme of
auto_inc_intervals_forced, introduced by bug#33029, by means of shallow copying;
added simulation code that forces executing those fixes of the former bug that
targeted at master-and-slave having incompatible bug#33029-prone versions.
mysql-test/suite/bugs/r/rpl_bug33029.result:
new results file
mysql-test/suite/bugs/t/rpl_bug33029.test:
test merely checks no crash happens on slave.
sql/slave.cc:
forcing to execute special logics implemented for bug#33029 if
simulate_bug33029 the debug option is set.
sql/sql_class.cc:
swaps of backed and the actual auto_inc_intervals_forced basing on shallow coping.
sql/structs.h:
Removing the deep _copy() and methods associated with it;
adding methods to Discrete_intervals_list:
private `=', copy constructor to prevent using;
private set_members();
public copy_shallow(), swap(), get_{head, tail, current}();
empty_no_free() through set_members().
Another problem is that the backtrace facility wasn't being
enabled for non-Linux targets even if the target OS has the
backtrace functions. Also, the stacktrace functions inside
mysqltest were being used without proper checks for their
presence in the build.
client/mysqltest.c:
Only use stacktrace functions if they are available.
configure.in:
Check if the compiler defines __bss_start
include/my_stacktrace.h:
Enable stacktrace if system has backtrace functions.
mysys/stacktrace.c:
Use backtrace functions if the system supports it.
sql/mysqld.cc:
Only use stacktrace functions if they are available.
replicated correctly between machines with
mixed endiannes
mysql-test/extra/rpl_tests/rpl_row_basic.test:
Added regression test for bug#37076.
mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result:
Added regression test for bug#37076.
mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result:
Added regression test for bug#37076.
mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result:
Added regression test for bug#37076.
sql/field.h:
Fixed bug #37076: TIMESTAMP/DATETIME/DATE values are not
replicated correctly between machines with
mixed endiannes
pack and unpack virtual methods have been overloaded for
Field_timestamp (TIMESTAMP domain), Field_datetime (DATETIME
domain) and Field_date (DATE domain) classes to replicate data
between platforms with different endiannes in a correct way
like in Field_long and Field_longlong classes.
Common code have been moved to private handle_int32 and
handle_int64 private methods.
On a slow environment like valgrind the test is vulnerable
because it does not check if slave has stopped at time
of the new session is requested `start slave;' -- disabling
test till it is fixed.
mysql-test/suite/rpl/t/disabled.def:
disable rpl_server_id1 until test is fixed.
ha_innodb.so was incorrectly installed in the lib/mysql
directory rather than in lib/mysql/plugin.
Amending CS for 31736.
storage/innobase/Makefile.am:
Install innobase to plugin-dir, not lib-dir.
The value of JOIN::tables must be set to 0 when there
is no matching min/max row.
mysql-test/r/subselect.result:
Added a test case for bug #37004.
mysql-test/t/subselect.test:
Added a test case for bug #37004.
37167 funcs_1: Many tests fail if the embedded
server is used.
37164 funcs_1: Some tests fail if an optional
character set is missing.
+ some cleanup within the testsuite related to the
fixes above
+ some adjustments to open bugs on Mac OS X
2. Skip tests which suffer from bug
37456 funcs_1: Several tests crash when used
with embedded server
3. Minor cleanup in some tests
The problem was that when a embedded linked version of mysqltest
crashed there was no way to obtain a stack trace if no core file
is available. Another problem is that the embedded version of
libmysql was not behaving (crash) the same as the non-embedded with
respect to sending commands to a explicitly closed connection.
The solution is to generate a mysqltest's stack trace on crash
and to enable "reconnect" if the connection handle was explicitly
closed so the behavior matches the non-embedded one.
client/CMakeLists.txt:
Link mysys to mysqltest.
client/Makefile.am:
Link mysys to mysqltest.
client/mysqltest.c:
Add fatal signal handling with backtracing for Unix and Windows.
configure.in:
Add check for weak symbols support and remove a spurious word.
include/Makefile.am:
Add new header with prototype for stack tracing functions.
include/my_stacktrace.h:
Add new header with prototype for stack tracing functions.
libmysqld/CMakeLists.txt:
stack tracing is now part of mysys.
libmysqld/Makefile.am:
stack tracing is now part of mysys.
libmysqld/lib_sql.cc:
Re-connect if connection was explicitly closed. This is
done to match the behavior of the non-embeded libmysql.
mysql-test/t/sql_low_priority_updates_func.test:
Test expects parallelism between queries that cannot be
guaranteed under embedded.
mysys/CMakeLists.txt:
Add stacktrace to mysys.
mysys/Makefile.am:
Add stacktrace to mysys.
mysys/stacktrace.c:
Move stacktrace to mysys and add weak symbol for the
C++ name de-mangling function so that it can later be
overridden in C++ code. Also add my_ prefix to exported
functions.
sql/CMakeLists.txt:
stacktrace was moved to mysys.
sql/Makefile.am:
stacktrace was moved to mysys.
sql/mysqld.cc:
Add my_ prefix to mysys functions.
Bug#37167 funcs_1: Many tests fail if the embedded server is used.
Bug#37164 funcs_1: Some tests fail if an optional character set is missing.
+ some cleanup within the testsuite related to the fixes above
+ some adjustments to open bugs on Mac OS X
make_binary_distribution.sh got clobbered by the 5.0 version during a merge.
This caused a few packaging problems, including message files put in the wrong
place and some missing files. Fix is just to revert back to the 5.1 version
from before the merge.
Problem introduced in
ChangeSet 1.2606.2.1 2008/05/13 15:56:07 kent@kent-amd64.(none)
This change was made in the 5.1.25 release clone in BK, but never made it to the main mysql-5.1 BK tree. I am adding it to mysql-5.1 bzr.
The problem was that when comparing tables for a possible
fast alter table, the comparison was being performed using
the parsed information and not the final definition.
The solution is to use the possible final table layout to
compare if a fast alter is possible or not.
mysql-test/include/mix1.inc:
Disable test case for Bug 21704 as it hasn't been fixed.
mysql-test/r/alter_table.result:
Add test case result for Bug#33873
mysql-test/r/innodb_mysql.result:
Update test case result
mysql-test/t/alter_table.test:
Add test case for Bug#33873
sql/sql_table.cc:
Use updated (final) information to compare fields.