Skip to content

Commit 89a18a5

Browse files
Merge pull request percona#5336 from percona-ysorokin/dev/PS-8963-8.0-sequence_table_keyword
PS-8963 fix: SEQUENCE_TABLE Issue
2 parents 923d936 + 1020604 commit 89a18a5

23 files changed

+611
-325
lines changed

mysql-test/r/information_schema_keywords.result

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,7 @@ PASSWORD 0
455455
PASSWORD_LOCK_TIME 0
456456
PATH 0
457457
PERCENT_RANK 1
458+
PERCONA_SEQUENCE_TABLE 1
458459
PERSIST 0
459460
PERSIST_ONLY 0
460461
PHASE 0
@@ -572,7 +573,7 @@ SECURITY 0
572573
SELECT 1
573574
SENSITIVE 1
574575
SEPARATOR 1
575-
SEQUENCE_TABLE 1
576+
SEQUENCE_TABLE 0
576577
SERIAL 0
577578
SERIALIZABLE 0
578579
SERVER 0

mysql-test/r/mysqld--help-notwin.result

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1693,8 +1693,8 @@ The following options may be given as the first argument:
16931693
addition the thread commands that were in use until
16941694
8.0.25 are written to the slow query log.
16951695
--tf-sequence-table-max-upper-bound=#
1696-
Maximum number of records SEQUENCE_TABLE() table function
1697-
is allowed to generate.
1696+
Maximum number of records PERCONA_SEQUENCE_TABLE() table
1697+
function is allowed to generate.
16981698
--thread-cache-size=#
16991699
How many threads we should keep in a cache for reuse
17001700
--thread-handling=name

mysql-test/r/percona_sequence_table.result

Lines changed: 252 additions & 252 deletions
Large diffs are not rendered by default.
Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
CREATE TABLE t1(id INT UNSIGNED) ENGINE=InnoDB;
2+
INSERT INTO t1 VALUES(1);
3+
CREATE TABLE percona_sequence_table(id INT UNSIGNED) ENGINE=InnoDB;
4+
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'percona_sequence_table(id INT UNSIGNED) ENGINE=InnoDB' at line 1
5+
CREATE TABLE sequence_table(id INT UNSIGNED) ENGINE=InnoDB;
6+
INSERT INTO sequence_table VALUES (1);
7+
INSERT INTO sequence_table VALUES (2);
8+
SELECT * FROM sequence_table;
9+
id
10+
1
11+
2
12+
SELECT * FROM sequence_table AS tt;
13+
id
14+
1
15+
2
16+
SELECT * FROM sequence_table tt;
17+
id
18+
1
19+
2
20+
SELECT * FROM (sequence_table);
21+
id
22+
1
23+
2
24+
SELECT * FROM (sequence_table AS tt);
25+
id
26+
1
27+
2
28+
SELECT * FROM (sequence_table tt);
29+
id
30+
1
31+
2
32+
SELECT * FROM (SELECT * FROM t1) AS sequence_table;
33+
id
34+
1
35+
SELECT * FROM (SELECT * FROM t1) sequence_table;
36+
id
37+
1
38+
SELECT sequence_table.* FROM (SELECT * FROM t1) AS sequence_table;
39+
id
40+
1
41+
SELECT sequence_table.* FROM (SELECT * FROM t1) sequence_table;
42+
id
43+
1
44+
SELECT * FROM (SELECT * FROM t1) AS sequence_table(val);
45+
val
46+
1
47+
SELECT * FROM (SELECT * FROM t1) sequence_table(val);
48+
val
49+
1
50+
SELECT sequence_table.* FROM (SELECT * FROM t1) AS sequence_table(val);
51+
val
52+
1
53+
SELECT sequence_table.* FROM (SELECT * FROM t1) sequence_table(val);
54+
val
55+
1
56+
SELECT sequence_table.val FROM (SELECT * FROM t1) AS sequence_table(val);
57+
val
58+
1
59+
SELECT sequence_table.val FROM (SELECT * FROM t1) sequence_table(val);
60+
val
61+
1
62+
SELECT val FROM (SELECT * FROM t1) AS sequence_table(val);
63+
val
64+
1
65+
SELECT val FROM (SELECT * FROM t1) sequence_table(val);
66+
val
67+
1
68+
SELECT * FROM (SELECT * FROM t1) AS tt(sequence_table);
69+
sequence_table
70+
1
71+
SELECT * FROM (SELECT * FROM t1) tt(sequence_table);
72+
sequence_table
73+
1
74+
SELECT tt.sequence_table FROM (SELECT * FROM t1) AS tt(sequence_table);
75+
sequence_table
76+
1
77+
SELECT tt.sequence_table FROM (SELECT * FROM t1) tt(sequence_table);
78+
sequence_table
79+
1
80+
SELECT sequence_table FROM (SELECT * FROM t1) AS tt(sequence_table);
81+
sequence_table
82+
1
83+
SELECT sequence_table FROM (SELECT * FROM t1) tt(sequence_table);
84+
sequence_table
85+
1
86+
SELECT * FROM (SELECT * FROM t1) AS sequence_table(sequence_table);
87+
sequence_table
88+
1
89+
SELECT * FROM (SELECT * FROM t1) sequence_table(sequence_table);
90+
sequence_table
91+
1
92+
SELECT sequence_table.sequence_table FROM (SELECT * FROM t1) AS sequence_table(sequence_table);
93+
sequence_table
94+
1
95+
SELECT sequence_table.sequence_table FROM (SELECT * FROM t1) sequence_table(sequence_table);
96+
sequence_table
97+
1
98+
SELECT sequence_table FROM (SELECT * FROM t1) AS sequence_table(sequence_table);
99+
sequence_table
100+
1
101+
SELECT sequence_table FROM (SELECT * FROM t1) sequence_table(sequence_table);
102+
sequence_table
103+
1
104+
SELECT * FROM t1 AS sequence_table;
105+
id
106+
1
107+
SELECT * FROM t1 sequence_table;
108+
id
109+
1
110+
SELECT * FROM t1 AS sequence_table WHERE id = 1;
111+
id
112+
1
113+
SELECT * FROM t1 sequence_table WHERE id = 1;
114+
id
115+
1
116+
SELECT * FROM t1 AS sequence_table WHERE sequence_table.id = 1;
117+
id
118+
1
119+
SELECT * FROM t1 sequence_table WHERE sequence_table.id = 1;
120+
id
121+
1
122+
SELECT * FROM SEQUENCE_TABLE(2) AS tt;
123+
value
124+
0
125+
1
126+
SELECT * FROM SEQUENCE_TABLE(2) tt;
127+
value
128+
0
129+
1
130+
SELECT * FROM SEQUENCE_TABLE(2) AS sequence_table;
131+
value
132+
0
133+
1
134+
SELECT sequence_table.* FROM SEQUENCE_TABLE(2) AS sequence_table;
135+
value
136+
0
137+
1
138+
SELECT value FROM SEQUENCE_TABLE(2) AS sequence_table;
139+
value
140+
0
141+
1
142+
SELECT sequence_table.value FROM SEQUENCE_TABLE(2) AS sequence_table;
143+
value
144+
0
145+
1
146+
SELECT * FROM sequence_table, SEQUENCE_TABLE(2) AS tt;
147+
id value
148+
2 0
149+
1 0
150+
2 1
151+
1 1
152+
INSERT INTO sequence_table VALUES (3);
153+
INSERT INTO sequence_table SELECT value + 4 FROM SEQUENCE_TABLE(2) AS tt;
154+
INSERT INTO t1 SELECT * FROM sequence_table;
155+
UPDATE sequence_table SET id = id + 100;
156+
UPDATE sequence_table SET id = id + 100 WHERE id IN (SELECT * FROM SEQUENCE_TABLE(10) AS tt);
157+
UPDATE t1 SET id = id + 100 WHERE id IN (SELECT * FROM sequence_table);
158+
DELETE FROM sequence_table WHERE id = 101;
159+
DELETE FROM sequence_table WHERE id IN (SELECT * FROM SEQUENCE_TABLE(10) AS tt);
160+
DELETE FROM t1 WHERE id IN (SELECT * FROM sequence_table);
161+
TRUNCATE TABLE sequence_table;
162+
DROP TABLE t1;
163+
DROP TABLE sequence_table;

mysql-test/suite/federated/r/federated_debug.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ SELECT * FROM test.t1;
4444
id
4545
SET @debug_save= @@GLOBAL.DEBUG;
4646
SET @@GLOBAL.DEBUG='+d,PS-8747_wait_for_disconnect_after_check';
47-
INSERT INTO test.t1 SELECT tt.* FROM SEQUENCE_TABLE(20000) AS tt;
47+
INSERT INTO test.t1 SELECT tt.* FROM PERCONA_SEQUENCE_TABLE(20000) AS tt;
4848
SET GLOBAL DEBUG= @debug_save;
4949
DROP TABLE test.t1;
5050
DROP SERVER test;

mysql-test/suite/federated/t/federated_debug.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ SET @@GLOBAL.DEBUG='+d,PS-8747_wait_for_disconnect_after_check';
6060

6161
# Send data which will not fit into one communication packet, so client will try to send them
6262
# before flush and reconnection.
63-
INSERT INTO test.t1 SELECT tt.* FROM SEQUENCE_TABLE(20000) AS tt;
63+
INSERT INTO test.t1 SELECT tt.* FROM PERCONA_SEQUENCE_TABLE(20000) AS tt;
6464
SET GLOBAL DEBUG= @debug_save;
6565

6666
DROP TABLE test.t1;

mysql-test/suite/innodb/r/optimizer_temporary_table_2.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ CREATE TABLE source (id INT PRIMARY KEY AUTO_INCREMENT, a VARCHAR(100), b VARCHA
99
CREATE TABLE dest LIKE source;
1010
# Populate source table with 64K records.
1111
INSERT INTO source (a, b, c, d, e, hdl_source_id, hdl_created_date)
12-
SELECT 'aaaaaaaaa', 'bbbbbbbbbb', 'cccccccccccccccc', 'dddddddddddddddddddddddddddd', 'eeeeeeeeeeeeeeeeee', value, NOW() FROM SEQUENCE_TABLE(65536) AS tt;
12+
SELECT 'aaaaaaaaa', 'bbbbbbbbbb', 'cccccccccccccccc', 'dddddddddddddddddddddddddddd', 'eeeeeeeeeeeeeeeeee', value, NOW() FROM PERCONA_SEQUENCE_TABLE(65536) AS tt;
1313
SELECT count(*) FROM source;
1414
count(*)
1515
65536

mysql-test/suite/innodb/t/optimizer_temporary_table_2.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ CREATE TABLE dest LIKE source;
1515

1616
--echo # Populate source table with 64K records.
1717
INSERT INTO source (a, b, c, d, e, hdl_source_id, hdl_created_date)
18-
SELECT 'aaaaaaaaa', 'bbbbbbbbbb', 'cccccccccccccccc', 'dddddddddddddddddddddddddddd', 'eeeeeeeeeeeeeeeeee', value, NOW() FROM SEQUENCE_TABLE(65536) AS tt;
18+
SELECT 'aaaaaaaaa', 'bbbbbbbbbb', 'cccccccccccccccc', 'dddddddddddddddddddddddddddd', 'eeeeeeeeeeeeeeeeee', value, NOW() FROM PERCONA_SEQUENCE_TABLE(65536) AS tt;
1919
SELECT count(*) FROM source;
2020

2121
--echo # Run query that creates big intrinsic temporary table. Prior to the

mysql-test/suite/innodb_fts/include/percona_ft_special_chars.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ OPTIMIZE TABLE t1;
9999
--echo *** creating a list of all printable characters (ASCII 33..126)
100100
--echo *** (whitespace and control characters are excluded)
101101

102-
SELECT GROUP_CONCAT(CHAR(value + 33 USING utf8mb4) SEPARATOR '') INTO @special_characters FROM SEQUENCE_TABLE(127 - 33) AS tt;
102+
SELECT GROUP_CONCAT(CHAR(value + 33 USING utf8mb4) SEPARATOR '') INTO @special_characters FROM PERCONA_SEQUENCE_TABLE(127 - 33) AS tt;
103103
SELECT @special_characters;
104104

105105
--echo

mysql-test/suite/innodb_fts/r/percona_ft_special_chars_default_ewc_off.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ test.t1 optimize status OK
6767

6868
*** creating a list of all printable characters (ASCII 33..126)
6969
*** (whitespace and control characters are excluded)
70-
SELECT GROUP_CONCAT(CHAR(value + 33 USING utf8mb4) SEPARATOR '') INTO @special_characters FROM SEQUENCE_TABLE(127 - 33) AS tt;
70+
SELECT GROUP_CONCAT(CHAR(value + 33 USING utf8mb4) SEPARATOR '') INTO @special_characters FROM PERCONA_SEQUENCE_TABLE(127 - 33) AS tt;
7171
SELECT @special_characters;
7272
@special_characters
7373
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

mysql-test/suite/innodb_fts/r/percona_ft_special_chars_default_ewc_on.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ test.t1 optimize status OK
6767

6868
*** creating a list of all printable characters (ASCII 33..126)
6969
*** (whitespace and control characters are excluded)
70-
SELECT GROUP_CONCAT(CHAR(value + 33 USING utf8mb4) SEPARATOR '') INTO @special_characters FROM SEQUENCE_TABLE(127 - 33) AS tt;
70+
SELECT GROUP_CONCAT(CHAR(value + 33 USING utf8mb4) SEPARATOR '') INTO @special_characters FROM PERCONA_SEQUENCE_TABLE(127 - 33) AS tt;
7171
SELECT @special_characters;
7272
@special_characters
7373
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

mysql-test/suite/innodb_fts/r/percona_ft_special_chars_mecab_ewc_off.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ test.t1 optimize status OK
7171

7272
*** creating a list of all printable characters (ASCII 33..126)
7373
*** (whitespace and control characters are excluded)
74-
SELECT GROUP_CONCAT(CHAR(value + 33 USING utf8mb4) SEPARATOR '') INTO @special_characters FROM SEQUENCE_TABLE(127 - 33) AS tt;
74+
SELECT GROUP_CONCAT(CHAR(value + 33 USING utf8mb4) SEPARATOR '') INTO @special_characters FROM PERCONA_SEQUENCE_TABLE(127 - 33) AS tt;
7575
SELECT @special_characters;
7676
@special_characters
7777
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

mysql-test/suite/innodb_fts/r/percona_ft_special_chars_mecab_ewc_on.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ test.t1 optimize status OK
7171

7272
*** creating a list of all printable characters (ASCII 33..126)
7373
*** (whitespace and control characters are excluded)
74-
SELECT GROUP_CONCAT(CHAR(value + 33 USING utf8mb4) SEPARATOR '') INTO @special_characters FROM SEQUENCE_TABLE(127 - 33) AS tt;
74+
SELECT GROUP_CONCAT(CHAR(value + 33 USING utf8mb4) SEPARATOR '') INTO @special_characters FROM PERCONA_SEQUENCE_TABLE(127 - 33) AS tt;
7575
SELECT @special_characters;
7676
@special_characters
7777
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

mysql-test/suite/innodb_fts/r/percona_ft_special_chars_ngram_ewc_off.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ test.t1 optimize status OK
9999

100100
*** creating a list of all printable characters (ASCII 33..126)
101101
*** (whitespace and control characters are excluded)
102-
SELECT GROUP_CONCAT(CHAR(value + 33 USING utf8mb4) SEPARATOR '') INTO @special_characters FROM SEQUENCE_TABLE(127 - 33) AS tt;
102+
SELECT GROUP_CONCAT(CHAR(value + 33 USING utf8mb4) SEPARATOR '') INTO @special_characters FROM PERCONA_SEQUENCE_TABLE(127 - 33) AS tt;
103103
SELECT @special_characters;
104104
@special_characters
105105
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

mysql-test/suite/innodb_fts/r/percona_ft_special_chars_ngram_ewc_on.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ test.t1 optimize status OK
9999

100100
*** creating a list of all printable characters (ASCII 33..126)
101101
*** (whitespace and control characters are excluded)
102-
SELECT GROUP_CONCAT(CHAR(value + 33 USING utf8mb4) SEPARATOR '') INTO @special_characters FROM SEQUENCE_TABLE(127 - 33) AS tt;
102+
SELECT GROUP_CONCAT(CHAR(value + 33 USING utf8mb4) SEPARATOR '') INTO @special_characters FROM PERCONA_SEQUENCE_TABLE(127 - 33) AS tt;
103103
SELECT @special_characters;
104104
@special_characters
105105
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

0 commit comments

Comments
 (0)