You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-01 06:46:55 +03:00
skip all tests with LOAD DATA in case of tests via Maxscale
This commit is contained in:
@ -1,6 +1,9 @@
|
||||
#
|
||||
# Testing CONCAT with null values
|
||||
#
|
||||
--source ../include/have_columnstore.inc
|
||||
--source ../include/detect_maxscale.inc
|
||||
|
||||
|
||||
SET sql_mode=ORACLE;
|
||||
SET default_storage_engine=ColumnStore;
|
||||
|
389
mysql-test/columnstore/oracle/func_concat_oracle_maxscale.result
Normal file
389
mysql-test/columnstore/oracle/func_concat_oracle_maxscale.result
Normal file
@ -0,0 +1,389 @@
|
||||
SET sql_mode=ORACLE;
|
||||
SET default_storage_engine=ColumnStore;
|
||||
EXPLAIN EXTENDED SELECT 'a'||'b'||'c';
|
||||
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(concat('a','b'),'c') AS "'a'||'b'||'c'"
|
||||
EXPLAIN EXTENDED SELECT CONCAT('a'||'b'||'c');
|
||||
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(concat(concat('a','b'),'c')) AS "CONCAT('a'||'b'||'c')"
|
||||
SELECT '' || '';
|
||||
'' || ''
|
||||
|
||||
SELECT '' || 'b';
|
||||
'' || 'b'
|
||||
b
|
||||
SELECT '' || NULL;
|
||||
'' || NULL
|
||||
|
||||
SELECT 'a' || '';
|
||||
'a' || ''
|
||||
a
|
||||
SELECT 'a' || 'b';
|
||||
'a' || 'b'
|
||||
ab
|
||||
SELECT 'a' || NULL;
|
||||
'a' || NULL
|
||||
a
|
||||
SELECT NULL || '';
|
||||
NULL || ''
|
||||
|
||||
SELECT NULL || 'b';
|
||||
NULL || 'b'
|
||||
b
|
||||
SELECT NULL || NULL;
|
||||
NULL || NULL
|
||||
NULL
|
||||
SELECT '' || '' || '';
|
||||
'' || '' || ''
|
||||
|
||||
SELECT '' || '' || 'c';
|
||||
'' || '' || 'c'
|
||||
c
|
||||
SELECT '' || '' || NULL;
|
||||
'' || '' || NULL
|
||||
|
||||
SELECT '' || 'b' || '';
|
||||
'' || 'b' || ''
|
||||
b
|
||||
SELECT '' || 'b' || 'c';
|
||||
'' || 'b' || 'c'
|
||||
bc
|
||||
SELECT '' || 'b' || NULL;
|
||||
'' || 'b' || NULL
|
||||
b
|
||||
SELECT '' || NULL || '';
|
||||
'' || NULL || ''
|
||||
|
||||
SELECT '' || NULL || 'c';
|
||||
'' || NULL || 'c'
|
||||
c
|
||||
SELECT '' || NULL || NULL;
|
||||
'' || NULL || NULL
|
||||
|
||||
SELECT 'a' || '' || '';
|
||||
'a' || '' || ''
|
||||
a
|
||||
SELECT 'a' || '' || 'c';
|
||||
'a' || '' || 'c'
|
||||
ac
|
||||
SELECT 'a' || '' || NULL;
|
||||
'a' || '' || NULL
|
||||
a
|
||||
SELECT 'a' || 'b' || '';
|
||||
'a' || 'b' || ''
|
||||
ab
|
||||
SELECT 'a' || 'b' || 'c';
|
||||
'a' || 'b' || 'c'
|
||||
abc
|
||||
SELECT 'a' || 'b' || NULL;
|
||||
'a' || 'b' || NULL
|
||||
ab
|
||||
SELECT 'a' || NULL || '';
|
||||
'a' || NULL || ''
|
||||
a
|
||||
SELECT 'a' || NULL || 'c';
|
||||
'a' || NULL || 'c'
|
||||
ac
|
||||
SELECT 'a' || NULL || NULL;
|
||||
'a' || NULL || NULL
|
||||
a
|
||||
SELECT NULL || '' || '';
|
||||
NULL || '' || ''
|
||||
|
||||
SELECT NULL || '' || 'c';
|
||||
NULL || '' || 'c'
|
||||
c
|
||||
SELECT NULL || '' || NULL;
|
||||
NULL || '' || NULL
|
||||
|
||||
SELECT NULL || 'b' || '';
|
||||
NULL || 'b' || ''
|
||||
b
|
||||
SELECT NULL || 'b' || 'c';
|
||||
NULL || 'b' || 'c'
|
||||
bc
|
||||
SELECT NULL || 'b' || NULL;
|
||||
NULL || 'b' || NULL
|
||||
b
|
||||
SELECT NULL || NULL || '';
|
||||
NULL || NULL || ''
|
||||
|
||||
SELECT NULL || NULL || 'c';
|
||||
NULL || NULL || 'c'
|
||||
c
|
||||
SELECT NULL || NULL || NULL;
|
||||
NULL || NULL || NULL
|
||||
NULL
|
||||
CREATE TABLE t1 (a VARCHAR(10), b VARCHAR(10), c VARCHAR(10));
|
||||
INSERT INTO t1 VALUES ('', '', '');
|
||||
INSERT INTO t1 VALUES ('', '', 'c');
|
||||
INSERT INTO t1 VALUES ('', '', NULL);
|
||||
INSERT INTO t1 VALUES ('', 'b', '');
|
||||
INSERT INTO t1 VALUES ('', 'b', 'c');
|
||||
INSERT INTO t1 VALUES ('', 'b', NULL);
|
||||
INSERT INTO t1 VALUES ('', NULL, '');
|
||||
INSERT INTO t1 VALUES ('', NULL, 'c');
|
||||
INSERT INTO t1 VALUES ('', NULL, NULL);
|
||||
INSERT INTO t1 VALUES ('a', '', '');
|
||||
INSERT INTO t1 VALUES ('a', '', 'c');
|
||||
INSERT INTO t1 VALUES ('a', '', NULL);
|
||||
INSERT INTO t1 VALUES ('a', 'b', '');
|
||||
INSERT INTO t1 VALUES ('a', 'b', 'c');
|
||||
INSERT INTO t1 VALUES ('a', 'b', NULL);
|
||||
INSERT INTO t1 VALUES ('a', NULL, '');
|
||||
INSERT INTO t1 VALUES ('a', NULL, 'c');
|
||||
INSERT INTO t1 VALUES ('a', NULL, NULL);
|
||||
INSERT INTO t1 VALUES (NULL, '', '');
|
||||
INSERT INTO t1 VALUES (NULL, '', 'c');
|
||||
INSERT INTO t1 VALUES (NULL, '', NULL);
|
||||
INSERT INTO t1 VALUES (NULL, 'b', '');
|
||||
INSERT INTO t1 VALUES (NULL, 'b', 'c');
|
||||
INSERT INTO t1 VALUES (NULL, 'b', NULL);
|
||||
INSERT INTO t1 VALUES (NULL, NULL, '');
|
||||
INSERT INTO t1 VALUES (NULL, NULL, 'c');
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL);
|
||||
SELECT LENGTH(a||b||c), a||b||c FROM t1 ORDER BY a,b,c;
|
||||
LENGTH(a||b||c) a||b||c
|
||||
NULL NULL
|
||||
0
|
||||
1 c
|
||||
0
|
||||
0
|
||||
1 c
|
||||
1 b
|
||||
1 b
|
||||
2 bc
|
||||
0
|
||||
0
|
||||
1 c
|
||||
0
|
||||
0
|
||||
1 c
|
||||
1 b
|
||||
1 b
|
||||
2 bc
|
||||
1 a
|
||||
1 a
|
||||
2 ac
|
||||
1 a
|
||||
1 a
|
||||
2 ac
|
||||
2 ab
|
||||
2 ab
|
||||
3 abc
|
||||
SELECT LENGTH(CONCAT(a||b||c)), CONCAT(a||b||c) FROM t1 ORDER BY a,b,c;
|
||||
LENGTH(CONCAT(a||b||c)) CONCAT(a||b||c)
|
||||
NULL NULL
|
||||
0
|
||||
1 c
|
||||
0
|
||||
0
|
||||
1 c
|
||||
1 b
|
||||
1 b
|
||||
2 bc
|
||||
0
|
||||
0
|
||||
1 c
|
||||
0
|
||||
0
|
||||
1 c
|
||||
1 b
|
||||
1 b
|
||||
2 bc
|
||||
1 a
|
||||
1 a
|
||||
2 ac
|
||||
1 a
|
||||
1 a
|
||||
2 ac
|
||||
2 ab
|
||||
2 ab
|
||||
3 abc
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-12478 CONCAT function inside view casts values incorrectly with Oracle sql_mode
|
||||
#
|
||||
SET sql_mode=ORACLE;
|
||||
CREATE VIEW v1 AS SELECT 'foo'||NULL||'bar' AS test;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE VIEW "v1" AS select concat(concat('foo',NULL),'bar') AS "test" latin1 latin1_swedish_ci
|
||||
SELECT * FROM v1;
|
||||
test
|
||||
foobar
|
||||
SET sql_mode=DEFAULT;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`testUser`@`%` SQL SECURITY DEFINER VIEW `v1` AS select oracle_schema.concat(oracle_schema.concat('foo',NULL),'bar') AS `test` latin1 latin1_swedish_ci
|
||||
SELECT * FROM v1;
|
||||
test
|
||||
foobar
|
||||
DROP VIEW v1;
|
||||
SET sql_mode=DEFAULT;
|
||||
CREATE VIEW v1 AS SELECT CONCAT('foo',NULL,'bar') AS test;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`testUser`@`%` SQL SECURITY DEFINER VIEW `v1` AS select concat('foo',NULL,'bar') AS `test` latin1 latin1_swedish_ci
|
||||
SELECT * FROM v1;
|
||||
test
|
||||
NULL
|
||||
SET sql_mode=ORACLE;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE VIEW "v1" AS select mariadb_schema.concat('foo',NULL,'bar') AS "test" latin1 latin1_swedish_ci
|
||||
SELECT * FROM v1;
|
||||
test
|
||||
NULL
|
||||
DROP VIEW v1;
|
||||
SET sql_mode=DEFAULT;
|
||||
CREATE VIEW v1 AS SELECT '0'||'1' AS test;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`testUser`@`%` SQL SECURITY DEFINER VIEW `v1` AS select '0' or '1' AS `test` latin1 latin1_swedish_ci
|
||||
SELECT * FROM v1;
|
||||
test
|
||||
1
|
||||
SET sql_mode=ORACLE;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE VIEW "v1" AS select '0' or '1' AS "test" latin1 latin1_swedish_ci
|
||||
SELECT * FROM v1;
|
||||
test
|
||||
1
|
||||
DROP VIEW v1;
|
||||
#
|
||||
# MDEV-16186 Concatenation operator || returns wrong results in sql_mode=ORACLE
|
||||
#
|
||||
SELECT -1<<1||1 AS a FROM DUAL;
|
||||
a
|
||||
18446744073709549568
|
||||
SELECT -1||0<<1 AS a FROM DUAL;
|
||||
a
|
||||
18446744073709551596
|
||||
EXPLAIN EXTENDED SELECT -1<<1||1 AS a FROM DUAL;
|
||||
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 -1 << concat(1,1) AS "a"
|
||||
EXPLAIN EXTENDED SELECT -1||0<<1 AS a FROM DUAL;
|
||||
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(-1,0) << 1 AS "a"
|
||||
SELECT -1+1||1 AS a FROM DUAL;
|
||||
a
|
||||
01
|
||||
SELECT -1||0+1 AS a FROM DUAL;
|
||||
a
|
||||
-9
|
||||
EXPLAIN EXTENDED SELECT -1+1||1 AS a FROM DUAL;
|
||||
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(-1 + 1,1) AS "a"
|
||||
EXPLAIN EXTENDED SELECT -1||0+1 AS a FROM DUAL;
|
||||
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(-1,0) + 1 AS "a"
|
||||
SELECT 1*1||-1 AS a FROM DUAL;
|
||||
a
|
||||
1-1
|
||||
SELECT 1||1*-1 AS a FROM DUAL;
|
||||
a
|
||||
1-1
|
||||
EXPLAIN EXTENDED SELECT 1*1||-1 AS a FROM DUAL;
|
||||
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(1 * 1,-1) AS "a"
|
||||
EXPLAIN EXTENDED SELECT 1||1*-1 AS a FROM DUAL;
|
||||
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(1,1 * -1) AS "a"
|
||||
SELECT -1^1||1 AS a FROM DUAL;
|
||||
a
|
||||
184467440737095516141
|
||||
SELECT -1||0^1 AS a FROM DUAL;
|
||||
a
|
||||
-11
|
||||
EXPLAIN EXTENDED SELECT -1^1||1 AS a FROM DUAL;
|
||||
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(-1 ^ 1,1) AS "a"
|
||||
EXPLAIN EXTENDED SELECT -1||0^1 AS a FROM DUAL;
|
||||
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(-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('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 PUSHED SELECT NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
Warnings:
|
||||
Note 1003 select "test"."t1"."c1" AS "c1" from "test"."t1" where "test"."t1"."c1" like convert(concat('%','b') using utf8mb3) 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 PUSHED SELECT NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
Warnings:
|
||||
Note 1003 select "test"."t1"."c1" AS "c1" from "test"."t1" where "test"."t1"."c1" like concat(concat("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 PUSHED SELECT NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
Warnings:
|
||||
Note 1003 select 'x' AS "x" from "test"."t1" where concat("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 PUSHED SELECT NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
Warnings:
|
||||
Note 1003 select 'x' AS "x" from "test"."t1" where concat("test"."t1"."c1","test"."t1"."c2") like concat("test"."t1"."c2","test"."t1"."c1")
|
||||
CREATE VIEW v1 AS SELECT c1, c2, c1 LIKE c2||'_' FROM t1 ORDER BY ord;
|
||||
EXPLAIN EXTENDED SELECT * FROM v1;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 PUSHED SELECT NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
Warnings:
|
||||
Note 1003 select "test"."t1"."c1" AS "c1","test"."t1"."c2" AS "c2","test"."t1"."c1" like concat("test"."t1"."c2",'_') AS "c1 LIKE c2||'_'" from ("test"."t1") order by "test"."t1"."ord"
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
192
mysql-test/columnstore/oracle/func_concat_oracle_maxscale.test
Normal file
192
mysql-test/columnstore/oracle/func_concat_oracle_maxscale.test
Normal file
@ -0,0 +1,192 @@
|
||||
#
|
||||
# Testing CONCAT with null values
|
||||
#
|
||||
--source ../include/have_columnstore.inc
|
||||
--source ../include/detect_no_maxscale.inc
|
||||
|
||||
|
||||
SET sql_mode=ORACLE;
|
||||
SET default_storage_engine=ColumnStore;
|
||||
|
||||
EXPLAIN EXTENDED SELECT 'a'||'b'||'c';
|
||||
EXPLAIN EXTENDED SELECT CONCAT('a'||'b'||'c');
|
||||
|
||||
SELECT '' || '';
|
||||
SELECT '' || 'b';
|
||||
SELECT '' || NULL;
|
||||
SELECT 'a' || '';
|
||||
SELECT 'a' || 'b';
|
||||
SELECT 'a' || NULL;
|
||||
SELECT NULL || '';
|
||||
SELECT NULL || 'b';
|
||||
SELECT NULL || NULL;
|
||||
|
||||
SELECT '' || '' || '';
|
||||
SELECT '' || '' || 'c';
|
||||
SELECT '' || '' || NULL;
|
||||
SELECT '' || 'b' || '';
|
||||
SELECT '' || 'b' || 'c';
|
||||
SELECT '' || 'b' || NULL;
|
||||
SELECT '' || NULL || '';
|
||||
SELECT '' || NULL || 'c';
|
||||
SELECT '' || NULL || NULL;
|
||||
|
||||
SELECT 'a' || '' || '';
|
||||
SELECT 'a' || '' || 'c';
|
||||
SELECT 'a' || '' || NULL;
|
||||
SELECT 'a' || 'b' || '';
|
||||
SELECT 'a' || 'b' || 'c';
|
||||
SELECT 'a' || 'b' || NULL;
|
||||
SELECT 'a' || NULL || '';
|
||||
SELECT 'a' || NULL || 'c';
|
||||
SELECT 'a' || NULL || NULL;
|
||||
|
||||
SELECT NULL || '' || '';
|
||||
SELECT NULL || '' || 'c';
|
||||
SELECT NULL || '' || NULL;
|
||||
SELECT NULL || 'b' || '';
|
||||
SELECT NULL || 'b' || 'c';
|
||||
SELECT NULL || 'b' || NULL;
|
||||
SELECT NULL || NULL || '';
|
||||
SELECT NULL || NULL || 'c';
|
||||
SELECT NULL || NULL || NULL;
|
||||
|
||||
|
||||
CREATE TABLE t1 (a VARCHAR(10), b VARCHAR(10), c VARCHAR(10));
|
||||
|
||||
INSERT INTO t1 VALUES ('', '', '');
|
||||
INSERT INTO t1 VALUES ('', '', 'c');
|
||||
INSERT INTO t1 VALUES ('', '', NULL);
|
||||
INSERT INTO t1 VALUES ('', 'b', '');
|
||||
INSERT INTO t1 VALUES ('', 'b', 'c');
|
||||
INSERT INTO t1 VALUES ('', 'b', NULL);
|
||||
INSERT INTO t1 VALUES ('', NULL, '');
|
||||
INSERT INTO t1 VALUES ('', NULL, 'c');
|
||||
INSERT INTO t1 VALUES ('', NULL, NULL);
|
||||
|
||||
INSERT INTO t1 VALUES ('a', '', '');
|
||||
INSERT INTO t1 VALUES ('a', '', 'c');
|
||||
INSERT INTO t1 VALUES ('a', '', NULL);
|
||||
INSERT INTO t1 VALUES ('a', 'b', '');
|
||||
INSERT INTO t1 VALUES ('a', 'b', 'c');
|
||||
INSERT INTO t1 VALUES ('a', 'b', NULL);
|
||||
INSERT INTO t1 VALUES ('a', NULL, '');
|
||||
INSERT INTO t1 VALUES ('a', NULL, 'c');
|
||||
INSERT INTO t1 VALUES ('a', NULL, NULL);
|
||||
|
||||
INSERT INTO t1 VALUES (NULL, '', '');
|
||||
INSERT INTO t1 VALUES (NULL, '', 'c');
|
||||
INSERT INTO t1 VALUES (NULL, '', NULL);
|
||||
INSERT INTO t1 VALUES (NULL, 'b', '');
|
||||
INSERT INTO t1 VALUES (NULL, 'b', 'c');
|
||||
INSERT INTO t1 VALUES (NULL, 'b', NULL);
|
||||
INSERT INTO t1 VALUES (NULL, NULL, '');
|
||||
INSERT INTO t1 VALUES (NULL, NULL, 'c');
|
||||
INSERT INTO t1 VALUES (NULL, NULL, NULL);
|
||||
|
||||
SELECT LENGTH(a||b||c), a||b||c FROM t1 ORDER BY a,b,c;
|
||||
SELECT LENGTH(CONCAT(a||b||c)), CONCAT(a||b||c) FROM t1 ORDER BY a,b,c;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-12478 CONCAT function inside view casts values incorrectly with Oracle sql_mode
|
||||
--echo #
|
||||
|
||||
SET sql_mode=ORACLE;
|
||||
CREATE VIEW v1 AS SELECT 'foo'||NULL||'bar' AS test;
|
||||
SHOW CREATE VIEW v1;
|
||||
SELECT * FROM v1;
|
||||
SET sql_mode=DEFAULT;
|
||||
SHOW CREATE VIEW v1;
|
||||
SELECT * FROM v1;
|
||||
DROP VIEW v1;
|
||||
|
||||
SET sql_mode=DEFAULT;
|
||||
CREATE VIEW v1 AS SELECT CONCAT('foo',NULL,'bar') AS test;
|
||||
SHOW CREATE VIEW v1;
|
||||
SELECT * FROM v1;
|
||||
SET sql_mode=ORACLE;
|
||||
SHOW CREATE VIEW v1;
|
||||
SELECT * FROM v1;
|
||||
DROP VIEW v1;
|
||||
|
||||
SET sql_mode=DEFAULT;
|
||||
CREATE VIEW v1 AS SELECT '0'||'1' AS test;
|
||||
SHOW CREATE VIEW v1;
|
||||
SELECT * FROM v1;
|
||||
SET sql_mode=ORACLE;
|
||||
SHOW CREATE VIEW v1;
|
||||
SELECT * FROM v1;
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-16186 Concatenation operator || returns wrong results in sql_mode=ORACLE
|
||||
--echo #
|
||||
|
||||
# Concatenation operator || has the same precedence with +
|
||||
# (stronger than << and weaker than * ^)
|
||||
|
||||
SELECT -1<<1||1 AS a FROM DUAL;
|
||||
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;
|
||||
|
||||
SELECT -1+1||1 AS a FROM DUAL;
|
||||
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;
|
||||
|
||||
SELECT 1*1||-1 AS a FROM DUAL;
|
||||
SELECT 1||1*-1 AS a FROM DUAL;
|
||||
|
||||
EXPLAIN EXTENDED SELECT 1*1||-1 AS a FROM DUAL;
|
||||
EXPLAIN EXTENDED SELECT 1||1*-1 AS a FROM DUAL;
|
||||
|
||||
SELECT -1^1||1 AS a FROM DUAL;
|
||||
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;
|
||||
EXPLAIN EXTENDED SELECT * FROM v1;
|
||||
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
Reference in New Issue
Block a user