Skip to content

Commit 15fd232

Browse files
MDEV-36235 Incorrect result for BETWEEN over unique blob prefix
Disallow range optimization for BETWEEN when casting one of the arguments from STRING to a numeric type would be required to construct a range for the query. Adds a new method on Item_func_between called can_optimize_range_const which allows range optimization when the types of the arguments to BETWEEN would permit it.
1 parent 07b442a commit 15fd232

File tree

10 files changed

+450
-25
lines changed

10 files changed

+450
-25
lines changed

mysql-test/main/type_binary.result

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,3 +397,61 @@ indexed_col not_indexed_col
397397
DROP TABLE t2;
398398
DROP TABLE t1;
399399
SET note_verbosity=DEFAULT;
400+
#
401+
# MDEV-36235 Incorrect result for BETWEEN over unique blob prefix
402+
#
403+
CREATE TABLE t1 (c1 BINARY(16), UNIQUE (c1));
404+
INSERT INTO t1 (c1) VALUES (-2),(-1),(1),(2);
405+
SELECT HEX(c1) FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
406+
HEX(c1)
407+
31000000000000000000000000000000
408+
32000000000000000000000000000000
409+
Warnings:
410+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
411+
Warning 1292 Truncated incorrect DOUBLE value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
412+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
413+
Warning 1292 Truncated incorrect DOUBLE value: '-2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
414+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
415+
Warning 1292 Truncated incorrect DOUBLE value: '1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
416+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
417+
Warning 1292 Truncated incorrect DOUBLE value: '2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
418+
SELECT HEX(c1) FROM t1 IGNORE KEY(c1) WHERE 'a' BETWEEN 0 AND (c1);
419+
HEX(c1)
420+
31000000000000000000000000000000
421+
32000000000000000000000000000000
422+
Warnings:
423+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
424+
Warning 1292 Truncated incorrect DOUBLE value: '-2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
425+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
426+
Warning 1292 Truncated incorrect DOUBLE value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
427+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
428+
Warning 1292 Truncated incorrect DOUBLE value: '1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
429+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
430+
Warning 1292 Truncated incorrect DOUBLE value: '2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
431+
SELECT HEX(c1) FROM t1 WHERE '#' BETWEEN c1 AND 0;
432+
HEX(c1)
433+
2D310000000000000000000000000000
434+
2D320000000000000000000000000000
435+
Warnings:
436+
Warning 1292 Truncated incorrect DECIMAL value: '#'
437+
Warning 1292 Truncated incorrect DECIMAL value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
438+
Warning 1292 Truncated incorrect DECIMAL value: '#'
439+
Warning 1292 Truncated incorrect DECIMAL value: '-2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
440+
Warning 1292 Truncated incorrect DECIMAL value: '#'
441+
Warning 1292 Truncated incorrect DECIMAL value: '1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
442+
Warning 1292 Truncated incorrect DECIMAL value: '#'
443+
Warning 1292 Truncated incorrect DECIMAL value: '2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
444+
SELECT HEX(c1) FROM t1 IGNORE KEY(c1) WHERE '#' BETWEEN c1 AND 0;
445+
HEX(c1)
446+
2D320000000000000000000000000000
447+
2D310000000000000000000000000000
448+
Warnings:
449+
Warning 1292 Truncated incorrect DECIMAL value: '#'
450+
Warning 1292 Truncated incorrect DECIMAL value: '-2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
451+
Warning 1292 Truncated incorrect DECIMAL value: '#'
452+
Warning 1292 Truncated incorrect DECIMAL value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
453+
Warning 1292 Truncated incorrect DECIMAL value: '#'
454+
Warning 1292 Truncated incorrect DECIMAL value: '1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
455+
Warning 1292 Truncated incorrect DECIMAL value: '#'
456+
Warning 1292 Truncated incorrect DECIMAL value: '2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
457+
DROP TABLE t1;

mysql-test/main/type_binary.test

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,3 +178,14 @@ DELIMITER ;$$
178178
--source unusable_keys_joins.inc
179179
DROP TABLE t1;
180180
SET note_verbosity=DEFAULT;
181+
182+
--echo #
183+
--echo # MDEV-36235 Incorrect result for BETWEEN over unique blob prefix
184+
--echo #
185+
CREATE TABLE t1 (c1 BINARY(16), UNIQUE (c1));
186+
INSERT INTO t1 (c1) VALUES (-2),(-1),(1),(2);
187+
SELECT HEX(c1) FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
188+
SELECT HEX(c1) FROM t1 IGNORE KEY(c1) WHERE 'a' BETWEEN 0 AND (c1);
189+
SELECT HEX(c1) FROM t1 WHERE '#' BETWEEN c1 AND 0;
190+
SELECT HEX(c1) FROM t1 IGNORE KEY(c1) WHERE '#' BETWEEN c1 AND 0;
191+
DROP TABLE t1;

mysql-test/main/type_blob.result

Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1419,3 +1419,193 @@ Note 1105 Cannot use key parts with `test`.`t1`.`indexed_col` in the rewritten c
14191419
DROP TABLE t2;
14201420
DROP TABLE t1;
14211421
SET note_verbosity=DEFAULT;
1422+
#
1423+
# MDEV-36235 Incorrect result for BETWEEN over unique blob prefix
1424+
#
1425+
CREATE TABLE t1 (c1 TINYBLOB, UNIQUE (c1(2))) engine=myisam;
1426+
INSERT INTO t1 (c1) VALUES (1);
1427+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
1428+
c1
1429+
1
1430+
Warnings:
1431+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1432+
DROP TABLE t1;
1433+
CREATE TABLE t1 (c1 TINYBLOB, UNIQUE (c1(2)));
1434+
INSERT INTO t1 (c1) VALUES (1),(2),(3),(4),(5);
1435+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
1436+
c1
1437+
1
1438+
2
1439+
3
1440+
4
1441+
5
1442+
Warnings:
1443+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1444+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1445+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1446+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1447+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1448+
SELECT c1 FROM t1 WHERE 3 BETWEEN 10*POW(-1,c1) AND (c1);
1449+
c1
1450+
3
1451+
5
1452+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 10*POW(-1,c1) AND (c1);
1453+
c1
1454+
1
1455+
3
1456+
5
1457+
Warnings:
1458+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1459+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1460+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1461+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1462+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1463+
DROP TABLE t1;
1464+
CREATE TABLE t1 (c1 TINYBLOB, UNIQUE (c1(2))) engine=myisam;
1465+
INSERT INTO t1 (c1) VALUES (-2),(-1),(1),(2),(3),(4),(5);
1466+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
1467+
c1
1468+
1
1469+
2
1470+
3
1471+
4
1472+
5
1473+
Warnings:
1474+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1475+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1476+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1477+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1478+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1479+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1480+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1481+
SELECT c1 FROM t1 WHERE '#' BETWEEN c1 AND 0;
1482+
c1
1483+
-2
1484+
-1
1485+
Warnings:
1486+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1487+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1488+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1489+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1490+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1491+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1492+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1493+
DROP TABLE t1;
1494+
CREATE TABLE t1 (c1 TINYBLOB NOT NULL);
1495+
INSERT INTO t1 (c1) VALUES (-2),(-1),(1),(2),(3),(4),(5);
1496+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
1497+
c1
1498+
1
1499+
2
1500+
3
1501+
4
1502+
5
1503+
Warnings:
1504+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1505+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1506+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1507+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1508+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1509+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1510+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1511+
SELECT c1 FROM t1 WHERE '#' BETWEEN c1 AND 0;
1512+
c1
1513+
-2
1514+
-1
1515+
Warnings:
1516+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1517+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1518+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1519+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1520+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1521+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1522+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1523+
DROP TABLE t1;
1524+
CREATE TABLE t1 (c1 TINYBLOB, UNIQUE (c1(2))) engine=innodb;
1525+
INSERT INTO t1 (c1) VALUES (-2),(-1),(1),(2),(3),(4),(5);
1526+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
1527+
c1
1528+
1
1529+
2
1530+
3
1531+
4
1532+
5
1533+
Warnings:
1534+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1535+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1536+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1537+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1538+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1539+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1540+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1541+
SELECT c1 FROM t1 WHERE '#' BETWEEN c1 AND 0;
1542+
c1
1543+
-2
1544+
-1
1545+
Warnings:
1546+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1547+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1548+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1549+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1550+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1551+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1552+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1553+
ALTER TABLE t1 engine=myisam;
1554+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
1555+
c1
1556+
1
1557+
2
1558+
3
1559+
4
1560+
5
1561+
Warnings:
1562+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1563+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1564+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1565+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1566+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1567+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1568+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1569+
SELECT c1 FROM t1 WHERE '#' BETWEEN c1 AND 0;
1570+
c1
1571+
-2
1572+
-1
1573+
Warnings:
1574+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1575+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1576+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1577+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1578+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1579+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1580+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1581+
DROP TABLE t1;
1582+
CREATE TABLE t1 (c1 TINYBLOB, UNIQUE (c1)) engine=innodb;
1583+
INSERT INTO t1 (c1) VALUES (-2),(-1),(1),(2),(3),(4),(5);
1584+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
1585+
c1
1586+
1
1587+
2
1588+
3
1589+
4
1590+
5
1591+
Warnings:
1592+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1593+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1594+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1595+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1596+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1597+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1598+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1599+
SELECT c1 FROM t1 WHERE '#' BETWEEN c1 AND 0;
1600+
c1
1601+
-2
1602+
-1
1603+
Warnings:
1604+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1605+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1606+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1607+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1608+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1609+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1610+
Warning 1292 Truncated incorrect DECIMAL value: '#'
1611+
DROP TABLE t1;

mysql-test/main/type_blob.test

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -808,3 +808,48 @@ DELIMITER ;$$
808808
--source unusable_keys_joins.inc
809809
DROP TABLE t1;
810810
SET note_verbosity=DEFAULT;
811+
812+
--echo #
813+
--echo # MDEV-36235 Incorrect result for BETWEEN over unique blob prefix
814+
--echo #
815+
# myisam has a special optimization for tables with one row
816+
CREATE TABLE t1 (c1 TINYBLOB, UNIQUE (c1(2))) engine=myisam;
817+
INSERT INTO t1 (c1) VALUES (1);
818+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
819+
DROP TABLE t1;
820+
821+
# This case shows that we don't transform the entire WHERE clause
822+
# into a range condition.
823+
CREATE TABLE t1 (c1 TINYBLOB, UNIQUE (c1(2)));
824+
INSERT INTO t1 (c1) VALUES (1),(2),(3),(4),(5);
825+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
826+
SELECT c1 FROM t1 WHERE 3 BETWEEN 10*POW(-1,c1) AND (c1);
827+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 10*POW(-1,c1) AND (c1);
828+
DROP TABLE t1;
829+
830+
CREATE TABLE t1 (c1 TINYBLOB, UNIQUE (c1(2))) engine=myisam;
831+
INSERT INTO t1 (c1) VALUES (-2),(-1),(1),(2),(3),(4),(5);
832+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
833+
SELECT c1 FROM t1 WHERE '#' BETWEEN c1 AND 0;
834+
DROP TABLE t1;
835+
836+
CREATE TABLE t1 (c1 TINYBLOB NOT NULL);
837+
INSERT INTO t1 (c1) VALUES (-2),(-1),(1),(2),(3),(4),(5);
838+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
839+
SELECT c1 FROM t1 WHERE '#' BETWEEN c1 AND 0;
840+
DROP TABLE t1;
841+
842+
CREATE TABLE t1 (c1 TINYBLOB, UNIQUE (c1(2))) engine=innodb;
843+
INSERT INTO t1 (c1) VALUES (-2),(-1),(1),(2),(3),(4),(5);
844+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
845+
SELECT c1 FROM t1 WHERE '#' BETWEEN c1 AND 0;
846+
ALTER TABLE t1 engine=myisam;
847+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
848+
SELECT c1 FROM t1 WHERE '#' BETWEEN c1 AND 0;
849+
DROP TABLE t1;
850+
851+
CREATE TABLE t1 (c1 TINYBLOB, UNIQUE (c1)) engine=innodb;
852+
INSERT INTO t1 (c1) VALUES (-2),(-1),(1),(2),(3),(4),(5);
853+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
854+
SELECT c1 FROM t1 WHERE '#' BETWEEN c1 AND 0;
855+
DROP TABLE t1;

mysql-test/main/type_varbinary.result

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#
2+
# MDEV-36235 Incorrect result for BETWEEN over unique blob prefix
3+
#
4+
CREATE TABLE t1 (c1 VARBINARY(10), UNIQUE (c1));
5+
INSERT INTO t1 (c1) VALUES (-2),(-1),(1),(2);
6+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
7+
c1
8+
1
9+
2
10+
Warnings:
11+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
12+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
13+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
14+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
15+
SELECT c1 FROM t1 IGNORE KEY(c1) WHERE 'a' BETWEEN 0 AND (c1);
16+
c1
17+
1
18+
2
19+
Warnings:
20+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
21+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
22+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
23+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
24+
SELECT c1 FROM t1 WHERE '#' BETWEEN c1 AND 0;
25+
c1
26+
-1
27+
-2
28+
Warnings:
29+
Warning 1292 Truncated incorrect DECIMAL value: '#'
30+
Warning 1292 Truncated incorrect DECIMAL value: '#'
31+
Warning 1292 Truncated incorrect DECIMAL value: '#'
32+
Warning 1292 Truncated incorrect DECIMAL value: '#'
33+
SELECT c1 FROM t1 IGNORE KEY(c1) WHERE '#' BETWEEN c1 AND 0;
34+
c1
35+
-2
36+
-1
37+
Warnings:
38+
Warning 1292 Truncated incorrect DECIMAL value: '#'
39+
Warning 1292 Truncated incorrect DECIMAL value: '#'
40+
Warning 1292 Truncated incorrect DECIMAL value: '#'
41+
Warning 1292 Truncated incorrect DECIMAL value: '#'
42+
DROP TABLE t1;

mysql-test/main/type_varbinary.test

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
--echo #
2+
--echo # MDEV-36235 Incorrect result for BETWEEN over unique blob prefix
3+
--echo #
4+
CREATE TABLE t1 (c1 VARBINARY(10), UNIQUE (c1));
5+
INSERT INTO t1 (c1) VALUES (-2),(-1),(1),(2);
6+
SELECT c1 FROM t1 WHERE 'a' BETWEEN 0 AND (c1);
7+
SELECT c1 FROM t1 IGNORE KEY(c1) WHERE 'a' BETWEEN 0 AND (c1);
8+
SELECT c1 FROM t1 WHERE '#' BETWEEN c1 AND 0;
9+
SELECT c1 FROM t1 IGNORE KEY(c1) WHERE '#' BETWEEN c1 AND 0;
10+
DROP TABLE t1;

0 commit comments

Comments
 (0)