mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
MDEV-17359 Concatenation operator || in like expression
This commit is contained in:
parent
981a81090f
commit
67f06cadc3
6 changed files with 276 additions and 4 deletions
|
@ -289,3 +289,120 @@ a b c d
|
|||
3 f_ 1 0 1
|
||||
3 f\_ 0 1 0
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-17359 - Extend expression supported by like (| & << >> || + - * / DIV MOD ^ )
|
||||
#
|
||||
SELECT 1 LIKE +1;
|
||||
1 LIKE +1
|
||||
1
|
||||
SELECT -1 LIKE -1;
|
||||
-1 LIKE -1
|
||||
1
|
||||
SELECT 1 LIKE (1);
|
||||
1 LIKE (1)
|
||||
1
|
||||
SELECT 1 LIKE 1|2, 3 LIKE 1|2;
|
||||
1 LIKE 1|2 3 LIKE 1|2
|
||||
0 1
|
||||
SELECT 1 LIKE 3&2, 2 LIKE 3&2;
|
||||
1 LIKE 3&2 2 LIKE 3&2
|
||||
0 1
|
||||
SELECT 1 LIKE 1>>0, 1 LIKE 1>>1 , 64 LIKE 256>>2;
|
||||
1 LIKE 1>>0 1 LIKE 1>>1 64 LIKE 256>>2
|
||||
1 0 1
|
||||
SELECT 1 LIKE 1<<0, 1 LIKE 0<<2, 32 LIKE 1<<5;
|
||||
1 LIKE 1<<0 1 LIKE 0<<2 32 LIKE 1<<5
|
||||
1 0 1
|
||||
SELECT 1 LIKE 1||2, 1 LIKE 0||2;
|
||||
1 LIKE 1||2 1 LIKE 0||2
|
||||
1 1
|
||||
SELECT 2 LIKE 1+1, 2.0 LIKE 1+1.0, 2 LIKE 1+1.0, 1+1 LIKE 2, 1+1 LIKE 0+2;
|
||||
2 LIKE 1+1 2.0 LIKE 1+1.0 2 LIKE 1+1.0 1+1 LIKE 2 1+1 LIKE 0+2
|
||||
1 1 0 1 1
|
||||
SELECT 0 LIKE 1-1, 2.0 LIKE 3-1.0, 2 LIKE 3-1.0, 2-1 LIKE 1, 3-1 LIKE 4-1;
|
||||
0 LIKE 1-1 2.0 LIKE 3-1.0 2 LIKE 3-1.0 2-1 LIKE 1 3-1 LIKE 4-1
|
||||
1 1 0 1 0
|
||||
SELECT 1 LIKE 1*1, 2.0 LIKE 2*1.0, 2 LIKE 2*1.0, 2*1 LIKE 2, 2*3 LIKE 6*1;
|
||||
1 LIKE 1*1 2.0 LIKE 2*1.0 2 LIKE 2*1.0 2*1 LIKE 2 2*3 LIKE 6*1
|
||||
1 1 0 1 1
|
||||
SELECT 1 LIKE 1/1, 1.0000 LIKE 1/1, 1.0000 LIKE 1/1.000000, 1.000000 LIKE 1.0/1.000000, 1/1 like 1/1;
|
||||
1 LIKE 1/1 1.0000 LIKE 1/1 1.0000 LIKE 1/1.000000 1.000000 LIKE 1.0/1.000000 1/1 like 1/1
|
||||
0 1 1 0 1
|
||||
SELECT 1 LIKE 1 DIV 1, 1 LIKE 1.0 DIV 1.0 ;
|
||||
1 LIKE 1 DIV 1 1 LIKE 1.0 DIV 1.0
|
||||
1 1
|
||||
SELECT 2 LIKE 10 MOD 8, 1.9 LIKE 10 MOD 8.1, 1.9 LIKE 10 MOD 8.10 ;
|
||||
2 LIKE 10 MOD 8 1.9 LIKE 10 MOD 8.1 1.9 LIKE 10 MOD 8.10
|
||||
1 1 0
|
||||
SELECT 1 LIKE CAST(1 AS CHAR(10));
|
||||
1 LIKE CAST(1 AS CHAR(10))
|
||||
1
|
||||
SELECT 1 LIKE CASE WHEN 1=1 THEN '1' ELSE '0' END;
|
||||
1 LIKE CASE WHEN 1=1 THEN '1' ELSE '0' END
|
||||
1
|
||||
SELECT 1 LIKE COALESCE(1+0, 1);
|
||||
1 LIKE COALESCE(1+0, 1)
|
||||
1
|
||||
CREATE TABLE t1(c1 INTEGER, c2 INTEGER);
|
||||
INSERT INTO t1 VALUES(1,1);
|
||||
INSERT INTO t1 VALUES(1,2);
|
||||
SELECT c1, c2, c1|c2, 1 LIKE c1|c2 FROM t1 ORDER BY c2;
|
||||
c1 c2 c1|c2 1 LIKE c1|c2
|
||||
1 1 1 1
|
||||
1 2 3 0
|
||||
SELECT c1, c2, c1&c2, 1 LIKE c1&c2 FROM t1 ORDER BY c2;
|
||||
c1 c2 c1&c2 1 LIKE c1&c2
|
||||
1 1 1 1
|
||||
1 2 0 0
|
||||
SELECT c1, c2, c2>>c1, 1 LIKE c2>>c1 FROM t1 ORDER BY c2;
|
||||
c1 c2 c2>>c1 1 LIKE c2>>c1
|
||||
1 1 0 0
|
||||
1 2 1 1
|
||||
SELECT c1, c2, c2<<c1, 2 LIKE c2<<c1 FROM t1 ORDER BY c2;
|
||||
c1 c2 c2<<c1 2 LIKE c2<<c1
|
||||
1 1 2 1
|
||||
1 2 4 0
|
||||
SELECT c1, c2, c1||c2, 1 LIKE c1||c2 FROM t1 ORDER BY c2;
|
||||
c1 c2 c1||c2 1 LIKE c1||c2
|
||||
1 1 1 1
|
||||
1 2 1 1
|
||||
SELECT c1, c2, c1+c2, 2 LIKE c1+c2 FROM t1 ORDER BY c2;
|
||||
c1 c2 c1+c2 2 LIKE c1+c2
|
||||
1 1 2 1
|
||||
1 2 3 0
|
||||
SELECT c1, c2, c1-c2, -1 LIKE c1-c2 FROM t1 ORDER BY c2;
|
||||
c1 c2 c1-c2 -1 LIKE c1-c2
|
||||
1 1 0 0
|
||||
1 2 -1 1
|
||||
SELECT c1, c2, c1*c2, 2 LIKE c1*c2 FROM t1 ORDER BY c2;
|
||||
c1 c2 c1*c2 2 LIKE c1*c2
|
||||
1 1 1 0
|
||||
1 2 2 1
|
||||
SELECT c1, c2, c1/c2, 0.5000 LIKE c1/c2 FROM t1 ORDER BY c2;
|
||||
c1 c2 c1/c2 0.5000 LIKE c1/c2
|
||||
1 1 1.0000 0
|
||||
1 2 0.5000 1
|
||||
SELECT c1, c2, c1 DIV c2, 0 LIKE c1 DIV c2 FROM t1 ORDER BY c2;
|
||||
c1 c2 c1 DIV c2 0 LIKE c1 DIV c2
|
||||
1 1 1 0
|
||||
1 2 0 1
|
||||
SELECT c1, c2, c1 MOD c2, 0 LIKE c1 MOD c2 FROM t1 ORDER BY c2;
|
||||
c1 c2 c1 MOD c2 0 LIKE c1 MOD c2
|
||||
1 1 0 1
|
||||
1 2 1 0
|
||||
CREATE VIEW v1 AS
|
||||
SELECT 1 LIKE c1|c2, 1 LIKE c1&c2, 1 LIKE c2>>c1, 2 LIKE c2<<c1,
|
||||
1 LIKE c1||c2, 2 LIKE c1+c2, -1 LIKE c1-c2, 2 LIKE c1*c2,
|
||||
0.5000 LIKE c1/c2, 0 LIKE c1 DIV c2, 0 LIKE c1 MOD c2
|
||||
FROM t1 ORDER BY c2;
|
||||
SELECT * FROM v1;
|
||||
1 LIKE c1|c2 1 LIKE c1&c2 1 LIKE c2>>c1 2 LIKE c2<<c1 1 LIKE c1||c2 2 LIKE c1+c2 -1 LIKE c1-c2 2 LIKE c1*c2 0.5000 LIKE c1/c2 0 LIKE c1 DIV c2 0 LIKE c1 MOD c2
|
||||
1 1 0 1 1 1 0 0 0 0 1
|
||||
0 0 1 0 1 0 1 1 1 1 0
|
||||
EXPLAIN EXTENDED SELECT * FROM v1;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using filesort
|
||||
Warnings:
|
||||
Note 1003 select 1 like `test`.`t1`.`c1` | `test`.`t1`.`c2` AS `1 LIKE c1|c2`,1 like `test`.`t1`.`c1` & `test`.`t1`.`c2` AS `1 LIKE c1&c2`,1 like `test`.`t1`.`c2` >> `test`.`t1`.`c1` AS `1 LIKE c2>>c1`,2 like `test`.`t1`.`c2` << `test`.`t1`.`c1` AS `2 LIKE c2<<c1`,1 like `test`.`t1`.`c1` or `test`.`t1`.`c2` <> 0 AS `1 LIKE c1||c2`,2 like `test`.`t1`.`c1` + `test`.`t1`.`c2` AS `2 LIKE c1+c2`,-1 like `test`.`t1`.`c1` - `test`.`t1`.`c2` AS `-1 LIKE c1-c2`,2 like `test`.`t1`.`c1` * `test`.`t1`.`c2` AS `2 LIKE c1*c2`,0.5000 like `test`.`t1`.`c1` / `test`.`t1`.`c2` AS `0.5000 LIKE c1/c2`,0 like `test`.`t1`.`c1` DIV `test`.`t1`.`c2` AS `0 LIKE c1 DIV c2`,0 like `test`.`t1`.`c1` MOD `test`.`t1`.`c2` AS `0 LIKE c1 MOD c2` from `test`.`t1` order by `test`.`t1`.`c2`
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -207,3 +207,53 @@ insert t1 (a) values ('3 f_'), ('3 f\_');
|
|||
set sql_mode=default;
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-17359 - Extend expression supported by like (| & << >> || + - * / DIV MOD ^ )
|
||||
--echo #
|
||||
|
||||
SELECT 1 LIKE +1;
|
||||
SELECT -1 LIKE -1;
|
||||
SELECT 1 LIKE (1);
|
||||
SELECT 1 LIKE 1|2, 3 LIKE 1|2;
|
||||
SELECT 1 LIKE 3&2, 2 LIKE 3&2;
|
||||
SELECT 1 LIKE 1>>0, 1 LIKE 1>>1 , 64 LIKE 256>>2;
|
||||
SELECT 1 LIKE 1<<0, 1 LIKE 0<<2, 32 LIKE 1<<5;
|
||||
SELECT 1 LIKE 1||2, 1 LIKE 0||2;
|
||||
SELECT 2 LIKE 1+1, 2.0 LIKE 1+1.0, 2 LIKE 1+1.0, 1+1 LIKE 2, 1+1 LIKE 0+2;
|
||||
SELECT 0 LIKE 1-1, 2.0 LIKE 3-1.0, 2 LIKE 3-1.0, 2-1 LIKE 1, 3-1 LIKE 4-1;
|
||||
SELECT 1 LIKE 1*1, 2.0 LIKE 2*1.0, 2 LIKE 2*1.0, 2*1 LIKE 2, 2*3 LIKE 6*1;
|
||||
SELECT 1 LIKE 1/1, 1.0000 LIKE 1/1, 1.0000 LIKE 1/1.000000, 1.000000 LIKE 1.0/1.000000, 1/1 like 1/1;
|
||||
SELECT 1 LIKE 1 DIV 1, 1 LIKE 1.0 DIV 1.0 ;
|
||||
SELECT 2 LIKE 10 MOD 8, 1.9 LIKE 10 MOD 8.1, 1.9 LIKE 10 MOD 8.10 ;
|
||||
|
||||
SELECT 1 LIKE CAST(1 AS CHAR(10));
|
||||
SELECT 1 LIKE CASE WHEN 1=1 THEN '1' ELSE '0' END;
|
||||
SELECT 1 LIKE COALESCE(1+0, 1);
|
||||
|
||||
CREATE TABLE t1(c1 INTEGER, c2 INTEGER);
|
||||
INSERT INTO t1 VALUES(1,1);
|
||||
INSERT INTO t1 VALUES(1,2);
|
||||
|
||||
SELECT c1, c2, c1|c2, 1 LIKE c1|c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1&c2, 1 LIKE c1&c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c2>>c1, 1 LIKE c2>>c1 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c2<<c1, 2 LIKE c2<<c1 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1||c2, 1 LIKE c1||c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1+c2, 2 LIKE c1+c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1-c2, -1 LIKE c1-c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1*c2, 2 LIKE c1*c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1/c2, 0.5000 LIKE c1/c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1 DIV c2, 0 LIKE c1 DIV c2 FROM t1 ORDER BY c2;
|
||||
SELECT c1, c2, c1 MOD c2, 0 LIKE c1 MOD c2 FROM t1 ORDER BY c2;
|
||||
|
||||
CREATE VIEW v1 AS
|
||||
SELECT 1 LIKE c1|c2, 1 LIKE c1&c2, 1 LIKE c2>>c1, 2 LIKE c2<<c1,
|
||||
1 LIKE c1||c2, 2 LIKE c1+c2, -1 LIKE c1-c2, 2 LIKE c1*c2,
|
||||
0.5000 LIKE c1/c2, 0 LIKE c1 DIV c2, 0 LIKE c1 MOD c2
|
||||
FROM t1 ORDER BY c2;
|
||||
|
||||
SELECT * FROM v1;
|
||||
EXPLAIN EXTENDED SELECT * FROM v1;
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -322,3 +322,72 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
|||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
Warnings:
|
||||
Note 1003 select concat_operator_oracle(-1,0 ^ 1) AS "a"
|
||||
#
|
||||
# MDEV-17359 Concatenation operator || in like expression failed in sql_mode=ORACLE
|
||||
#
|
||||
SELECT 'abc' LIKE 'a'||'%';
|
||||
'abc' LIKE 'a'||'%'
|
||||
1
|
||||
EXPLAIN EXTENDED SELECT 'abc' LIKE 'a'||'%';
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
Warnings:
|
||||
Note 1003 select 'abc' like concat_operator_oracle('a','%') AS "'abc' LIKE 'a'||'%'"
|
||||
SELECT 'x' FROM DUAL WHERE 11 LIKE 1||1;
|
||||
x
|
||||
x
|
||||
SELECT 'x' FROM DUAL WHERE 1||1 LIKE 11;
|
||||
x
|
||||
x
|
||||
SELECT 'x' FROM DUAL WHERE 1||1 LIKE 1||1;
|
||||
x
|
||||
x
|
||||
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;
|
||||
c1
|
||||
ab
|
||||
EXPLAIN EXTENDED SELECT c1 FROM t1 WHERE c1 LIKE '%'||'b' ORDER BY ord;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using filesort
|
||||
Warnings:
|
||||
Note 1003 select "test"."t1"."c1" AS "c1" from "test"."t1" where "test"."t1"."c1" like <cache>(concat_operator_oracle('%','b')) order by "test"."t1"."ord"
|
||||
SELECT c1 FROM t1 WHERE c1 LIKE c2||'%'||'c' ORDER BY ord;
|
||||
c1
|
||||
abc
|
||||
EXPLAIN EXTENDED SELECT c1 FROM t1 WHERE c1 LIKE c2||'%'||'c' ORDER BY ord;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where; Using filesort
|
||||
Warnings:
|
||||
Note 1003 select "test"."t1"."c1" AS "c1" from "test"."t1" where "test"."t1"."c1" like concat_operator_oracle(concat_operator_oracle("test"."t1"."c2",'%'),'c') order by "test"."t1"."ord"
|
||||
SELECT 'x' FROM t1 WHERE c1||c2 LIKE 'aa%';
|
||||
x
|
||||
x
|
||||
EXPLAIN EXTENDED SELECT 'x' FROM t1 WHERE c1||c2 LIKE 'aa%';
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where
|
||||
Warnings:
|
||||
Note 1003 select 'x' AS "x" from "test"."t1" where concat_operator_oracle("test"."t1"."c1","test"."t1"."c2") like 'aa%'
|
||||
SELECT 'x' FROM t1 WHERE c1||c2 LIKE c2||c1;
|
||||
x
|
||||
x
|
||||
EXPLAIN EXTENDED SELECT 'x' FROM t1 WHERE c1||c2 LIKE c2||c1;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where
|
||||
Warnings:
|
||||
Note 1003 select 'x' AS "x" from "test"."t1" where concat_operator_oracle("test"."t1"."c1","test"."t1"."c2") like concat_operator_oracle("test"."t1"."c2","test"."t1"."c1")
|
||||
CREATE VIEW v1 AS SELECT c1, c2, c1 LIKE c2||'_' FROM t1 ORDER BY ord;
|
||||
SELECT * FROM v1;
|
||||
c1 c2 c1 LIKE c2||'_'
|
||||
a ab 0
|
||||
ab ab 0
|
||||
abc ab 1
|
||||
EXPLAIN EXTENDED SELECT * FROM v1;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using filesort
|
||||
Warnings:
|
||||
Note 1003 select "test"."t1"."c1" AS "c1","test"."t1"."c2" AS "c2","test"."t1"."c1" like concat_operator_oracle("test"."t1"."c2",'_') AS "c1 LIKE c2||'_'" from "test"."t1" order by "test"."t1"."ord"
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -9712,14 +9712,14 @@ predicate:
|
|||
if (unlikely($$ == NULL))
|
||||
MYSQL_YYABORT;
|
||||
}
|
||||
| bit_expr LIKE mysql_concatenation_expr opt_escape
|
||||
| bit_expr LIKE bit_expr opt_escape
|
||||
{
|
||||
$$= new (thd->mem_root) Item_func_like(thd, $1, $3, $4,
|
||||
Lex->escape_used);
|
||||
if (unlikely($$ == NULL))
|
||||
MYSQL_YYABORT;
|
||||
}
|
||||
| bit_expr not LIKE mysql_concatenation_expr opt_escape
|
||||
| bit_expr not LIKE bit_expr opt_escape
|
||||
{
|
||||
Item *item= new (thd->mem_root) Item_func_like(thd, $1, $4, $5,
|
||||
Lex->escape_used);
|
||||
|
|
|
@ -9784,14 +9784,14 @@ predicate:
|
|||
if (unlikely($$ == NULL))
|
||||
MYSQL_YYABORT;
|
||||
}
|
||||
| bit_expr LIKE mysql_concatenation_expr opt_escape
|
||||
| bit_expr LIKE bit_expr opt_escape
|
||||
{
|
||||
$$= new (thd->mem_root) Item_func_like(thd, $1, $3, $4,
|
||||
Lex->escape_used);
|
||||
if (unlikely($$ == NULL))
|
||||
MYSQL_YYABORT;
|
||||
}
|
||||
| bit_expr not LIKE mysql_concatenation_expr opt_escape
|
||||
| bit_expr not LIKE bit_expr opt_escape
|
||||
{
|
||||
Item *item= new (thd->mem_root) Item_func_like(thd, $1, $4, $5,
|
||||
Lex->escape_used);
|
||||
|
|
Loading…
Add table
Reference in a new issue