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