mirror of
https://github.com/MariaDB/server.git
synced 2025-07-24 19:42:23 +03:00
With MAX_INDEXIES=64(default), key_map=Bitmap<64> is just a wrapper around ulonglong and thus "trivial" (can be bzero-ed, or memcpy-ed, and stays valid still) With MAX_INDEXES=128, key_map = Bitmap<128> is not a "trivial" type anymore. The implementation uses MY_BITMAP, and MY_BITMAP contains pointers which make Bitmap invalid, when it is memcpy-ed/bzero-ed. The problem in 10.4 is that there are many new key_map members, inside TABLE or KEY, and those are often memcopied and bzeroed The fix makes Bitmap "trivial", by inlining most of MY_BITMAP functionality. pointers/heap allocations are not used anymore.
45 lines
1.6 KiB
Plaintext
45 lines
1.6 KiB
Plaintext
# This test should work in embedded server after we fix mysqltest
|
|
-- source include/not_embedded.inc
|
|
# need to have the dynamic loading turned on for the client plugin tests
|
|
--source include/have_plugin_auth.inc
|
|
|
|
SET @old_general_log= @@global.general_log;
|
|
SET @old_slow_query_log= @@global.slow_query_log;
|
|
|
|
call mtr.add_suppression(" Error reading file './client_test_db/test_frm_bug.frm'");
|
|
call mtr.add_suppression(" IP address .* could not be resolved");
|
|
|
|
# We run with different binaries for normal and --embedded-server
|
|
#
|
|
# If this test fails with "command "$MYSQL_CLIENT_TEST" failed",
|
|
# you should either run mysql_client_test separartely against a running
|
|
# server or run mysql-test-run --debug mysql_client_test and check
|
|
# var/log/mysql_client_test.trace
|
|
|
|
--exec echo "$MYSQL_CLIENT_TEST" > $MYSQLTEST_VARDIR/log/mysql_client_test.out.log 2>&1
|
|
--exec $MYSQL_CLIENT_TEST --getopt-ll-test=25600M >> $MYSQLTEST_VARDIR/log/mysql_client_test.out.log 2>&1
|
|
|
|
# End of 4.1 tests
|
|
echo ok;
|
|
|
|
--echo
|
|
--echo # cat MYSQL_TMP_DIR/test_wl4435.out.log
|
|
--echo # ------------------------------------
|
|
--cat_file $MYSQL_TMP_DIR/test_wl4435.out.log
|
|
--echo # ------------------------------------
|
|
--echo
|
|
|
|
--echo
|
|
--echo # cat MYSQL_TMP_DIR/test_explain_meta.out.log
|
|
--echo # ------------------------------------
|
|
|
|
# For MAX_INDEXES=128, max_len for possible_keys column is twice as large vs MAX_INDEXES=64
|
|
--replace_result 24576 12288
|
|
|
|
--cat_file $MYSQL_TMP_DIR/test_explain_meta.out.log
|
|
--echo # ------------------------------------
|
|
--echo
|
|
|
|
SET @@global.general_log= @old_general_log;
|
|
SET @@global.slow_query_log= @old_slow_query_log;
|