1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-17359 Concatenation operator || in like expression

This commit is contained in:
halfspawn
2018-10-09 10:20:49 +02:00
committed by Alexander Barkov
parent 981a81090f
commit 67f06cadc3
6 changed files with 276 additions and 4 deletions

View File

@ -146,3 +146,39 @@ SELECT -1||0^1 AS a FROM DUAL;
EXPLAIN EXTENDED SELECT -1^1||1 AS a FROM DUAL;
EXPLAIN EXTENDED SELECT -1||0^1 AS a FROM DUAL;
--echo #
--echo # MDEV-17359 Concatenation operator || in like expression failed in sql_mode=ORACLE
--echo #
SELECT 'abc' LIKE 'a'||'%';
EXPLAIN EXTENDED SELECT 'abc' LIKE 'a'||'%';
SELECT 'x' FROM DUAL WHERE 11 LIKE 1||1;
SELECT 'x' FROM DUAL WHERE 1||1 LIKE 11;
SELECT 'x' FROM DUAL WHERE 1||1 LIKE 1||1;
CREATE TABLE t1 (c1 VARCHAR(10),c2 VARCHAR(10), ord INTEGER);
INSERT INTO t1 VALUES ('a', 'ab' ,1);
INSERT INTO t1 VALUES ('ab', 'ab', 2);
INSERT INTO t1 VALUES ('abc', 'ab', 3);
SELECT c1 FROM t1 WHERE c1 LIKE '%'||'b' ORDER BY ord;
EXPLAIN EXTENDED SELECT c1 FROM t1 WHERE c1 LIKE '%'||'b' ORDER BY ord;
SELECT c1 FROM t1 WHERE c1 LIKE c2||'%'||'c' ORDER BY ord;
EXPLAIN EXTENDED SELECT c1 FROM t1 WHERE c1 LIKE c2||'%'||'c' ORDER BY ord;
SELECT 'x' FROM t1 WHERE c1||c2 LIKE 'aa%';
EXPLAIN EXTENDED SELECT 'x' FROM t1 WHERE c1||c2 LIKE 'aa%';
SELECT 'x' FROM t1 WHERE c1||c2 LIKE c2||c1;
EXPLAIN EXTENDED SELECT 'x' FROM t1 WHERE c1||c2 LIKE c2||c1;
CREATE VIEW v1 AS SELECT c1, c2, c1 LIKE c2||'_' FROM t1 ORDER BY ord;
SELECT * FROM v1;
EXPLAIN EXTENDED SELECT * FROM v1;
DROP VIEW v1;
DROP TABLE t1;