Don't retry test cases by default
Fixed bug where we could (under unlikely error conditions) access not initialized variable
include/my_tree.h:
Safety change to ensure read/black trees (used with heap tables) works on 64 bit setups where ulong <> size_t
(Pointed out by Bryan Aker)
mysql-test/mysql-test-run.pl:
Don't retry test cases by default
This makes it too easy to miss failures and we have anyway to fix race conditions, not ignore them.
mysys/tree.c:
Safety change to ensure read/black trees (used with heap tables) works on 64 bit setups where ulong <> size_t
sql/sql_delete.cc:
Fixed bug where we could (under unlikely error conditions) access not initialized variable.
(Pointed out by Bryan Aker)
- Added checking of return value for system(), freopen(), fgets() and chown()
- Ensure that calls that require a format strings gets a format string
- Other trivial things
Updated test suite results (especially for pbxt and embedded server)
Removed warning for "Invalid (old?) table or database name 'mysqld.1'" from pbxt tests
Speed up some pbxt tests by inserting begin ; commit; around "while loops with inserts"
Added mysqld startup option '--debug-flush'
Create maria_recovery.trace in data directory instead of current directory
client/mysql.cc:
Check return value from system()
client/mysql_upgrade.c:
Check return value from fgets()
client/mysqladmin.cc:
Check return value from fgets()
client/mysqlslap.c:
Check return value from system() (but ignore it, as it's not critical)
extra/yassl/src/crypto_wrapper.cpp:
Check return value from fgets() (but ignore it, as it's internal file)
extra/yassl/taocrypt/src/aes.cpp:
Added extra {} to remove compiler warning
extra/yassl/taocrypt/src/blowfish.cpp:
Added extra {} to remove compiler warning
extra/yassl/taocrypt/src/misc.cpp:
Ifdef not used code
include/mysys_err.h:
Added error message for failing chown()
mysql-test/mysql-test-run.pl:
Don't give warning for skipping ndbcluster (never enabled in MariaDB)
mysql-test/suite/funcs_1/r/is_columns_is_embedded.result:
Update with new information schema information
mysql-test/suite/funcs_1/r/is_tables_is_embedded.result:
New test
mysql-test/suite/funcs_1/r/is_tables_myisam_embedded.result:
Update test results (has not been tested for a long time)
mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result:
Update test results (has not been tested for a long time)
mysql-test/suite/funcs_1/t/is_tables_is.test:
Don't run with embedded server (as results differ)
I added a new test for embedded server
mysql-test/suite/funcs_1/t/is_tables_is_embedded.test:
New test
mysql-test/suite/pbxt/my.cnf:
Allow one to run pbxt tests without having to specify --mysqld=--default-storage-engine=pbxt
mysql-test/suite/pbxt/t/count_distinct3.test:
Speed up test by inserting begin; ... commit;
mysql-test/suite/pbxt/t/subselect.test:
Speed up test by inserting begin; ... commit;
mysys/errors.c:
Added error message for failing chown()
mysys/my_copy.c:
Added error message for failing chown()
mysys/my_redel.c:
Added error message for failing chown()
mysys/safemalloc.c:
Added cast to get rid of compiler warning
sql/ha_partition.cc:
Fixed wrong argument to sql_print_error() (it requires a format string)
sql/log.cc:
Test return value of freopen()
sql/mysqld.cc:
Test return value of freopen()
Added startup option '--debug-flush' to be used when one gets a core dump (easy to explain to people on IRC)
sql/rpl_rli.cc:
Fixed wrong argument to sql_print_error() (it requires a format string)
sql/set_var.cc:
Added {} to get rid of compiler warnings
sql/slave.cc:
Fixed wrong argument to mi->report() and sql_print...() (they require a format string)
sql/sql_cache.cc:
Fixed wrong argument to sql_printinformation() (it requires a format string)
sql/sql_parse.cc:
Test return value of fgets()
sql/sql_plugin.cc:
Fixed wrong argument to sql_print_error() (it requires a format string)
sql/sql_select.cc:
Use unique table name for internal temp tables instead of full path
(Simple speed & space optimization)
sql/udf_example.c:
Removed compiler warning about not used variable
storage/maria/ha_maria.cc:
Fixed wrong argument to sql_print_error() and ma_check_print_error() (they require a format string)
storage/maria/ma_recovery.c:
Create maria_recovery.trace in data directory instead of current directory
storage/maria/unittest/ma_test_loghandler-t.c:
Fixed wrong argument to ok(); Requires a format string
storage/pbxt/src/strutil_xt.cc:
Detect temporary tables by checking if that path for the table is in the mysql data directory.
The database for temporary tables is after this patch, from PBXT point of view, ""
This is needed to stop PBXT from calling filename_to_tablename() with the base directory as an argument, which caused
ERROR: Invalid (old?) table or database name 'mysqld.1'" in the log when running the test suite.
tests/mysql_client_test.c:
Fixed compiler warnings
unittest/mysys/base64-t.c:
Fixed wrong argument to diag() (it requires a format string)
Added a comment that the current 'print' of differing buffers doesn't print the right thing,
but didn't fix this as it's not important (unless we find a bug in the real code)
This fixes a race condition in the test system
mysql-test/include/maria_empty_logs.inc:
Added comment
mysql-test/include/wait_for_status_var.inc:
Fixed type in variable name. Add ' around variables for better error message
mysql-test/mysql-test-run.pl:
Remove -skip-falcon (not to be used), add skip-pbxt to bootstrap
mysql-test/suite/maria/t/maria_showlog_error-master.opt:
Force restart before maria_showlog_error to get rid of status from previous connection
Problem was the use of SHOW PROCESSLIST. This is not fully functional in
embedded server, STATE is hardcoded to "Writing to net".
Fixed using --replace_result for STATE.
The test is supposed to provoke a deadlock, to test a crash of the server in
some deadlock scenarios.
The problem is that in recent version of MySQL, no deadlock occurs. It is not
clear why a deadlock should be expected. One transaction does an insert+delete
on primary key value 1 in table t2. The other transaction does an insert on
primary key value 123. There seems no reason that these should conflict, so
there is no deadlock.
(Presumably an earlier version did get a deadlock due to maybe taking excessive
locks on the insert+delete of primary key value 1. The table has only one row,
so maybe a different locking was used ("Impossible WHERE noticed after reading
const tables"))
Fix is to have transaction 1 lock PK 1 and transaction 2 lock PK 123. Then have
transaction 2 access PK 1 (wait) and transaction 1 access PK 123 (deadlock).
It has been checked that this modified test case still crashes the server in
the same way prior to fix of the original bug (Bug#24989).
mysql-test/include/read_many_rows.inc:
Provoke deadlock on same PK value in the two transactions to ensure that the
deadlock does occur independently on whatever execution plan is chosen.
mysql-test/r/read_many_rows_innodb.result:
Result file update.
Some result updates necessary due to extra tables and columns added in
information_schema in MariaDB (XtraDB, PBXT, microsec_process).
Also fix bad merge of two result files; apparently the test case was merged,
but the result file was not.
mysql-test/suite/funcs_1/datadict/processlist_priv.inc:
Handle the new TIME_MS column in information_schema.processlist.
mysql-test/suite/funcs_1/datadict/processlist_val.inc:
Handle the new TIME_MS column in information_schema.processlist.
mysql-test/suite/funcs_1/r/is_columns_is.result:
Handle new tables in information_schema.
mysql-test/suite/funcs_1/r/is_tables_is.result:
Handle new tables in information_schema.
mysql-test/suite/funcs_1/r/is_tables_myisam.result:
Fix previous bad merge; apparently this file was not merged along with test changes.
mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result:
Handle the new TIME_MS column in information_schema.processlist.
mysql-test/suite/funcs_1/r/processlist_val_no_prot.result:
Fix previous bad merge; apparently this file was not merged along with test changes.
Also handle the new TIME_MS column in INFORMATION_SCHEMA.PROCESSLIST.
mysql-test/suite/funcs_1/t/is_columns_is.test:
Since result file includes PBXT information_schema tables, we need PBXT to run this test.
Fix some connect options to work with embedded.
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
Disable in --embedded tests that rely on the mysqltest --list_files command,
which does not seem to work properly in --embedded.
mysql-test/suite/parts/t/partition_alter1_1_2_innodb.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_1_2_myisam.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_1_innodb.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_1_myisam.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_2_innodb.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_2_myisam.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_1_innodb.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_1_maria.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_1_myisam.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_2_innodb.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_2_maria.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_2_myisam.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_alter3_innodb.test:
Disable in --embedded tests that rely on the mysqltest --list_files command,
which does not seem to work properly in --embedded.
mysql-test/suite/parts/t/partition_alter3_myisam.test:
Disable in --embedded tests that rely on the mysqltest --list_files command,
which does not seem to work properly in --embedded.
mysql-test/suite/parts/t/partition_alter4_innodb.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_alter4_myisam.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_basic_innodb.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_basic_myisam.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_basic_symlink_myisam.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_engine_innodb.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_engine_myisam.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_special_innodb.test:
Fix some connect options to work with embedded.
mysql-test/suite/parts/t/partition_syntax_innodb.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
mysql-test/suite/parts/t/partition_syntax_myisam.test:
Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.
The --enable_prepare_warnings allows to not discard warnings from autorepair
of crashed table in --ps-protocol mode.
Use this to properly fix the parts.partition_recover_myisam and
maria.maria-recover tests.
Add a test case for the new feature. This also adds missing test coverage
for the case where the same warning is thrown in both prepare and execute
phase.
client/mysqltest.cc:
Implement new commands --enable-prepare_warnings and --disable_prepare_warnings.
mysql-test/r/mysqltest_ps.result:
Add test case for new --enable_prepare_warning mysqltest command.
mysql-test/suite/maria/t/maria-recover.test:
Better fix of test case using new --enable_prepare_warnings command.
mysql-test/suite/parts/t/partition_recover_myisam.test:
Fix test failure in --ps-protocol mode.
mysql-test/t/mysqltest_ps.test:
Add test case for new --enable_prepare_warning mysqltest command.
- Don't need any m1 prefix for the first release based on given MySQL
version number.
- Fix mysql-test-run to understand that some stuff is installed under
share/mariadb rather than share/mysql.
- Update EXPLAIN results after table elimination
- mysqlslap now specifies 'Engine=' in CREATE TABLE instead of using
SET storage_engine=...
- For some reason, mysqltest logs "connect" command differently when PBXT
is the default storage engine. This is probably a bug in mysqltest which
we can't be bothered to investigate at the moment, so add --replace
mysql-test/suite/pbxt/r/connect.result:
Fix pbxt test suite failures:
- For some reason, mysqltest logs "connect" command differently when PBXT
is the default storage engine. This is probably a bug in mysqltest which
we can't be bothered to investigate at the moment, so add --replace
mysql-test/suite/pbxt/r/mysqlslap.result:
Fix pbxt test suite failures:
- mysqlslap now specifies 'Engine=' in CREATE TABLE instead of using
SET storage_engine=...
mysql-test/suite/pbxt/r/ps_11bugs.result:
Fix pbxt test suite failures:
- Update EXPLAIN results after table elimination
mysql-test/suite/pbxt/r/select.result:
Fix pbxt test suite failures:
- Update EXPLAIN results after table elimination
mysql-test/suite/pbxt/r/union.result:
Fix pbxt test suite failures:
- Update EXPLAIN results after table elimination
mysql-test/suite/pbxt/t/connect.test:
Fix pbxt test suite failures:
- For some reason, mysqltest logs "connect" command differently when PBXT
is the default storage engine. This is probably a bug in mysqltest which
we can't be bothered to investigate at the moment, so add --replace
- innodb-index needs regexp replace for embedded like other similar tests.
- partitions_special_* need to be modified for the extension from 16 to 32
max key parts allowed that was made in MariaDB.
When DNS is not working and returns some address even for non-existing
host names, some test cases fail with wrong error.
Fix by disabling these tests on such systems.
Remove mysql-test-run.pl unnecessary and confusing 'skipped' messages.
- In mysql-test-run.pl, we auto-generate combinations of replication
tests. But this sometimes generates combinations that are meaningless,
like running a test that requires row-based replication with
statement-based. These superfluous combinationes should not be
reported as skipped, they should just be deleted.
- Remove ndb suites from default suites, as we do not support NDB
in MariaDB.
Keep skip messages resulting from running mysql-test-run.pl in special
ways, eg. --mysqld=--binlog-format=statement.
- Don't omit the @@debug variable from testcase check, since it can cause real problems.
- Fix some bad merges by reverting to be identical to MySQL 5.1.
mysql-test/include/mtr_check.sql:
Don't omit the @@debug variable from testcase check, since it can cause real problems.
mysql-test/r/mysqlbinlog_row_big.result:
Fix incorrect merge.
mysql-test/r/variables-big.result:
Fix incorrect merge, by reverting to MySQL 5.1 version.
mysql-test/t/mysqlbinlog_row_big.test:
Fix incorrect merge.
mysql-test/t/variables-big.test:
Fix incorrect merge, by reverting to MySQL 5.1 version.
mysql-test/r/mysqld_option_err.result:
Test that mysqld --not-known-option --help --verbose gives error
mysql-test/t/mysqld_option_err.test:
Test that mysqld --not-known-option --help --verbose gives error
This is needed to fix failures seen in Buildbot (main.ctype_gbk_binlog).
Problem is that some tests did not RESET MASTER, causing them to pick up random
binlog files depending on prior tests.
Fix trivial typo in BUILD/* scripts.
BUILD/SETUP.sh:
Fix typo.
mysql-test/mysql-test-run.pl:
Fix mysql-test-run.pl to be able to find plugins used in testing also when running the
test suite from an installed mysqld package.
- mysqlslap result file update after merge.
- Fix skipping certain tests when running test suite as root, got broken somehow.
mysql-test/mysql-test-run.pl:
Somehow skipping tests when running as root got broken. The mysqltest if() no longer seems
to accept YES as a true value, so use 1 for true value instead.
mysql-test/r/mysqlslap.result:
Result file update after change in engine behaviour of mysqlslap.
mysql-test/t/mysqld_option_err.test:
This test does not work when run as root.