diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 18:00:34 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 18:00:34 +0000 |
commit | 3f619478f796eddbba6e39502fe941b285dd97b1 (patch) | |
tree | e2c7b5777f728320e5b5542b6213fd3591ba51e2 /mysql-test/main/func_debug.result | |
parent | Initial commit. (diff) | |
download | mariadb-upstream.tar.xz mariadb-upstream.zip |
Adding upstream version 1:10.11.6.upstream/1%10.11.6upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/main/func_debug.result')
-rw-r--r-- | mysql-test/main/func_debug.result | 1969 |
1 files changed, 1969 insertions, 0 deletions
diff --git a/mysql-test/main/func_debug.result b/mysql-test/main/func_debug.result new file mode 100644 index 00000000..a8a00a56 --- /dev/null +++ b/mysql-test/main/func_debug.result @@ -0,0 +1,1969 @@ +SET SESSION debug_dbug="+d,Item_func_in"; +SET SESSION debug_dbug="+d,Predicant_to_list_comparator"; +# Constant predicant, compatible types, bisect +SELECT 1 IN (1,2); +1 IN (1,2) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=0 (bigint) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1 IN (1,2,NULL); +1 IN (1,2,NULL) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=0 (bigint) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1 NOT IN (1,2); +1 NOT IN (1,2) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=0 (bigint) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1 NOT IN (1,2,NULL); +1 NOT IN (1,2,NULL) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=0 (bigint) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1.0 IN (1.0,2.0); +1.0 IN (1.0,2.0) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1.0 IN (1.0,2.0,NULL); +1.0 IN (1.0,2.0,NULL) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1.0 NOT IN (1.0,2.0); +1.0 NOT IN (1.0,2.0) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1.0 NOT IN (1.0,2.0,NULL); +1.0 NOT IN (1.0,2.0,NULL) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1e0 IN (1e0,2e0); +1e0 IN (1e0,2e0) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=0 (double) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1e0 IN (1e0,2e0,NULL); +1e0 IN (1e0,2e0,NULL) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=0 (double) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1e0 NOT IN (1e0,2e0); +1e0 NOT IN (1e0,2e0) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=0 (double) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1e0 NOT IN (1e0,2e0,NULL); +1e0 NOT IN (1e0,2e0,NULL) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=0 (double) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 'a' IN ('a','b'); +'a' IN ('a','b') +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 'a' IN ('a','b',NULL); +'a' IN ('a','b',NULL) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 'a' NOT IN ('a','b'); +'a' NOT IN ('a','b') +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 'a' NOT IN ('a','b',NULL); +'a' NOT IN ('a','b',NULL) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT TIMESTAMP'2001-01-01 10:20:30' IN ('2001-01-01 10:20:30','2001-02-02 10:20:30') as exp; +exp +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (datetime) +Note 1105 DBUG: [1] arg=2 handler=0 (datetime) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT TIMESTAMP'2001-01-01 10:20:30' IN ('2001-01-01 10:20:30','2001-02-02 10:20:30',NULL) as exp; +exp +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (datetime) +Note 1105 DBUG: [1] arg=2 handler=0 (datetime) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT TIMESTAMP'2001-01-01 10:20:30' NOT IN ('2001-01-01 10:20:30','2001-02-02 10:20:30') as exp; +exp +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (datetime) +Note 1105 DBUG: [1] arg=2 handler=0 (datetime) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT TIMESTAMP'2001-01-01 10:20:30' NOT IN ('2001-01-01 10:20:30','2001-02-02 10:20:30',NULL) as exp; +exp +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (datetime) +Note 1105 DBUG: [1] arg=2 handler=0 (datetime) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT TIME'10:20:30' IN ('10:20:30','10:20:30'); +TIME'10:20:30' IN ('10:20:30','10:20:30') +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT TIME'10:20:30' IN ('10:20:30','10:20:30',NULL); +TIME'10:20:30' IN ('10:20:30','10:20:30',NULL) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT TIME'10:20:30' NOT IN ('10:20:30','10:20:30'); +TIME'10:20:30' NOT IN ('10:20:30','10:20:30') +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT TIME'10:20:30' NOT IN ('10:20:30','10:20:30',NULL); +TIME'10:20:30' NOT IN ('10:20:30','10:20:30',NULL) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT DATE'2001-01-01' IN ('2001-01-01','2001-02-02'); +DATE'2001-01-01' IN ('2001-01-01','2001-02-02') +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (date) +Note 1105 DBUG: [1] arg=2 handler=0 (date) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT DATE'2001-01-01' IN ('2001-01-01','2001-02-02',NULL); +DATE'2001-01-01' IN ('2001-01-01','2001-02-02',NULL) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (date) +Note 1105 DBUG: [1] arg=2 handler=0 (date) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT DATE'2001-01-01' NOT IN ('2001-01-01','2001-02-02'); +DATE'2001-01-01' NOT IN ('2001-01-01','2001-02-02') +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (date) +Note 1105 DBUG: [1] arg=2 handler=0 (date) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT DATE'2001-01-01' NOT IN ('2001-01-01','2001-02-02',NULL); +DATE'2001-01-01' NOT IN ('2001-01-01','2001-02-02',NULL) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (date) +Note 1105 DBUG: [1] arg=2 handler=0 (date) +Note 1105 DBUG: types_compatible=yes bisect=yes +# Column predicant, compatible types, bisect +CREATE TABLE t1 (a INT UNSIGNED); +SELECT a IN (1.0, 1) FROM t1; +a IN (1.0, 1) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +CREATE TABLE t1 (a INT); +SELECT a IN (1,2,3) FROM t1; +a IN (1,2,3) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=0 (bigint) +Note 1105 DBUG: [2] arg=3 handler=0 (bigint) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a IN (1,2,3,NULL) FROM t1; +a IN (1,2,3,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=0 (bigint) +Note 1105 DBUG: [2] arg=3 handler=0 (bigint) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a IN (1.0, CAST(1 AS UNSIGNED)) FROM t1; +a IN (1.0, CAST(1 AS UNSIGNED)) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a IN (1.0, CAST(1 AS UNSIGNED),NULL) FROM t1; +a IN (1.0, CAST(1 AS UNSIGNED),NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN (1,2,3) FROM t1; +a NOT IN (1,2,3) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=0 (bigint) +Note 1105 DBUG: [2] arg=3 handler=0 (bigint) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN (1,2,3,NULL) FROM t1; +a NOT IN (1,2,3,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=0 (bigint) +Note 1105 DBUG: [2] arg=3 handler=0 (bigint) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN (1.0, CAST(1 AS UNSIGNED)) FROM t1; +a NOT IN (1.0, CAST(1 AS UNSIGNED)) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN (1.0, CAST(1 AS UNSIGNED),NULL) FROM t1; +a NOT IN (1.0, CAST(1 AS UNSIGNED),NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +CREATE TABLE t1 (a DOUBLE); +SELECT a IN (1e0,2,3.0) FROM t1; +a IN (1e0,2,3.0) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=0 (double) +Note 1105 DBUG: [2] arg=3 handler=0 (double) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a IN (1e0,2,3.0,NULL) FROM t1; +a IN (1e0,2,3.0,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=0 (double) +Note 1105 DBUG: [2] arg=3 handler=0 (double) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN (1e0,2,3.0) FROM t1; +a NOT IN (1e0,2,3.0) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=0 (double) +Note 1105 DBUG: [2] arg=3 handler=0 (double) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN (1e0,2,3.0,NULL) FROM t1; +a NOT IN (1e0,2,3.0,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=0 (double) +Note 1105 DBUG: [2] arg=3 handler=0 (double) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +CREATE TABLE t1 (a DECIMAL(10,1)); +SELECT a IN (1,2.0,3.0) FROM t1; +a IN (1,2.0,3.0) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: [2] arg=3 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a IN (1,2.0,3.0,NULL) FROM t1; +a IN (1,2.0,3.0,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: [2] arg=3 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN (1,2.0,3.0) FROM t1; +a NOT IN (1,2.0,3.0) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: [2] arg=3 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN (1,2.0,3.0,NULL) FROM t1; +a NOT IN (1,2.0,3.0,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: [2] arg=3 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +CREATE TABLE t1 (a VARCHAR(10)); +SELECT a IN ('a','b','c') FROM t1; +a IN ('a','b','c') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=0 (longblob) +Note 1105 DBUG: [2] arg=3 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a IN ('a','b','c',NULL) FROM t1; +a IN ('a','b','c',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=0 (longblob) +Note 1105 DBUG: [2] arg=3 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN ('a','b','c') FROM t1; +a NOT IN ('a','b','c') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=0 (longblob) +Note 1105 DBUG: [2] arg=3 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN ('a','b','c',NULL) FROM t1; +a NOT IN ('a','b','c',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=0 (longblob) +Note 1105 DBUG: [2] arg=3 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +CREATE TABLE t1 (a DATE); +SELECT a IN ('2001-01-01',DATE'2001-01-02',20010102,20010102.0,20010102e0) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (date) +Note 1105 DBUG: [1] arg=2 handler=0 (date) +Note 1105 DBUG: [2] arg=3 handler=0 (date) +Note 1105 DBUG: [3] arg=4 handler=0 (date) +Note 1105 DBUG: [4] arg=5 handler=0 (date) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a IN ('2001-01-01',DATE'2001-01-02',20010102,20010102.0,20010102e0,NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (date) +Note 1105 DBUG: [1] arg=2 handler=0 (date) +Note 1105 DBUG: [2] arg=3 handler=0 (date) +Note 1105 DBUG: [3] arg=4 handler=0 (date) +Note 1105 DBUG: [4] arg=5 handler=0 (date) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN ('2001-01-01',DATE'2001-01-02',20010102,20010102.0,20010102e0) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (date) +Note 1105 DBUG: [1] arg=2 handler=0 (date) +Note 1105 DBUG: [2] arg=3 handler=0 (date) +Note 1105 DBUG: [3] arg=4 handler=0 (date) +Note 1105 DBUG: [4] arg=5 handler=0 (date) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN ('2001-01-01',DATE'2001-01-02',20010102,20010102.0,20010102e0,NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (date) +Note 1105 DBUG: [1] arg=2 handler=0 (date) +Note 1105 DBUG: [2] arg=3 handler=0 (date) +Note 1105 DBUG: [3] arg=4 handler=0 (date) +Note 1105 DBUG: [4] arg=5 handler=0 (date) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +CREATE TABLE t1 (a TIME); +SELECT a IN ('10:20:30',TIME'10:20:30',102030,102030.0,102030e0) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=0 (time) +Note 1105 DBUG: [3] arg=4 handler=0 (time) +Note 1105 DBUG: [4] arg=5 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a IN ('10:20:30',TIME'10:20:30',102030,102030.0,102030e0,NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=0 (time) +Note 1105 DBUG: [3] arg=4 handler=0 (time) +Note 1105 DBUG: [4] arg=5 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN ('10:20:30',TIME'10:20:30',102030,102030.0,102030e0) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=0 (time) +Note 1105 DBUG: [3] arg=4 handler=0 (time) +Note 1105 DBUG: [4] arg=5 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN ('10:20:30',TIME'10:20:30',102030,102030.0,102030e0,NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=0 (time) +Note 1105 DBUG: [3] arg=4 handler=0 (time) +Note 1105 DBUG: [4] arg=5 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +CREATE TABLE t1 (a DATETIME); +SELECT a IN ('2001-01-01',TIMESTAMP'2001-01-01 10:20:30',DATE'2001-01-01',TIME'10:20:30',20010101102030,20010101102030.0,20010101102030e0) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (datetime) +Note 1105 DBUG: [1] arg=2 handler=0 (datetime) +Note 1105 DBUG: [2] arg=3 handler=0 (datetime) +Note 1105 DBUG: [3] arg=4 handler=0 (datetime) +Note 1105 DBUG: [4] arg=5 handler=0 (datetime) +Note 1105 DBUG: [5] arg=6 handler=0 (datetime) +Note 1105 DBUG: [6] arg=7 handler=0 (datetime) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a IN ('2001-01-01',TIMESTAMP'2001-01-01 10:20:30',DATE'2001-01-01',TIME'10:20:30',20010101102030,20010101102030.0,20010101102030e0,NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (datetime) +Note 1105 DBUG: [1] arg=2 handler=0 (datetime) +Note 1105 DBUG: [2] arg=3 handler=0 (datetime) +Note 1105 DBUG: [3] arg=4 handler=0 (datetime) +Note 1105 DBUG: [4] arg=5 handler=0 (datetime) +Note 1105 DBUG: [5] arg=6 handler=0 (datetime) +Note 1105 DBUG: [6] arg=7 handler=0 (datetime) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN ('2001-01-01',TIMESTAMP'2001-01-01 10:20:30',DATE'2001-01-01',TIME'10:20:30',20010101102030,20010101102030.0,20010101102030e0) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (datetime) +Note 1105 DBUG: [1] arg=2 handler=0 (datetime) +Note 1105 DBUG: [2] arg=3 handler=0 (datetime) +Note 1105 DBUG: [3] arg=4 handler=0 (datetime) +Note 1105 DBUG: [4] arg=5 handler=0 (datetime) +Note 1105 DBUG: [5] arg=6 handler=0 (datetime) +Note 1105 DBUG: [6] arg=7 handler=0 (datetime) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN ('2001-01-01',TIMESTAMP'2001-01-01 10:20:30',DATE'2001-01-01',TIME'10:20:30',20010101102030,20010101102030.0,20010101102030e0,NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (datetime) +Note 1105 DBUG: [1] arg=2 handler=0 (datetime) +Note 1105 DBUG: [2] arg=3 handler=0 (datetime) +Note 1105 DBUG: [3] arg=4 handler=0 (datetime) +Note 1105 DBUG: [4] arg=5 handler=0 (datetime) +Note 1105 DBUG: [5] arg=6 handler=0 (datetime) +Note 1105 DBUG: [6] arg=7 handler=0 (datetime) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +# Constant predicant, compatible types, no bisect +# Bisect is not used because of non-constant expressions in the list +CREATE TABLE t1 (a INT); +SELECT 1 IN (a,1,2,3) FROM t1; +1 IN (a,1,2,3) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=0 (bigint) +Note 1105 DBUG: [2] arg=3 handler=0 (bigint) +Note 1105 DBUG: [3] arg=4 handler=0 (bigint) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 1 IN (a,1,2,3,NULL) FROM t1; +1 IN (a,1,2,3,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=0 (bigint) +Note 1105 DBUG: [2] arg=3 handler=0 (bigint) +Note 1105 DBUG: [3] arg=4 handler=0 (bigint) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 1 NOT IN (a,1,2,3) FROM t1; +1 NOT IN (a,1,2,3) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=0 (bigint) +Note 1105 DBUG: [2] arg=3 handler=0 (bigint) +Note 1105 DBUG: [3] arg=4 handler=0 (bigint) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 1 NOT IN (a,1,2,3,NULL) FROM t1; +1 NOT IN (a,1,2,3,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=0 (bigint) +Note 1105 DBUG: [2] arg=3 handler=0 (bigint) +Note 1105 DBUG: [3] arg=4 handler=0 (bigint) +Note 1105 DBUG: types_compatible=yes bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a DOUBLE); +SELECT 1 IN (a,1e0,2e0,3e0) FROM t1; +1 IN (a,1e0,2e0,3e0) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=0 (double) +Note 1105 DBUG: [2] arg=3 handler=0 (double) +Note 1105 DBUG: [3] arg=4 handler=0 (double) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 1 IN (a,1e0,2e0,3e0,NULL) FROM t1; +1 IN (a,1e0,2e0,3e0,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=0 (double) +Note 1105 DBUG: [2] arg=3 handler=0 (double) +Note 1105 DBUG: [3] arg=4 handler=0 (double) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 1 NOT IN (a,1e0,2e0,3e0) FROM t1; +1 NOT IN (a,1e0,2e0,3e0) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=0 (double) +Note 1105 DBUG: [2] arg=3 handler=0 (double) +Note 1105 DBUG: [3] arg=4 handler=0 (double) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 1 NOT IN (a,1e0,2e0,3e0,NULL) FROM t1; +1 NOT IN (a,1e0,2e0,3e0,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=0 (double) +Note 1105 DBUG: [2] arg=3 handler=0 (double) +Note 1105 DBUG: [3] arg=4 handler=0 (double) +Note 1105 DBUG: types_compatible=yes bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a DECIMAL(10,1)); +SELECT 1 IN (a,1.0,2.0,3.0) FROM t1; +1 IN (a,1.0,2.0,3.0) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: [2] arg=3 handler=0 (decimal) +Note 1105 DBUG: [3] arg=4 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 1 IN (a,1.0,2.0,3.0,NULL) FROM t1; +1 IN (a,1.0,2.0,3.0,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: [2] arg=3 handler=0 (decimal) +Note 1105 DBUG: [3] arg=4 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 1 NOT IN (a,1.0,2.0,3.0) FROM t1; +1 NOT IN (a,1.0,2.0,3.0) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: [2] arg=3 handler=0 (decimal) +Note 1105 DBUG: [3] arg=4 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 1 NOT IN (a,1.0,2.0,3.0,NULL) FROM t1; +1 NOT IN (a,1.0,2.0,3.0,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: [2] arg=3 handler=0 (decimal) +Note 1105 DBUG: [3] arg=4 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a VARCHAR(10)); +SELECT 'a' IN (a,'b','c') FROM t1; +'a' IN (a,'b','c') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=0 (longblob) +Note 1105 DBUG: [2] arg=3 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 'a' IN (a,'b','c',NULL) FROM t1; +'a' IN (a,'b','c',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=0 (longblob) +Note 1105 DBUG: [2] arg=3 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 'a' NOT IN (a,'b','c') FROM t1; +'a' NOT IN (a,'b','c') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=0 (longblob) +Note 1105 DBUG: [2] arg=3 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 'a' NOT IN (a,'b','c',NULL) FROM t1; +'a' NOT IN (a,'b','c',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=0 (longblob) +Note 1105 DBUG: [2] arg=3 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a DATE); +SELECT DATE'2001-01-01' IN (a,'2001-01-01') FROM t1; +DATE'2001-01-01' IN (a,'2001-01-01') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (date) +Note 1105 DBUG: [1] arg=2 handler=0 (date) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT DATE'2001-01-01' IN (a,'2001-01-01',NULL) FROM t1; +DATE'2001-01-01' IN (a,'2001-01-01',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (date) +Note 1105 DBUG: [1] arg=2 handler=0 (date) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT DATE'2001-01-01' NOT IN (a,'2001-01-01') FROM t1; +DATE'2001-01-01' NOT IN (a,'2001-01-01') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (date) +Note 1105 DBUG: [1] arg=2 handler=0 (date) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT DATE'2001-01-01' NOT IN (a,'2001-01-01',NULL) FROM t1; +DATE'2001-01-01' NOT IN (a,'2001-01-01',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (date) +Note 1105 DBUG: [1] arg=2 handler=0 (date) +Note 1105 DBUG: types_compatible=yes bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a TIME); +SELECT TIME'10:20:30' IN (a,'10:20:30') FROM t1; +TIME'10:20:30' IN (a,'10:20:30') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT TIME'10:20:30' IN (a,'10:20:30',NULL) FROM t1; +TIME'10:20:30' IN (a,'10:20:30',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT TIME'10:20:30' NOT IN (a,'10:20:30') FROM t1; +TIME'10:20:30' NOT IN (a,'10:20:30') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT TIME'10:20:30' NOT IN (a,'10:20:30',NULL) FROM t1; +TIME'10:20:30' NOT IN (a,'10:20:30',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a DATETIME); +SELECT TIMESTAMP'2001-01-01 10:20:30' IN (a,TIMESTAMP'2001-01-01 10:20:30') as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (datetime) +Note 1105 DBUG: [1] arg=2 handler=0 (datetime) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT TIMESTAMP'2001-01-01 10:20:30' IN (a,TIMESTAMP'2001-01-01 10:20:30',NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (datetime) +Note 1105 DBUG: [1] arg=2 handler=0 (datetime) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT TIMESTAMP'2001-01-01 10:20:30' NOT IN (a,TIMESTAMP'2001-01-01 10:20:30') as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (datetime) +Note 1105 DBUG: [1] arg=2 handler=0 (datetime) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT TIMESTAMP'2001-01-01 10:20:30' NOT IN (a,TIMESTAMP'2001-01-01 10:20:30',NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (datetime) +Note 1105 DBUG: [1] arg=2 handler=0 (datetime) +Note 1105 DBUG: types_compatible=yes bisect=no +DROP TABLE t1; +# Constant predicant, incompatible types, no bisect +SELECT 1 IN (1,2e0); +1 IN (1,2e0) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 1 IN (1,2e0,NULL); +1 IN (1,2e0,NULL) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 1 NOT IN (1,2e0); +1 NOT IN (1,2e0) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 1 NOT IN (1,2e0,NULL); +1 NOT IN (1,2e0,NULL) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 1.0 IN (1.0,2e0); +1.0 IN (1.0,2e0) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 1.0 IN (1.0,2e0,NULL); +1.0 IN (1.0,2e0,NULL) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 1.0 NOT IN (1.0,2e0); +1.0 NOT IN (1.0,2e0) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 1.0 NOT IN (1.0,2e0,NULL); +1.0 NOT IN (1.0,2e0,NULL) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 1e0 IN (1.0,TIME'10:20:30'); +1e0 IN (1.0,TIME'10:20:30') +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 1e0 IN (1.0,TIME'10:20:30',NULL); +1e0 IN (1.0,TIME'10:20:30',NULL) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 1e0 NOT IN (1.0,TIME'10:20:30'); +1e0 NOT IN (1.0,TIME'10:20:30') +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 1e0 NOT IN (1.0,TIME'10:20:30',NULL); +1e0 NOT IN (1.0,TIME'10:20:30',NULL) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 'a' IN ('a',2); +'a' IN ('a',2) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 'a' IN ('a',2,NULL); +'a' IN ('a',2,NULL) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 'a' NOT IN ('a',2); +'a' NOT IN ('a',2) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT 'a' NOT IN ('a',2,NULL); +'a' NOT IN ('a',2,NULL) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT TIME'10:20:30' IN (1,TIME'10:20:30') as exp; +exp +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT TIME'10:20:30' IN (1,TIME'10:20:30',NULL) as exp; +exp +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT TIME'10:20:30' IN (102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32') as exp; +exp +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=2 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT TIME'10:20:30' IN (102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32',NULL) as exp; +exp +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=2 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT TIME'10:20:30' IN (102030, 102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32') as exp; +exp +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=0 (time) +Note 1105 DBUG: [3] arg=4 handler=3 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT TIME'10:20:30' IN (102030, 102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32',NULL) as exp; +exp +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=0 (time) +Note 1105 DBUG: [3] arg=4 handler=3 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT TIME'10:20:30' NOT IN (1,TIME'10:20:30') as exp; +exp +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT TIME'10:20:30' NOT IN (1,TIME'10:20:30',NULL) as exp; +exp +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT TIME'10:20:30' NOT IN (102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32') as exp; +exp +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=2 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT TIME'10:20:30' NOT IN (102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32',NULL) as exp; +exp +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=2 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT TIME'10:20:30' NOT IN (102030, 102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32') as exp; +exp +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=0 (time) +Note 1105 DBUG: [3] arg=4 handler=3 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT TIME'10:20:30' NOT IN (102030, 102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32',NULL) as exp; +exp +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=0 (time) +Note 1105 DBUG: [3] arg=4 handler=3 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +# Column predicant, incompatible types, no bisect +CREATE TABLE t1 (a INT); +SELECT a IN (1,1e0) FROM t1; +a IN (1,1e0) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,1e0,NULL) FROM t1; +a IN (1,1e0,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (CAST(1 AS SIGNED), CAST(1 AS UNSIGNED)) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: found a mix of UINT and SINT +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a IN (CAST(1 AS SIGNED), CAST(1 AS UNSIGNED),NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (CAST(1 AS DECIMAL),CAST(1 AS SIGNED), CAST(1 AS UNSIGNED)) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (bigint) +Note 1105 DBUG: [2] arg=3 handler=0 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (CAST(1 AS DECIMAL),CAST(1 AS SIGNED), CAST(1 AS UNSIGNED),NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (bigint) +Note 1105 DBUG: [2] arg=3 handler=0 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,1e0) FROM t1; +a NOT IN (1,1e0) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,1e0,NULL) FROM t1; +a NOT IN (1,1e0,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (CAST(1 AS SIGNED), CAST(1 AS UNSIGNED)) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: found a mix of UINT and SINT +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a NOT IN (CAST(1 AS SIGNED), CAST(1 AS UNSIGNED),NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (CAST(1 AS DECIMAL),CAST(1 AS SIGNED), CAST(1 AS UNSIGNED)) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (bigint) +Note 1105 DBUG: [2] arg=3 handler=0 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (CAST(1 AS DECIMAL),CAST(1 AS SIGNED), CAST(1 AS UNSIGNED),NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (bigint) +Note 1105 DBUG: [2] arg=3 handler=0 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,1.0) FROM t1; +a IN (1,1.0) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,1.0,NULL) FROM t1; +a IN (1,1.0,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,1.0) FROM t1; +a NOT IN (1,1.0) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,1.0,NULL) FROM t1; +a NOT IN (1,1.0,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,'1') FROM t1; +a IN (1,'1') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,'1',NULL) FROM t1; +a IN (1,'1',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,'1') FROM t1; +a NOT IN (1,'1') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,'1',NULL) FROM t1; +a NOT IN (1,'1',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,TIME'10:20:30') FROM t1; +a IN (1,TIME'10:20:30') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,TIME'10:20:30',NULL) FROM t1; +a IN (1,TIME'10:20:30',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,TIME'10:20:30') FROM t1; +a NOT IN (1,TIME'10:20:30') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,TIME'10:20:30',NULL) FROM t1; +a NOT IN (1,TIME'10:20:30',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a DECIMAL(10,0)); +SELECT a IN (1,1e0) FROM t1; +a IN (1,1e0) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,1e0,NULL) FROM t1; +a IN (1,1e0,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,1e0) FROM t1; +a NOT IN (1,1e0) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,1e0,NULL) FROM t1; +a NOT IN (1,1e0,NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,'1') FROM t1; +a IN (1,'1') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,'1',NULL) FROM t1; +a IN (1,'1',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,'1') FROM t1; +a NOT IN (1,'1') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,'1',NULL) FROM t1; +a NOT IN (1,'1',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (double) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,TIME'10:20:30') FROM t1; +a IN (1,TIME'10:20:30') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,TIME'10:20:30',NULL) FROM t1; +a IN (1,TIME'10:20:30',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,TIME'10:20:30') FROM t1; +a NOT IN (1,TIME'10:20:30') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,TIME'10:20:30',NULL) FROM t1; +a NOT IN (1,TIME'10:20:30',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a DOUBLE); +SELECT a IN (1,TIME'10:20:30') FROM t1; +a IN (1,TIME'10:20:30') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,TIME'10:20:30',NULL) FROM t1; +a IN (1,TIME'10:20:30',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,TIME'10:20:30') FROM t1; +a NOT IN (1,TIME'10:20:30') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,TIME'10:20:30',NULL) FROM t1; +a NOT IN (1,TIME'10:20:30',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,DATE'2001-01-01') FROM t1; +a IN (1,DATE'2001-01-01') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (date) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,DATE'2001-01-01',NULL) FROM t1; +a IN (1,DATE'2001-01-01',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (date) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,DATE'2001-01-01') FROM t1; +a NOT IN (1,DATE'2001-01-01') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (date) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,DATE'2001-01-01',NULL) FROM t1; +a NOT IN (1,DATE'2001-01-01',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (date) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,TIMESTAMP'2001-01-01 10:20:30') FROM t1; +a IN (1,TIMESTAMP'2001-01-01 10:20:30') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (1,TIMESTAMP'2001-01-01 10:20:30',NULL) FROM t1; +a IN (1,TIMESTAMP'2001-01-01 10:20:30',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,TIMESTAMP'2001-01-01 10:20:30') FROM t1; +a NOT IN (1,TIMESTAMP'2001-01-01 10:20:30') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (1,TIMESTAMP'2001-01-01 10:20:30',NULL) FROM t1; +a NOT IN (1,TIMESTAMP'2001-01-01 10:20:30',NULL) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (double) +Note 1105 DBUG: [1] arg=2 handler=1 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a VARCHAR(10)); +SELECT a IN ('a',1) FROM t1; +a IN ('a',1) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN ('a',TIME'10:20:30') FROM t1; +a IN ('a',TIME'10:20:30') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN ('a',1) FROM t1; +a NOT IN ('a',1) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN ('a',TIME'10:20:30') FROM t1; +a NOT IN ('a',TIME'10:20:30') +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=2 handler=1 (time) +Note 1105 DBUG: types_compatible=no bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a TIME); +SELECT a IN (102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32') as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=2 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32',NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=2 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (102030, 102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32') as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=0 (time) +Note 1105 DBUG: [3] arg=4 handler=3 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a IN (102030, 102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32',NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=0 (time) +Note 1105 DBUG: [3] arg=4 handler=3 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32') as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=2 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32',NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=2 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (102030, 102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32') as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=0 (time) +Note 1105 DBUG: [3] arg=4 handler=3 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a NOT IN (102030, 102030, TIME'10:20:30',TIMESTAMP'2001-01-01 10:20:32',NULL) as exp FROM t1; +exp +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=0 (time) +Note 1105 DBUG: [3] arg=4 handler=3 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +DROP TABLE t1; +# Not top level, negated: cond3 is false +CREATE TABLE t1 (a INT); +SELECT ROW(a,a) NOT IN ((1,1),(2,NULL)) FROM t1; +ROW(a,a) NOT IN ((1,1),(2,NULL)) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT ROW(a,a) NOT IN ((1,1),(2,2)) FROM t1; +ROW(a,a) NOT IN ((1,1),(2,2)) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a INT NOT NULL, b INT); +SELECT ROW(a,a) NOT IN ((1,1),(2,NULL)) FROM t1; +ROW(a,a) NOT IN ((1,1),(2,NULL)) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT ROW(a,a) NOT IN ((1,1),(2,2)) FROM t1; +ROW(a,a) NOT IN ((1,1),(2,2)) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +CREATE TABLE t1 (a INT); +SELECT ROW(a,(a,a)) NOT IN ((1,(1,1)),(2,(2,NULL))) FROM t1; +ROW(a,(a,a)) NOT IN ((1,(1,1)),(2,(2,NULL))) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT ROW(a,(a,a)) NOT IN ((1,(1,1)),(2,(2,2))) FROM t1; +ROW(a,(a,a)) NOT IN ((1,(1,1)),(2,(2,2))) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a INT NOT NULL); +SELECT ROW(a,(a,a)) NOT IN ((1,(1,1)),(2,(2,NULL))) FROM t1; +ROW(a,(a,a)) NOT IN ((1,(1,1)),(2,(2,NULL))) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT ROW(a,(a,a)) NOT IN ((1,(1,1)),(2,(2,2))) FROM t1; +ROW(a,(a,a)) NOT IN ((1,(1,1)),(2,(2,2))) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +# Not top level, not negated: cond3 is false +CREATE TABLE t1 (a INT); +SELECT ROW(a,a) IN ((1,1),(2,NULL)) FROM t1; +ROW(a,a) IN ((1,1),(2,NULL)) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT ROW(a,a) IN ((1,1),(2,2)) FROM t1; +ROW(a,a) IN ((1,1),(2,2)) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a INT NOT NULL); +SELECT ROW(a,a) IN ((1,1),(2,NULL)) FROM t1; +ROW(a,a) IN ((1,1),(2,NULL)) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT ROW(a,a) IN ((1,1),(2,2)) FROM t1; +ROW(a,a) IN ((1,1),(2,2)) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +CREATE TABLE t1 (a INT); +SELECT ROW(a,(a,a)) IN ((1,(1,1)),(2,(2,NULL))) FROM t1; +ROW(a,(a,a)) IN ((1,(1,1)),(2,(2,NULL))) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT ROW(a,(a,a)) IN ((1,(1,1)),(2,(2,2))) FROM t1; +ROW(a,(a,a)) IN ((1,(1,1)),(2,(2,2))) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a INT NOT NULL); +SELECT ROW(a,(a,a)) IN ((1,(1,1)),(2,(2,NULL))) FROM t1; +ROW(a,(a,a)) IN ((1,(1,1)),(2,(2,NULL))) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT ROW(a,(a,a)) IN ((1,(1,1)),(2,(2,2))) FROM t1; +ROW(a,(a,a)) IN ((1,(1,1)),(2,(2,2))) +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +# Top level, negated: cond3 is false +CREATE TABLE t1 (a INT); +SELECT 1 FROM t1 WHERE ROW(a,a) NOT IN ((1,1),(2,NULL)); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 1 FROM t1 WHERE ROW(a,a) NOT IN ((1,1),(2,2)); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a INT NOT NULL); +SELECT 1 FROM t1 WHERE ROW(a,a) NOT IN ((1,1),(2,NULL)); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 1 FROM t1 WHERE ROW(a,a) NOT IN ((1,1),(2,2)); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +CREATE TABLE t1 (a INT); +SELECT 1 FROM t1 WHERE ROW(a,(a,a)) NOT IN ((1,(1,1)),(2,(2,NULL))); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 1 FROM t1 WHERE ROW(a,(a,a)) NOT IN ((1,(1,1)),(2,(2,2))); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +DROP TABLE t1; +CREATE TABLE t1 (a INT NOT NULL); +SELECT 1 FROM t1 WHERE ROW(a,(a,a)) NOT IN ((1,(1,1)),(2,(2,NULL))); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT 1 FROM t1 WHERE ROW(a,(a,a)) NOT IN ((1,(1,1)),(2,(2,2))); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +# Top level, not negated: cond3 is true +CREATE TABLE t1 (a INT); +SELECT 1 FROM t1 WHERE ROW(a,a) IN ((1,1),(2,NULL)); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1 FROM t1 WHERE ROW(a,a) IN ((1,1),(2,2)); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +CREATE TABLE t1 (a INT NOT NULL); +SELECT 1 FROM t1 WHERE ROW(a,a) IN ((1,1),(2,NULL)); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1 FROM t1 WHERE ROW(a,a) IN ((1,1),(2,2)); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +CREATE TABLE t1 (a INT); +SELECT 1 FROM t1 WHERE ROW(a,(a,a)) IN ((1,(1,1)),(2,(2,NULL))); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1 FROM t1 WHERE ROW(a,(a,a)) IN ((1,(1,1)),(2,(2,2))); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +CREATE TABLE t1 (a INT NOT NULL); +SELECT 1 FROM t1 WHERE ROW(a,(a,a)) IN ((1,(1,1)),(2,(2,NULL))); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT 1 FROM t1 WHERE ROW(a,(a,a)) IN ((1,(1,1)),(2,(2,2))); +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: types_compatible=yes bisect=yes +DROP TABLE t1; +# +# MDEV-11514 IN with a mixture of TIME and DATETIME returns a wrong result +# +SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32') as exp; +exp +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=2 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +PREPARE stmt FROM "SELECT + TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32')"; +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=2 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +EXECUTE stmt; +TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32') +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=2 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +EXECUTE stmt; +TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32') +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=2 (datetime) +Note 1105 DBUG: types_compatible=no bisect=no +DEALLOCATE PREPARE stmt; +CREATE TABLE t1 (a VARCHAR(10)); +INSERT INTO t1 VALUES ('A'),('B'),('A'); +SELECT a,NULL AS b FROM t1 GROUP BY a HAVING 'A' IN (b,'A'); +a b +A NULL +B NULL +Warnings: +Note 1105 DBUG: [0] arg=2 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a,NULL AS b FROM t1 GROUP BY a HAVING 'A' IN ('A',b); +a b +A NULL +B NULL +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT a,NULL AS b FROM t1 GROUP BY a HAVING 'A' IN (b,a); +a b +A NULL +Warnings: +Note 1105 DBUG: [0] arg=2 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=no +Note 1105 DBUG: [0] arg=2 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT a,NULL AS b FROM t1 GROUP BY a HAVING 'A' IN (a,b); +a b +A NULL +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=no +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: types_compatible=yes bisect=no +SELECT a,NULL AS b FROM t1 GROUP BY a HAVING 'A' IN (b,'A',10); +a b +A NULL +B NULL +Warnings: +Note 1105 DBUG: [0] arg=2 handler=0 (longblob) +Note 1105 DBUG: [1] arg=3 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a,NULL AS b FROM t1 GROUP BY a HAVING 'A' IN ('A',b,10); +a b +A NULL +B NULL +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=3 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +SELECT a,NULL AS b FROM t1 GROUP BY a HAVING 'A' IN (b,a,10); +a b +A NULL +Warnings: +Note 1105 DBUG: [0] arg=2 handler=0 (longblob) +Note 1105 DBUG: [1] arg=3 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +Note 1105 DBUG: [0] arg=2 handler=0 (longblob) +Note 1105 DBUG: [1] arg=3 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +Warning 1292 Truncated incorrect DECIMAL value: 'A' +SELECT a,NULL AS b FROM t1 GROUP BY a HAVING 'A' IN (a,b,10); +a b +A NULL +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=3 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +Note 1105 DBUG: [0] arg=1 handler=0 (longblob) +Note 1105 DBUG: [1] arg=3 handler=1 (decimal) +Note 1105 DBUG: types_compatible=no bisect=no +Warning 1292 Truncated incorrect DECIMAL value: 'A' +DROP TABLE t1; +# +# MDEV-11497 Wrong result for (int_expr IN (mixture of signed and unsigned expressions)) +# +CREATE TABLE t1 (a BIGINT, b BIGINT UNSIGNED); +INSERT INTO t1 VALUES (-9223372036854775808,18446744073709551615); +SELECT * FROM t1 WHERE -1 IN (a,b); +a b +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +Note 1105 DBUG: found a mix of UINT and SINT +Note 1105 DBUG: types_compatible=yes bisect=no +DROP TABLE t1; +# +# MDEV-11554 Wrong result for CASE on a mixture of signed and unsigned expressions +# +CREATE TABLE t1 (a BIGINT, b BIGINT UNSIGNED); +INSERT INTO t1 VALUES (-9223372036854775808,18446744073709551615); +SELECT +CASE -1 +WHEN -9223372036854775808 THEN 'one' + WHEN 18446744073709551615 THEN 'two' + END AS c; +c +NULL +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (bigint) +Note 1105 DBUG: [1] arg=2 handler=1 (decimal) +DROP TABLE t1; +# +# MDEV-11555 CASE with a mixture of TIME and DATETIME returns a wrong result +# +SELECT +CASE TIME'10:20:30' + WHEN 102030 THEN 'one' + WHEN TIME'10:20:31' THEN 'two' + END AS good, +CASE TIME'10:20:30' + WHEN 102030 THEN 'one' + WHEN TIME'10:20:31' THEN 'two' + WHEN TIMESTAMP'2001-01-01 10:20:32' THEN 'three' + END AS was_bad_now_good; +good was_bad_now_good +one one +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [0] arg=1 handler=0 (time) +Note 1105 DBUG: [1] arg=2 handler=0 (time) +Note 1105 DBUG: [2] arg=3 handler=2 (datetime) +SET SESSION debug_dbug="-d,Predicant_to_list_comparator"; +SET SESSION debug_dbug="-d,Item_func_in"; +# +# MDEV-19008 Slow EXPLAIN SELECT ... WHERE col IN (const1,const2,(subquery)) +# +SET SESSION debug_dbug="+d,Item_subselect"; +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); +EXPLAIN SELECT * FROM t1 WHERE a IN (1,2,(SELECT MAX(a) FROM t1)); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY t1 ALL NULL NULL NULL NULL 10 Using where +2 SUBQUERY t1 ALL NULL NULL NULL NULL 10 +SELECT * FROM t1 WHERE a IN (1,2,(SELECT MAX(a) FROM t1)); +a +1 +2 +9 +Warnings: +Note 1105 DBUG: Item_subselect::exec (select max(`test`.`t1`.`a`) from `test`.`t1`) +DROP TABLE t1; +SET SESSION debug_dbug="-d,Item_subselect"; +# +# MDEV-16408 Remove tests for Item::type() in Item_basic_value::eq() +# +SET SESSION debug_dbug="+d,Item_basic_value"; +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1),(2),(3); +SELECT * FROM t1 WHERE a BETWEEN 1 AND 1.0; +a +1 +Warnings: +Note 1105 bin_eq=0 a=(int)1 b=(decimal)1.0 +SELECT * FROM t1 WHERE a BETWEEN 1 AND 1; +a +1 +Warnings: +Note 1105 bin_eq=1 a=(int)1 b=(int)1 +SELECT * FROM t1 WHERE a BETWEEN 0 AND 1; +a +1 +Warnings: +Note 1105 bin_eq=0 a=(int)0 b=(int)1 +SELECT * FROM t1 WHERE a BETWEEN 0 AND -1; +a +Warnings: +Note 1105 bin_eq=0 a=(int)0 b=(int)-1 +SELECT * FROM t1 WHERE a BETWEEN -1 AND -1; +a +Warnings: +Note 1105 bin_eq=1 a=(int)-1 b=(int)-1 +SELECT * FROM t1 WHERE a BETWEEN -0000000000000001 AND -1; +a +Warnings: +Note 1105 bin_eq=1 a=(bigint)-1 b=(int)-1 +SELECT * FROM t1 WHERE a BETWEEN -1 AND 18446744073709551615; +a +1 +2 +3 +Warnings: +Note 1105 bin_eq=0 a=(int)-1 b=(bigint unsigned)18446744073709551615 +SELECT * FROM t1 WHERE a BETWEEN -1 AND 18446744073709551616; +a +1 +2 +3 +Warnings: +Note 1105 bin_eq=0 a=(int)-1 b=(decimal)18446744073709551616 +SELECT * FROM t1 WHERE a BETWEEN 1e2 AND 100e0; +a +Warnings: +Note 1105 bin_eq=1 a=(double)1e2 b=(double)100e0 +EXECUTE IMMEDIATE 'SELECT * FROM t1 WHERE a BETWEEN 1 AND ?' USING 1; +a +1 +Warnings: +Note 1105 bin_eq=1 a=(int)1 b=(int)1 +EXECUTE IMMEDIATE 'SELECT * FROM t1 WHERE a BETWEEN -1 AND ?' USING 18446744073709551615; +a +1 +2 +3 +Warnings: +Note 1105 bin_eq=0 a=(int)-1 b=(bigint unsigned)18446744073709551615 +EXECUTE IMMEDIATE 'SELECT * FROM t1 WHERE a BETWEEN -1 AND ?' USING 18446744073709551616; +a +1 +2 +3 +Warnings: +Note 1105 bin_eq=0 a=(int)-1 b=(decimal)18446744073709551616 +DROP TABLE t1; +CREATE TABLE t1 (a VARCHAR(10)); +INSERT INTO t1 VALUES ('0'),('1'),('2'); +SELECT * FROM t1 WHERE a BETWEEN '0' AND '0'; +a +0 +Warnings: +Note 1105 eq=1 a=(varchar)'0' b=(varchar)'0' +SELECT * FROM t1 WHERE a BETWEEN '0' AND ' 0'; +a +Warnings: +Note 1105 eq=0 a=(varchar)'0' b=(varchar)' 0' +SELECT * FROM t1 WHERE a BETWEEN '0' AND '0 '; +a +0 +Warnings: +Note 1105 eq=1 a=(varchar)'0' b=(varchar)'0 ' +DROP TABLE t1; +SET SESSION debug_dbug="-d,Item_basic_value"; +# +# MDEV-11362 True condition elimination does not work for DECIMAL and temporal dynamic SQL parameters +# +SET SESSION debug_dbug="+d,Item_basic_value"; +CREATE TABLE t1 (a DECIMAL(10,3)); +INSERT INTO t1 VALUES (1),(2),(3); +SELECT * FROM t1 WHERE a BETWEEN 1.0 AND 1.0; +a +1.000 +Warnings: +Note 1105 bin_eq=1 a=(decimal)1.0 b=(decimal)1.0 +EXECUTE IMMEDIATE 'SELECT * FROM t1 WHERE a BETWEEN 1.0 AND ?' USING 1.0; +a +1.000 +Warnings: +Note 1105 bin_eq=1 a=(decimal)1.0 b=(decimal)1.0 +DROP TABLE t1; +CREATE TABLE t1 (a TIME); +INSERT INTO t1 VALUES ('00:00:00'),('00:00:01'); +SELECT * FROM t1 WHERE a BETWEEN TIME'00:00:00' AND TIME'00:00:00'; +a +00:00:00 +Warnings: +Note 1105 bin_eq=1 a=(time)TIME'00:00:00' b=(time)TIME'00:00:00' +EXECUTE IMMEDIATE 'SELECT * FROM t1 WHERE a BETWEEN TIME''00:00:00'' AND ?' USING TIME'00:00:00'; +a +00:00:00 +Warnings: +Note 1105 bin_eq=1 a=(time)TIME'00:00:00' b=(time)TIME'00:00:00' +DROP TABLE t1; +CREATE TABLE t1 (a DATE); +INSERT INTO t1 VALUES ('2001-01-01'),('2001-01-02'); +SELECT * FROM t1 WHERE a BETWEEN DATE'2001-01-01' AND DATE'2001-01-01'; +a +2001-01-01 +Warnings: +Note 1105 bin_eq=1 a=(date)DATE'2001-01-01' b=(date)DATE'2001-01-01' +EXECUTE IMMEDIATE 'SELECT * FROM t1 WHERE a BETWEEN DATE''2001-01-01'' AND ?' USING DATE'2001-01-01'; +a +2001-01-01 +Warnings: +Note 1105 bin_eq=1 a=(date)DATE'2001-01-01' b=(date)DATE'2001-01-01' +DROP TABLE t1; +CREATE TABLE t1 (a DATETIME); +INSERT INTO t1 VALUES ('2001-01-01 00:00:00'),('2001-01-01 00:00:00'); +SELECT * FROM t1 WHERE a BETWEEN TIMESTAMP'2001-01-01 00:00:00' AND TIMESTAMP'2001-01-01 00:00:00'; +a +2001-01-01 00:00:00 +2001-01-01 00:00:00 +Warnings: +Note 1105 bin_eq=1 a=(datetime)TIMESTAMP'2001-01-01 00:00:00' b=(datetime)TIMESTAMP'2001-01-01 00:00:00' +EXECUTE IMMEDIATE 'SELECT * FROM t1 WHERE a BETWEEN TIMESTAMP''2001-01-01 00:00:00'' AND ?' USING TIMESTAMP'2001-01-01 00:00:00'; +a +2001-01-01 00:00:00 +2001-01-01 00:00:00 +Warnings: +Note 1105 bin_eq=1 a=(datetime)TIMESTAMP'2001-01-01 00:00:00' b=(datetime)TIMESTAMP'2001-01-01 00:00:00' +DROP TABLE t1; +SET SESSION debug_dbug="-d,Item_basic_value"; +# +# MDEV-16426 Optimizer erroneously treats equal constants of different formats as same +# +SET SESSION debug_dbug="+d,Item_basic_value"; +CREATE TABLE t1 (a VARCHAR(10)); +INSERT INTO t1 VALUES ('a'),('b'),('c'); +SELECT * FROM t1 WHERE a BETWEEN 'a' AND 0x61; +a +a +Warnings: +Note 1105 eq=0 a=(varchar)'a' b=(hex_hybrid)0x61 +EXECUTE IMMEDIATE 'SELECT * FROM t1 WHERE a BETWEEN ''a'' AND ?' USING 0x61; +a +a +Warnings: +Note 1105 eq=0 a=(varchar)'a' b=(hex_hybrid)'a' +DROP TABLE t1; +SET SESSION debug_dbug="-d,Item_basic_value"; +# +# MDEV-16454 Bad results for IN with ROW +# +SET SESSION debug_dbug="+d,cmp_item"; +SET SESSION debug_dbug="+d,Item_func_in"; +SET SESSION debug_dbug="+d,Predicant_to_list_comparator"; +SELECT (18446744073709551615,0) IN ((18446744073709551614,0),(-1,0)); +(18446744073709551615,0) IN ((18446744073709551614,0),(-1,0)) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: ROW(3 args) level=0 +Note 1105 DBUG: [0,0] handler=bigint unsigned +Note 1105 DBUG: [0,1] handler=bigint unsigned +Note 1105 DBUG: [0,2] handler=int +Note 1105 DBUG: => handler=decimal +Note 1105 DBUG: [1,0] handler=int +Note 1105 DBUG: [1,1] handler=int +Note 1105 DBUG: [1,2] handler=int +Note 1105 DBUG: => handler=bigint +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT (1,(0,0)) IN ((1,(1,0)),(0,(0,0))); +(1,(0,0)) IN ((1,(1,0)),(0,(0,0))) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: ROW(3 args) level=0 +Note 1105 DBUG: [0,0] handler=int +Note 1105 DBUG: [0,1] handler=int +Note 1105 DBUG: [0,2] handler=int +Note 1105 DBUG: => handler=bigint +Note 1105 DBUG: [1,0] handler=row +Note 1105 DBUG: [1,1] handler=row +Note 1105 DBUG: [1,2] handler=row +Note 1105 DBUG: => handler=row +Note 1105 DBUG: ROW(3 args) level=1 +Note 1105 DBUG: [0,0] handler=int +Note 1105 DBUG: [0,1] handler=int +Note 1105 DBUG: [0,2] handler=int +Note 1105 DBUG: => handler=bigint +Note 1105 DBUG: [1,0] handler=int +Note 1105 DBUG: [1,1] handler=int +Note 1105 DBUG: [1,2] handler=int +Note 1105 DBUG: => handler=bigint +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT (1,(0,0),3) IN ((1,(1,0),3),(0,(0,0),3)); +(1,(0,0),3) IN ((1,(1,0),3),(0,(0,0),3)) +0 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: ROW(3 args) level=0 +Note 1105 DBUG: [0,0] handler=int +Note 1105 DBUG: [0,1] handler=int +Note 1105 DBUG: [0,2] handler=int +Note 1105 DBUG: => handler=bigint +Note 1105 DBUG: [1,0] handler=row +Note 1105 DBUG: [1,1] handler=row +Note 1105 DBUG: [1,2] handler=row +Note 1105 DBUG: => handler=row +Note 1105 DBUG: ROW(3 args) level=1 +Note 1105 DBUG: [0,0] handler=int +Note 1105 DBUG: [0,1] handler=int +Note 1105 DBUG: [0,2] handler=int +Note 1105 DBUG: => handler=bigint +Note 1105 DBUG: [1,0] handler=int +Note 1105 DBUG: [1,1] handler=int +Note 1105 DBUG: [1,2] handler=int +Note 1105 DBUG: => handler=bigint +Note 1105 DBUG: [2,0] handler=int +Note 1105 DBUG: [2,1] handler=int +Note 1105 DBUG: [2,2] handler=int +Note 1105 DBUG: => handler=bigint +Note 1105 DBUG: types_compatible=yes bisect=yes +SELECT '0x' IN (0); +'0x' IN (0) +1 +Warnings: +Warning 1292 Truncated incorrect DECIMAL value: '0x' +SELECT '0x' IN (0,1); +'0x' IN (0,1) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (decimal) +Note 1105 DBUG: [1] arg=2 handler=0 (decimal) +Note 1105 DBUG: types_compatible=yes bisect=yes +Warning 1292 Truncated incorrect DECIMAL value: '0x' +SELECT ('0x',1) IN ((0,1)); +('0x',1) IN ((0,1)) +1 +Warnings: +Warning 1292 Truncated incorrect DECIMAL value: '0x' +SELECT ('0x',1) IN ((0,1),(1,1)); +('0x',1) IN ((0,1),(1,1)) +1 +Warnings: +Note 1105 DBUG: [0] arg=1 handler=0 (row) +Note 1105 DBUG: [1] arg=2 handler=0 (row) +Note 1105 DBUG: ROW(3 args) level=0 +Note 1105 DBUG: [0,0] handler=varchar +Note 1105 DBUG: [0,1] handler=int +Note 1105 DBUG: [0,2] handler=int +Note 1105 DBUG: => handler=decimal +Note 1105 DBUG: [1,0] handler=int +Note 1105 DBUG: [1,1] handler=int +Note 1105 DBUG: [1,2] handler=int +Note 1105 DBUG: => handler=bigint +Note 1105 DBUG: types_compatible=yes bisect=yes +Warning 1292 Truncated incorrect DECIMAL value: '0x' +SET SESSION debug_dbug="-d,Predicant_to_list_comparator"; +SET SESSION debug_dbug="-d,Item_func_in"; +SET SESSION debug_dbug="-d,cmp_item"; |