polardbxengine/mysql-test/suite/xengine_binlog_gtid/t/binlog_gtid_utils.test

126 lines
5.6 KiB
Plaintext

# ==== Purpose ====
#
# Check all the GTID functions defined in the auxiliary test script
# include/gtid_utils.inc.
#
# ==== Implementation ====
#
# For each function in gtid_utils.inc, test a few values, try to
# include boundary conditions etc.
# clang/UBSAN needs to override the small thread stack in our -master.opt
call mtr.add_suppression("option 'thread_stack':");
# Only need to test under one binlog format
--source include/have_binlog_format_row.inc
# Thread stack overrun in debug mode on sparc
--source include/not_sparc_debug.inc
--source include/gtid_utils.inc
--echo #### Max values for built-in functions ####
eval SELECT GTID_SUBSET(CONCAT('$uuida:1-', (1 << 63) - 2), '');
eval SELECT GTID_SUBSET('', CONCAT('$uuida:1-', (1 << 63) - 2));
--error ER_MALFORMED_GTID_SET_SPECIFICATION
eval SELECT GTID_SUBSET(CONCAT('$uuida:1-', (1 << 63) - 1), '');
--error ER_MALFORMED_GTID_SET_SPECIFICATION
eval SELECT GTID_SUBSET('', CONCAT('$uuida:1-', (1 << 63) - 1));
eval SELECT GTID_SUBTRACT(CONCAT('$uuida:1-', (1 << 63) - 2), '');
eval SELECT GTID_SUBTRACT('', CONCAT('$uuida:1-', (1 << 63) - 2));
--error ER_MALFORMED_GTID_SET_SPECIFICATION
eval SELECT GTID_SUBTRACT(CONCAT('$uuida:1-', (1 << 63) - 1), '');
--error ER_MALFORMED_GTID_SET_SPECIFICATION
eval SELECT GTID_SUBTRACT('', CONCAT('$uuida:1-', (1 << 63) - 1));
--echo #### Min values for built-in functions ####
--error ER_MALFORMED_GTID_SET_SPECIFICATION
eval SELECT GTID_SUBSET('$uuida:0-1', '');
--error ER_MALFORMED_GTID_SET_SPECIFICATION
eval SELECT GTID_SUBSET('', '$uuida:0-1');
--error ER_MALFORMED_GTID_SET_SPECIFICATION
eval SELECT GTID_SUBSET('$uuida:0', '');
--error ER_MALFORMED_GTID_SET_SPECIFICATION
eval SELECT GTID_SUBSET('', '$uuida:0');
--error ER_MALFORMED_GTID_SET_SPECIFICATION
eval SELECT GTID_SUBTRACT('$uuida:0-1', '');
--error ER_MALFORMED_GTID_SET_SPECIFICATION
eval SELECT GTID_SUBTRACT('', '$uuida:0-1');
--error ER_MALFORMED_GTID_SET_SPECIFICATION
eval SELECT GTID_SUBTRACT('$uuida:0', '');
--error ER_MALFORMED_GTID_SET_SPECIFICATION
eval SELECT GTID_SUBTRACT('', '$uuida:0');
--echo #### Functionality of user-defined functions in gtid_utils.inc ####
eval SELECT GTID_IS_EQUAL('$uuida:1,$uuidb:3:2:1', '$uuidb:1-3,$uuida:1');
eval SELECT GTID_IS_EQUAL('$uuida:1,$uuidb:3:2:1', '$uuidb:1:3,$uuida:1');
eval SELECT GTID_IS_DISJOINT('$uuida:2', '$uuidb:2,$uuida:1:3');
eval SELECT GTID_IS_DISJOINT('$uuida:2', '$uuidb:2,$uuida:1-3');
eval SELECT GTID_IS_DISJOINT_UNION('$uuida:2,$uuidb:1', '$uuida:1:3', '$uuida:1-3,$uuidb:1');
eval SELECT GTID_IS_DISJOINT_UNION('$uuida:2,$uuidb:1', '$uuida:1-3', '$uuida:1-3,$uuidb:1');
eval SELECT GTID_IS_DISJOINT_UNION('$uuida:2,$uuidb:1', '$uuida:1', '$uuida:1-3,$uuidb:1');
eval SELECT GTID_INTERSECTION('$uuida:1-3', '$uuida:5-7');
eval SELECT GTID_INTERSECTION('$uuida:1-3:5-7', '$uuida:3-5');
eval SELECT GTID_INTERSECTION('$uuida:1-3', '$uuida:1:2:3');
eval SELECT GTID_INTERSECTION('$uuidb:1-3', '$uuida:1-3');
eval SELECT GTID_UNION('$uuida:1:3', '$uuida:1:3');
eval SELECT GTID_UNION('$uuida:1-3', '$uuida:1:3');
eval SELECT GTID_UNION('$uuida:1:3', '$uuida:2:4');
eval SELECT GTID_SYMMETRIC_DIFFERENCE('$uuida:1-3', '$uuida:3-5');
eval SELECT GTID_SYMMETRIC_DIFFERENCE('$uuida:1-3', '$uuida:4-5');
eval SELECT GTID_SYMMETRIC_DIFFERENCE('$uuida:1-3', '$uuidb:1-3');
eval SELECT GTID_SUBTRACT_UUID('$uuida:1-3,$uuidb:1-3,$uuidc:1-3', '$uuidb');
eval SELECT GTID_SUBTRACT_UUID('$uuida:1-3,$uuidc:1-3', '$uuidb');
eval SELECT GTID_SUBTRACT_UUID('$uuidb:1-3', '$uuidb');
eval SELECT GTID_SUBTRACT_UUID(CONCAT('$uuida:1-', (1 << 63) - 2), '$uuida');
--error ER_MALFORMED_GTID_SET_SPECIFICATION
eval SELECT GTID_SUBTRACT_UUID(CONCAT('$uuida:1-', (1 << 63) - 1), '$uuida');
eval SELECT GTID_INTERSECTION_WITH_UUID('$uuida:1-3,$uuidb:1-3,$uuidc:1-3', '$uuidb');
eval SELECT GTID_INTERSECTION_WITH_UUID('$uuida:1-3,$uuidc:1-3', '$uuidb');
eval SELECT GTID_INTERSECTION_WITH_UUID('$uuidb:1-3', '$uuidb');
eval SELECT GTID_INTERSECTION_WITH_UUID(CONCAT('$uuida:1-', (1 << 63) - 2), '$uuida');
--error ER_MALFORMED_GTID_SET_SPECIFICATION
eval SELECT GTID_INTERSECTION_WITH_UUID(CONCAT('$uuida:1-', (1 << 63) - 1), '$uuida');
eval SELECT GTID_COUNT('');
eval SELECT GTID_COUNT('$uuida:1');
eval SELECT GTID_COUNT('$uuida:1-3');
eval SELECT GTID_COUNT('$uuida:1-3:4-5');
eval SELECT GTID_COUNT('$uuida:1-3:5-5');
eval SELECT GTID_COUNT('$uuida:1-3:5-4');
eval SELECT GTID_COUNT('$uuida:1-3:5-4,$uuidb:1:3,');
eval SELECT GTID_NEXT_GENERATED('$uuidb:1', '$uuida');
eval SELECT GTID_NEXT_GENERATED('', '$uuida');
eval SELECT GTID_NEXT_GENERATED('$uuida:1', '$uuida');
eval SELECT GTID_NEXT_GENERATED('$uuida:2', '$uuida');
eval SELECT GTID_NEXT_GENERATED('$uuida:1-3', '$uuida');
eval SELECT GTID_NEXT_GENERATED('$uuida:5:1-3', '$uuida');
eval SELECT GTID_NEXT_GENERATED('$uuida:1-3,$uuid1:1', '$uuida');
eval SELECT GTID_NEXT_GENERATED('$uuida:2-3,$uuid1:1', '$uuida');
eval SELECT GTID_NEXT_GENERATED_MULTIPLE('$uuida:1', '$uuida', 0);
eval SELECT GTID_NEXT_GENERATED_MULTIPLE('$uuidb:1', '$uuida', 4);
eval SELECT GTID_NEXT_GENERATED_MULTIPLE('', '$uuida', 4);
eval SELECT GTID_NEXT_GENERATED_MULTIPLE('$uuida:2:4:6:8:10-11', '$uuida', 10);
eval SELECT GTID_NEXT_GENERATED_MULTIPLE('$uuida:1:3:5:7:9-11', '$uuida', 10);
eval SELECT GTID_COMPARE('$uuida:1', '$uuida:2', '$uuida:1-2');
eval SELECT GTID_COMPARE('$uuida:1-2', '', '$uuida:1-2');
eval SELECT GTID_COMPARE('', '$uuida:1-2', '$uuida:1-2');
eval SELECT GTID_COMPARE('$uuida:1-2', '~$uuida:1-2', '');
eval SELECT GTID_COMPARE('$uuida:1', '$uuida:+2', '$uuida:1-3');
eval SELECT GTID_COMPARE('$uuida:1-2', '$uuida:+2,$uuida:+3', '$uuida:1-5');
eval SELECT GTID_COMPARE('', '$uuida:+2', '$uuida:1-2');
--source include/gtid_utils_end.inc