1# ==== Purpose ==== 2# 3# Check all the GTID functions defined in the auxiliary test script 4# include/gtid_utils.inc. 5# 6# ==== Implementation ==== 7# 8# For each function in gtid_utils.inc, test a few values, try to 9# include boundary conditions etc. 10 11--source include/have_gtid.inc 12# Only need to test under one binlog format 13--source include/have_binlog_format_row.inc 14--source include/gtid_utils.inc 15 16eval SELECT GTID_IS_EQUAL('$uuida:1,$uuidb:3:2:1', '$uuidb:1-3,$uuida:1'); 17eval SELECT GTID_IS_EQUAL('$uuida:1,$uuidb:3:2:1', '$uuidb:1:3,$uuida:1'); 18 19eval SELECT GTID_IS_DISJOINT('$uuida:2', '$uuidb:2,$uuida:1:3'); 20eval SELECT GTID_IS_DISJOINT('$uuida:2', '$uuidb:2,$uuida:1-3'); 21 22eval SELECT GTID_IS_DISJOINT_UNION('$uuida:2,$uuidb:1', '$uuida:1:3', '$uuida:1-3,$uuidb:1'); 23eval SELECT GTID_IS_DISJOINT_UNION('$uuida:2,$uuidb:1', '$uuida:1-3', '$uuida:1-3,$uuidb:1'); 24eval SELECT GTID_IS_DISJOINT_UNION('$uuida:2,$uuidb:1', '$uuida:1', '$uuida:1-3,$uuidb:1'); 25 26eval SELECT GTID_INTERSECTION('$uuida:1-3', '$uuida:5-7'); 27eval SELECT GTID_INTERSECTION('$uuida:1-3:5-7', '$uuida:3-5'); 28eval SELECT GTID_INTERSECTION('$uuida:1-3', '$uuida:1:2:3'); 29eval SELECT GTID_INTERSECTION('$uuidb:1-3', '$uuida:1-3'); 30 31eval SELECT GTID_UNION('$uuida:1:3', '$uuida:1:3'); 32eval SELECT GTID_UNION('$uuida:1-3', '$uuida:1:3'); 33eval SELECT GTID_UNION('$uuida:1:3', '$uuida:2:4'); 34 35eval SELECT GTID_SYMMETRIC_DIFFERENCE('$uuida:1-3', '$uuida:3-5'); 36eval SELECT GTID_SYMMETRIC_DIFFERENCE('$uuida:1-3', '$uuida:4-5'); 37eval SELECT GTID_SYMMETRIC_DIFFERENCE('$uuida:1-3', '$uuidb:1-3'); 38 39eval SELECT GTID_SUBTRACT_UUID('$uuida:1-3,$uuidb:1-3,$uuidc:1-3', '$uuidb'); 40eval SELECT GTID_SUBTRACT_UUID('$uuida:1-3,$uuidc:1-3', '$uuidb'); 41eval SELECT GTID_SUBTRACT_UUID('$uuidb:1-3', '$uuidb'); 42eval SELECT GTID_SUBTRACT_UUID(CONCAT('$uuida:1-', 1 << 63 - 1), '$uuida'); 43 44eval SELECT GTID_INTERSECTION_WITH_UUID('$uuida:1-3,$uuidb:1-3,$uuidc:1-3', '$uuidb'); 45eval SELECT GTID_INTERSECTION_WITH_UUID('$uuida:1-3,$uuidc:1-3', '$uuidb'); 46eval SELECT GTID_INTERSECTION_WITH_UUID('$uuidb:1-3', '$uuidb'); 47 48eval SELECT GTID_COUNT(''); 49eval SELECT GTID_COUNT('$uuida:1'); 50eval SELECT GTID_COUNT('$uuida:1-3'); 51eval SELECT GTID_COUNT('$uuida:1-3:4-5'); 52eval SELECT GTID_COUNT('$uuida:1-3:5-5'); 53eval SELECT GTID_COUNT('$uuida:1-3:5-4'); 54eval SELECT GTID_COUNT('$uuida:1-3:5-4,$uuidb:1:3,'); 55 56eval SELECT GTID_NEXT_GENERATED('$uuidb:1', '$uuida'); 57eval SELECT GTID_NEXT_GENERATED('', '$uuida'); 58eval SELECT GTID_NEXT_GENERATED('$uuida:1', '$uuida'); 59eval SELECT GTID_NEXT_GENERATED('$uuida:2', '$uuida'); 60eval SELECT GTID_NEXT_GENERATED('$uuida:1-3', '$uuida'); 61eval SELECT GTID_NEXT_GENERATED('$uuida:5:1-3', '$uuida'); 62eval SELECT GTID_NEXT_GENERATED('$uuida:1-3,$uuid1:1', '$uuida'); 63eval SELECT GTID_NEXT_GENERATED('$uuida:2-3,$uuid1:1', '$uuida'); 64 65eval SELECT GTID_NEXT_GENERATED_SET('$uuida:1', '$uuida', 0); 66eval SELECT GTID_NEXT_GENERATED_SET('$uuidb:1', '$uuida', 4); 67eval SELECT GTID_NEXT_GENERATED_SET('', '$uuida', 4); 68eval SELECT GTID_NEXT_GENERATED_SET('$uuida:2:4:6:8:10-11', '$uuida', 10); 69eval SELECT GTID_NEXT_GENERATED_SET('$uuida:1:3:5:7:9-11', '$uuida', 10); 70 71--source include/gtid_utils_end.inc 72