mirror of
https://github.com/MariaDB/server.git
synced 2025-04-18 05:05:32 +02:00
MDEV-34189 Unexpected error on WHERE inet6col
normalize_cond() translated `WHERE col` into `WHERE col<>0` But the opetator "not equal to 0" does not necessarily exists for all data types. For example, the query: SELECT * FROM t1 WHERE inet6col; was translated to: SELECT * FROM t1 WHERE inet6col<>0; which further failed with this error: ERROR : Illegal parameter data types inet6 and bigint for operation '<>' This patch changes the translation from `col<>0` to `col IS TRUE`. So now SELECT * FROM t1 WHERE inet6col; gets translated to: SELECT * FROM t1 WHERE inet6col IS TRUE; Details: 1. Implementing methods: - Field_longstr::val_bool() - Field_string::val_bool() - Item::val_int_from_val_str() If the input contains bad data, these methods raise a better error message: Truncated incorrect BOOLEAN value Before the change, the error was: Truncated incorrect DOUBLE value 2. Fixing normalize_cond() to generate Item_func_istrue/Item_func_isfalse instances instead of Item_func_ne/Item_func_eq 3. Making Item_func_truth sargable, so it uses the range optimizer. Implementing the following methods: - get_mm_tree(), get_mm_leaf(), add_key_fields() in Item_func_truth. - get_func_mm_tree(), for all Item_func_truth descendants. 4. Implementing the method negated_item() for all Item_func_truth descendants, so the negated item has a chance to be sargable: For example, WHERE NOT col IS NOT FALSE -- this notation is not sargable is now translated to: WHERE col IS FALSE -- this notation is sargable
This commit is contained in:
parent
d1ba623677
commit
5a8e6230d7
47 changed files with 1670 additions and 257 deletions
mysql-test
include
main
bool.resultbool.testctype_ucs.resultfunc_json.resultfunc_test.resulthaving.resultinsert_innodb.resultinsert_innodb.testjoin_cache.resultjoin_outer.resultjoin_outer_jcl6.resultnegation_elimination.resultprecedence.resultselect.resultselect_jcl6.resultselect_pkeycache.resultsubselect4.resultsubselect_cache.resultsubselect_mat_cost_bugs.resulttype_temporal_innodb.resultview.resultwin.resultxtradb_mrr.result
suite
plugin
type_inet/mysql-test/type_inet
type_uuid/mysql-test/type_uuid
sql
39
mysql-test/include/boolean_factor.inc
Normal file
39
mysql-test/include/boolean_factor.inc
Normal file
|
@ -0,0 +1,39 @@
|
|||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a;
|
||||
SELECT id, a FROM t1 WHERE a;
|
||||
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a;
|
||||
SELECT id, a FROM t1 WHERE NOT a;
|
||||
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS TRUE;
|
||||
SELECT id, a FROM t1 WHERE a IS TRUE;
|
||||
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS TRUE;
|
||||
SELECT id, a FROM t1 WHERE NOT a IS TRUE;
|
||||
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS NOT TRUE;
|
||||
SELECT id, a FROM t1 WHERE a IS NOT TRUE;
|
||||
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT TRUE;
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT TRUE;
|
||||
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS FALSE;
|
||||
SELECT id, a FROM t1 WHERE a IS FALSE;
|
||||
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS FALSE;
|
||||
SELECT id, a FROM t1 WHERE NOT a IS FALSE;
|
||||
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS NOT FALSE;
|
||||
SELECT id, a FROM t1 WHERE a IS NOT FALSE;
|
||||
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT FALSE;
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT FALSE;
|
|
@ -86,3 +86,256 @@ N 1 N 0 N N N 1 0 0
|
|||
1 0 0 1 0 1 1 1 0 0
|
||||
1 1 0 0 1 0 0 1 0 0
|
||||
drop table t1;
|
||||
# Start of 10.6 tests
|
||||
#
|
||||
# MDEV-34189 Unexpected error on `WHERE inet6col`
|
||||
#
|
||||
CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, a INT, KEY(a));
|
||||
INSERT INTO t1 VALUES (-1,NULL);
|
||||
INSERT INTO t1 SELECT seq,seq FROM seq_0_to_31;
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is true
|
||||
SELECT id, a FROM t1 WHERE a;
|
||||
id a
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 1 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is false
|
||||
SELECT id, a FROM t1 WHERE NOT a;
|
||||
id a
|
||||
0 0
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is true
|
||||
SELECT id, a FROM t1 WHERE a IS TRUE;
|
||||
id a
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 2 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not true
|
||||
SELECT id, a FROM t1 WHERE NOT a IS TRUE;
|
||||
id a
|
||||
-1 NULL
|
||||
0 0
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS NOT TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 2 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not true
|
||||
SELECT id, a FROM t1 WHERE a IS NOT TRUE;
|
||||
id a
|
||||
-1 NULL
|
||||
0 0
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is true
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT TRUE;
|
||||
id a
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 1 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is false
|
||||
SELECT id, a FROM t1 WHERE a IS FALSE;
|
||||
id a
|
||||
0 0
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not false
|
||||
SELECT id, a FROM t1 WHERE NOT a IS FALSE;
|
||||
id a
|
||||
-1 NULL
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS NOT FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not false
|
||||
SELECT id, a FROM t1 WHERE a IS NOT FALSE;
|
||||
id a
|
||||
-1 NULL
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 7
|
||||
8 8
|
||||
9 9
|
||||
10 10
|
||||
11 11
|
||||
12 12
|
||||
13 13
|
||||
14 14
|
||||
15 15
|
||||
16 16
|
||||
17 17
|
||||
18 18
|
||||
19 19
|
||||
20 20
|
||||
21 21
|
||||
22 22
|
||||
23 23
|
||||
24 24
|
||||
25 25
|
||||
26 26
|
||||
27 27
|
||||
28 28
|
||||
29 29
|
||||
30 30
|
||||
31 31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 1 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is false
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT FALSE;
|
||||
id a
|
||||
0 0
|
||||
DROP TABLE t1;
|
||||
# End of 10.6 tests
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
--source include/have_sequence.inc
|
||||
#
|
||||
# Test of boolean operations with NULL
|
||||
#
|
||||
|
@ -62,3 +63,18 @@ select ifnull(A=1, 'N') as A, ifnull(B=1, 'N') as B, ifnull(not (A=1), 'N') as n
|
|||
drop table t1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
|
||||
--echo # Start of 10.6 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-34189 Unexpected error on `WHERE inet6col`
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, a INT, KEY(a));
|
||||
INSERT INTO t1 VALUES (-1,NULL);
|
||||
INSERT INTO t1 SELECT seq,seq FROM seq_0_to_31;
|
||||
--source include/boolean_factor.inc
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of 10.6 tests
|
||||
|
|
|
@ -6809,8 +6809,8 @@ SET last_insert_id=0;
|
|||
SELECT * FROM t1 WHERE RPAD(a, 50, LAST_INSERT_ID());
|
||||
a
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'foo00000000000000000000000000000000000000000000000'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'bar00000000000000000000000000000000000000000000000'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'foo00000000000000000000000000000000000000000000000'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'bar00000000000000000000000000000000000000000000000'
|
||||
DROP TABLE t1;
|
||||
SET names latin1;
|
||||
#
|
||||
|
|
|
@ -755,6 +755,9 @@ create table t1(a double not null);
|
|||
insert into t1 values (2),(1);
|
||||
select 1 from t1 where json_extract(a,'$','$[81]');
|
||||
1
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '[2]'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '[1]'
|
||||
drop table t1;
|
||||
select json_extract('{"test":8.437e-5}','$.test');
|
||||
json_extract('{"test":8.437e-5}','$.test')
|
||||
|
|
|
@ -296,7 +296,7 @@ explain extended select * from t1 where not a;
|
|||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 100.00 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` = 0
|
||||
Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is false
|
||||
select not (a+0) from t1;
|
||||
not (a+0)
|
||||
0
|
||||
|
|
|
@ -524,7 +524,7 @@ ORDER BY t1.f2;
|
|||
MAX(t2.f2)
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'd'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'd'
|
||||
DROP TABLE t1,t2;
|
||||
End of 5.0 tests
|
||||
#
|
||||
|
|
|
@ -49,9 +49,14 @@ DROP TABLE t2, t1;
|
|||
#
|
||||
CREATE TEMPORARY TABLE v0 ( v1 TEXT ( 15 ) CHAR SET BINARY NOT NULL NOT NULL UNIQUE CHECK ( v1 ) ) REPLACE SELECT NULL AS v3 , 74 AS v2 ;
|
||||
ERROR HY000: Field 'v1' doesn't have a default value
|
||||
SET @@sql_mode='';
|
||||
CREATE TEMPORARY TABLE t1 (i TEXT(15) NOT NULL DEFAULT '' UNIQUE CHECK (i)) engine=innodb
|
||||
REPLACE SELECT NULL AS a;
|
||||
ERROR 23000: CONSTRAINT `t1.i` failed for `test`.`t1`
|
||||
SET @@sql_mode=DEFAULT;
|
||||
CREATE TEMPORARY TABLE t1 (i TEXT(15) NOT NULL DEFAULT '' UNIQUE CHECK (i)) engine=innodb
|
||||
REPLACE SELECT NULL AS a;
|
||||
ERROR 22007: Truncated incorrect BOOLEAN value: ''
|
||||
#
|
||||
# End of 10.5 tests
|
||||
#
|
||||
|
|
|
@ -71,10 +71,16 @@ DROP TABLE t2, t1;
|
|||
--error ER_NO_DEFAULT_FOR_FIELD
|
||||
CREATE TEMPORARY TABLE v0 ( v1 TEXT ( 15 ) CHAR SET BINARY NOT NULL NOT NULL UNIQUE CHECK ( v1 ) ) REPLACE SELECT NULL AS v3 , 74 AS v2 ;
|
||||
|
||||
SET @@sql_mode='';
|
||||
--error ER_CONSTRAINT_FAILED
|
||||
CREATE TEMPORARY TABLE t1 (i TEXT(15) NOT NULL DEFAULT '' UNIQUE CHECK (i)) engine=innodb
|
||||
REPLACE SELECT NULL AS a;
|
||||
|
||||
SET @@sql_mode=DEFAULT;
|
||||
--error ER_TRUNCATED_WRONG_VALUE
|
||||
CREATE TEMPORARY TABLE t1 (i TEXT(15) NOT NULL DEFAULT '' UNIQUE CHECK (i)) engine=innodb
|
||||
REPLACE SELECT NULL AS a;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.5 tests
|
||||
|
|
|
@ -3946,8 +3946,8 @@ ORDER BY t2.v;
|
|||
MAX(t1.i)
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'x'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'y'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'x'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'y'
|
||||
|
||||
EXPLAIN
|
||||
SELECT MAX(t1.i)
|
||||
|
|
|
@ -1387,7 +1387,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
|||
1 SIMPLE jt5 index NULL PRIMARY 4 NULL 2 100.00 Using where; Using index
|
||||
1 SIMPLE jt2 index NULL PRIMARY 4 NULL 2 100.00 Using where; Using index
|
||||
Warnings:
|
||||
Note 1003 select straight_join `test`.`jt1`.`f1` AS `f1` from `test`.`t1` `jt1` left join (`test`.`t1` `jt6` left join (`test`.`t1` `jt3` join `test`.`t1` `jt4` left join `test`.`t1` `jt5` on(1) left join `test`.`t1` `jt2` on(1)) on(`test`.`jt6`.`f1` <> 0 and 1)) on(1) where 1
|
||||
Note 1003 select straight_join `test`.`jt1`.`f1` AS `f1` from `test`.`t1` `jt1` left join (`test`.`t1` `jt6` left join (`test`.`t1` `jt3` join `test`.`t1` `jt4` left join `test`.`t1` `jt5` on(1) left join `test`.`t1` `jt2` on(1)) on(`test`.`jt6`.`f1` is true and 1)) on(1) where 1
|
||||
EXPLAIN EXTENDED SELECT STRAIGHT_JOIN jt1.f1 FROM t1 AS jt1
|
||||
RIGHT JOIN t1 AS jt2
|
||||
RIGHT JOIN t1 AS jt3
|
||||
|
@ -1404,7 +1404,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
|||
1 SIMPLE jt2 index NULL PRIMARY 4 NULL 2 100.00 Using where; Using index
|
||||
1 SIMPLE jt1 index NULL PRIMARY 4 NULL 2 100.00 Using where; Using index
|
||||
Warnings:
|
||||
Note 1003 select straight_join `test`.`jt1`.`f1` AS `f1` from `test`.`t1` `jt6` left join (`test`.`t1` `jt3` join `test`.`t1` `jt4` left join `test`.`t1` `jt5` on(1) left join `test`.`t1` `jt2` on(1)) on(`test`.`jt6`.`f1` <> 0 and 1) left join `test`.`t1` `jt1` on(1) where 1
|
||||
Note 1003 select straight_join `test`.`jt1`.`f1` AS `f1` from `test`.`t1` `jt6` left join (`test`.`t1` `jt3` join `test`.`t1` `jt4` left join `test`.`t1` `jt5` on(1) left join `test`.`t1` `jt2` on(1)) on(`test`.`jt6`.`f1` is true and 1) left join `test`.`t1` `jt1` on(1) where 1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#57688 Assertion `!table || (!table->write_set || bitmap_is_set(table->write_set, field
|
||||
|
|
|
@ -1394,7 +1394,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
|||
1 SIMPLE jt5 index NULL PRIMARY 4 NULL 2 100.00 Using where; Using index; Using join buffer (incremental, BNL join)
|
||||
1 SIMPLE jt2 index NULL PRIMARY 4 NULL 2 100.00 Using where; Using index; Using join buffer (incremental, BNL join)
|
||||
Warnings:
|
||||
Note 1003 select straight_join `test`.`jt1`.`f1` AS `f1` from `test`.`t1` `jt1` left join (`test`.`t1` `jt6` left join (`test`.`t1` `jt3` join `test`.`t1` `jt4` left join `test`.`t1` `jt5` on(1) left join `test`.`t1` `jt2` on(1)) on(`test`.`jt6`.`f1` <> 0 and 1)) on(1) where 1
|
||||
Note 1003 select straight_join `test`.`jt1`.`f1` AS `f1` from `test`.`t1` `jt1` left join (`test`.`t1` `jt6` left join (`test`.`t1` `jt3` join `test`.`t1` `jt4` left join `test`.`t1` `jt5` on(1) left join `test`.`t1` `jt2` on(1)) on(`test`.`jt6`.`f1` is true and 1)) on(1) where 1
|
||||
EXPLAIN EXTENDED SELECT STRAIGHT_JOIN jt1.f1 FROM t1 AS jt1
|
||||
RIGHT JOIN t1 AS jt2
|
||||
RIGHT JOIN t1 AS jt3
|
||||
|
@ -1411,7 +1411,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
|||
1 SIMPLE jt2 index NULL PRIMARY 4 NULL 2 100.00 Using where; Using index; Using join buffer (incremental, BNL join)
|
||||
1 SIMPLE jt1 index NULL PRIMARY 4 NULL 2 100.00 Using where; Using index; Using join buffer (incremental, BNL join)
|
||||
Warnings:
|
||||
Note 1003 select straight_join `test`.`jt1`.`f1` AS `f1` from `test`.`t1` `jt6` left join (`test`.`t1` `jt3` join `test`.`t1` `jt4` left join `test`.`t1` `jt5` on(1) left join `test`.`t1` `jt2` on(1)) on(`test`.`jt6`.`f1` <> 0 and 1) left join `test`.`t1` `jt1` on(1) where 1
|
||||
Note 1003 select straight_join `test`.`jt1`.`f1` AS `f1` from `test`.`t1` `jt6` left join (`test`.`t1` `jt3` join `test`.`t1` `jt4` left join `test`.`t1` `jt5` on(1) left join `test`.`t1` `jt2` on(1)) on(`test`.`jt6`.`f1` is true and 1) left join `test`.`t1` `jt1` on(1) where 1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#57688 Assertion `!table || (!table->write_set || bitmap_is_set(table->write_set, field
|
||||
|
|
|
@ -502,5 +502,5 @@ explain extended select a, not(not(a)), not(a <= 2 and not(a)), not(a not like "
|
|||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 4 100.00 Using where; Using index
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`a` <> 0 AS `not(not(a))`,`test`.`t1`.`a` > 2 or `test`.`t1`.`a` <> 0 AS `not(a <= 2 and not(a))`,`test`.`t1`.`a` like '1' AS `not(a not like "1")`,`test`.`t1`.`a` in (1,2) AS `not (a not in (1,2))`,`test`.`t1`.`a` = 2 AS `not(a != 2)` from `test`.`t1` where `test`.`t1`.`a` <> 0 having `test`.`t1`.`a` <> 0
|
||||
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`a` <> 0 AS `not(not(a))`,`test`.`t1`.`a` > 2 or `test`.`t1`.`a` <> 0 AS `not(a <= 2 and not(a))`,`test`.`t1`.`a` like '1' AS `not(a not like "1")`,`test`.`t1`.`a` in (1,2) AS `not (a not in (1,2))`,`test`.`t1`.`a` = 2 AS `not(a != 2)` from `test`.`t1` where `test`.`t1`.`a` is true having `test`.`t1`.`a` is true
|
||||
drop table t1;
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
create or replace view v1 as select NOT NULL IS TRUE, NOT (NULL IS TRUE), (NOT NULL) IS TRUE;
|
||||
Select view_definition from information_schema.views where table_schema='test' and table_name='v1';
|
||||
view_definition
|
||||
select !(NULL is true) AS `NOT NULL IS TRUE`,!(NULL is true) AS `NOT (NULL IS TRUE)`,!NULL is true AS `(NOT NULL) IS TRUE`
|
||||
select NULL is not true AS `NOT NULL IS TRUE`,NULL is not true AS `NOT (NULL IS TRUE)`,!NULL is true AS `(NOT NULL) IS TRUE`
|
||||
select NOT NULL IS TRUE, NOT (NULL IS TRUE), (NOT NULL) IS TRUE union select * from v1;
|
||||
NOT NULL IS TRUE NOT (NULL IS TRUE) (NOT NULL) IS TRUE
|
||||
1 1 0
|
||||
create or replace view v1 as select ! NULL IS TRUE, ! (NULL IS TRUE), (! NULL) IS TRUE;
|
||||
Select view_definition from information_schema.views where table_schema='test' and table_name='v1';
|
||||
view_definition
|
||||
select !NULL is true AS `! NULL IS TRUE`,!(NULL is true) AS `! (NULL IS TRUE)`,!NULL is true AS `(! NULL) IS TRUE`
|
||||
select !NULL is true AS `! NULL IS TRUE`,NULL is not true AS `! (NULL IS TRUE)`,!NULL is true AS `(! NULL) IS TRUE`
|
||||
select ! NULL IS TRUE, ! (NULL IS TRUE), (! NULL) IS TRUE union select * from v1;
|
||||
! NULL IS TRUE ! (NULL IS TRUE) (! NULL) IS TRUE
|
||||
0 1 0
|
||||
|
|
|
@ -5310,11 +5310,11 @@ SELECT `varchar_nokey` G1 FROM CC WHERE `int_nokey` AND `int_key` <= 4
|
|||
HAVING G1 ORDER BY `varchar_key` LIMIT 6 ;
|
||||
G1
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'z'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'q'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'm'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'j'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'z'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'q'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'm'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'j'
|
||||
DROP TABLE CC;
|
||||
# End of test#45227
|
||||
#
|
||||
|
|
|
@ -5322,11 +5322,11 @@ SELECT `varchar_nokey` G1 FROM CC WHERE `int_nokey` AND `int_key` <= 4
|
|||
HAVING G1 ORDER BY `varchar_key` LIMIT 6 ;
|
||||
G1
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'j'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'z'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'q'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'm'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'j'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'z'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'q'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'm'
|
||||
DROP TABLE CC;
|
||||
# End of test#45227
|
||||
#
|
||||
|
|
|
@ -5310,11 +5310,11 @@ SELECT `varchar_nokey` G1 FROM CC WHERE `int_nokey` AND `int_key` <= 4
|
|||
HAVING G1 ORDER BY `varchar_key` LIMIT 6 ;
|
||||
G1
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'z'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'q'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'm'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'j'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'z'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'q'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'm'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'j'
|
||||
DROP TABLE CC;
|
||||
# End of test#45227
|
||||
#
|
||||
|
|
|
@ -1649,7 +1649,7 @@ WHERE ( alias2.f1 , alias2.f2 ) IN ( SELECT max(f2) , f1 FROM t0 GROUP BY f2 , f
|
|||
f1 f2
|
||||
8 8
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'u'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'u'
|
||||
EXPLAIN
|
||||
SELECT * FROM t2 WHERE (f1b, f2b) IN (SELECT max(f1a), f2a FROM t1 GROUP BY f1a, f2a);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
|
@ -1683,7 +1683,7 @@ WHERE ( alias2.f1 , alias2.f2 ) IN ( SELECT max(f2) , f1 FROM t0 GROUP BY f2 , f
|
|||
f1 f2
|
||||
8 8
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'u'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'u'
|
||||
EXPLAIN
|
||||
SELECT * FROM t2 WHERE (f1b, f2b) IN (SELECT max(f1a), f2a FROM t1 GROUP BY f1a, f2a);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
|
@ -1875,8 +1875,8 @@ WHERE SUBQUERY2_t2.col_varchar_nokey IN
|
|||
(SELECT col_varchar_nokey FROM t1 GROUP BY col_varchar_nokey));
|
||||
col_int_key
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'v'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'r'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'v'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'r'
|
||||
set @@optimizer_switch='subquery_cache=off,materialization=off,in_to_exists=on,semijoin=off';
|
||||
EXPLAIN
|
||||
SELECT col_int_key
|
||||
|
@ -1902,8 +1902,8 @@ WHERE SUBQUERY2_t2.col_varchar_nokey IN
|
|||
(SELECT col_varchar_nokey FROM t1 GROUP BY col_varchar_nokey));
|
||||
col_int_key
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'v'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'r'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'v'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'r'
|
||||
drop table t1, t2;
|
||||
set @@optimizer_switch = @old_optimizer_switch;
|
||||
#
|
||||
|
|
|
@ -2972,70 +2972,70 @@ WHERE table1 .`col_varchar_key` ) field10
|
|||
1 NULL w
|
||||
1 NULL y
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
SET @@optimizer_switch='subquery_cache=on';
|
||||
/* cache is on */ SELECT COUNT( DISTINCT table2 .`col_int_key` ) , (
|
||||
SELECT SUBQUERY2_t1 .`col_int_key`
|
||||
|
@ -3063,32 +3063,32 @@ WHERE table1 .`col_varchar_key` ) field10
|
|||
1 NULL w
|
||||
1 NULL y
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'a'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'b'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'c'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'd'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'e'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'f'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'g'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'h'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'i'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'j'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'k'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'l'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'm'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'n'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'o'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'p'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'q'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'r'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 's'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 't'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'u'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'v'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'w'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'x'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'y'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'z'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'a'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'b'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'c'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'd'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'e'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'f'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'g'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'h'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'i'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'j'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'k'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'l'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'm'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'n'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'o'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'p'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'q'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'r'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 's'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 't'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'u'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'v'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'w'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'x'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'y'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'z'
|
||||
drop table t1,t2,t3,t4;
|
||||
set @@optimizer_switch= default;
|
||||
#launchpad BUG#609045
|
||||
|
@ -3513,9 +3513,9 @@ WHERE table1 .`col_varchar_key` ) field10
|
|||
1 NULL d
|
||||
1 NULL f
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'f'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'f'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'f'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'f'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'f'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'f'
|
||||
SET @@optimizer_switch = 'subquery_cache=on';
|
||||
/* cache is on */ SELECT COUNT( DISTINCT table2 .`col_int_key` ) , (
|
||||
SELECT SUBQUERY2_t1 .`col_int_key`
|
||||
|
@ -3530,9 +3530,9 @@ WHERE table1 .`col_varchar_key` ) field10
|
|||
1 NULL d
|
||||
1 NULL f
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'f'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'f'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'f'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'f'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'f'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'f'
|
||||
drop table t1,t2,t3,t4;
|
||||
set @@optimizer_switch= default;
|
||||
#launchpad BUG#611625
|
||||
|
|
|
@ -100,7 +100,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
|||
2 DEPENDENT SUBQUERY t2 ref c3 c3 4 test.t1b.c4 1 100.00 Using index
|
||||
Warnings:
|
||||
Note 1276 Field or reference 'test.t1.pk' of SELECT #2 was resolved in SELECT #1
|
||||
Note 1003 /* select#1 */ select `test`.`t1`.`pk` AS `pk` from `test`.`t1` where <expr_cache><`test`.`t1`.`c1`,`test`.`t1`.`pk`>(<in_optimizer>(`test`.`t1`.`c1`,<exists>(/* select#2 */ select `test`.`t1a`.`c1` from `test`.`t1b` join `test`.`t2` left join `test`.`t1a` on(`test`.`t1a`.`c2` = `test`.`t1b`.`pk` and 2) where `test`.`t2`.`c3` = `test`.`t1b`.`c4` and `test`.`t1`.`pk` <> 0 and <cache>(`test`.`t1`.`c1`) = `test`.`t1a`.`c1`)))
|
||||
Note 1003 /* select#1 */ select `test`.`t1`.`pk` AS `pk` from `test`.`t1` where <expr_cache><`test`.`t1`.`c1`,`test`.`t1`.`pk`>(<in_optimizer>(`test`.`t1`.`c1`,<exists>(/* select#2 */ select `test`.`t1a`.`c1` from `test`.`t1b` join `test`.`t2` left join `test`.`t1a` on(`test`.`t1a`.`c2` = `test`.`t1b`.`pk` and 2) where `test`.`t2`.`c3` = `test`.`t1b`.`c4` and `test`.`t1`.`pk` is true and <cache>(`test`.`t1`.`c1`) = `test`.`t1a`.`c1`)))
|
||||
SELECT pk
|
||||
FROM t1
|
||||
WHERE c1 IN
|
||||
|
|
|
@ -183,7 +183,7 @@ INSERT INTO t1 VALUES ('2024-02-29');
|
|||
SELECT * FROM t1 WHERE SUBSTR(1 FROM BIT_LENGTH(f) FOR DEFAULT(f));
|
||||
f
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 10.4 tests
|
||||
|
|
|
@ -3810,7 +3810,7 @@ CREATE TABLE t1 (c INT);
|
|||
CREATE VIEW v1 (view_column) AS SELECT c AS alias FROM t1 HAVING alias;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`c` AS `view_column` from `t1` having `view_column` <> 0 latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`c` AS `view_column` from `t1` having `view_column` is true latin1 latin1_swedish_ci
|
||||
SELECT * FROM v1;
|
||||
view_column
|
||||
|
||||
|
|
|
@ -3546,20 +3546,28 @@ GROUP BY LEFT('2018-08-24', 100) WITH ROLLUP
|
|||
HAVING @A := 'qwerty';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible HAVING
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'qwerty'
|
||||
SELECT DISTINCT BIT_OR(100) OVER () FROM dual
|
||||
GROUP BY LEFT('2018-08-24', 100) WITH ROLLUP
|
||||
HAVING @A := 'qwerty';
|
||||
BIT_OR(100) OVER ()
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'qwerty'
|
||||
explain
|
||||
SELECT DISTINCT BIT_OR(100) OVER () FROM dual
|
||||
GROUP BY LEFT('2018-08-24', 100)
|
||||
HAVING @A := 'qwerty';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible HAVING
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'qwerty'
|
||||
SELECT DISTINCT BIT_OR(100) OVER () FROM dual
|
||||
GROUP BY LEFT('2018-08-24', 100)
|
||||
HAVING @A := 'qwerty';
|
||||
BIT_OR(100) OVER ()
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'qwerty'
|
||||
create table t1 (a int);
|
||||
explain
|
||||
SELECT DISTINCT BIT_OR(100) OVER () FROM t1
|
||||
|
|
|
@ -441,18 +441,18 @@ SELECT table1 .`col_varchar_key`
|
|||
FROM t1 table1 STRAIGHT_JOIN ( t1 table3 JOIN t1 table4 ON table4 .`pk` = table3 .`col_int_nokey` ) ON table4 .`col_varchar_nokey` ;
|
||||
col_varchar_key
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'r'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'r'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'r'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'r'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'r'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'r'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'c'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'c'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'c'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'c'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'c'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'c'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'r'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'r'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'r'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'r'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'r'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'r'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'c'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'c'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'c'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'c'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'c'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'c'
|
||||
DROP TABLE t1;
|
||||
set join_cache_level=@save_join_cache_level;
|
||||
set optimizer_switch=@save_optimizer_switch;
|
||||
|
|
|
@ -3552,20 +3552,28 @@ GROUP BY LEFT('2018-08-24', 100) WITH ROLLUP
|
|||
HAVING @A := 'qwerty';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible HAVING
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'qwerty'
|
||||
SELECT DISTINCT BIT_OR(100) OVER () FROM dual
|
||||
GROUP BY LEFT('2018-08-24', 100) WITH ROLLUP
|
||||
HAVING @A := 'qwerty';
|
||||
BIT_OR(100) OVER ()
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'qwerty'
|
||||
explain
|
||||
SELECT DISTINCT BIT_OR(100) OVER () FROM dual
|
||||
GROUP BY LEFT('2018-08-24', 100)
|
||||
HAVING @A := 'qwerty';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible HAVING
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'qwerty'
|
||||
SELECT DISTINCT BIT_OR(100) OVER () FROM dual
|
||||
GROUP BY LEFT('2018-08-24', 100)
|
||||
HAVING @A := 'qwerty';
|
||||
BIT_OR(100) OVER ()
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'qwerty'
|
||||
create table t1 (a int);
|
||||
explain
|
||||
SELECT DISTINCT BIT_OR(100) OVER () FROM t1
|
||||
|
|
|
@ -2099,9 +2099,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varbinary_1000`,'IS TRUE','IS NOT TRUE') AS `IF(my_varbinary_1000, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -2115,9 +2115,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
@ -2133,10 +2133,10 @@ IS NOT TRUE <--------30 characters-------> 3
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_binary_30`,'IS TRUE','IS NOT TRUE') AS `IF(my_binary_30, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -2150,10 +2150,10 @@ IS NOT TRUE <--------30 characters-------> 3
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
@ -2169,9 +2169,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---äÖüß@µ*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varchar_1000`,'IS TRUE','IS NOT TRUE') AS `IF(my_varchar_1000, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -2185,9 +2185,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---äÖüß@µ*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
@ -2203,9 +2203,9 @@ IS NOT TRUE <--------30 characters-------> 3
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$--'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---äÖüß@µ*$--'
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_char_30`,'IS TRUE','IS NOT TRUE') AS `IF(my_char_30, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -2219,9 +2219,9 @@ IS NOT TRUE <--------30 characters-------> 3
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$--'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---äÖüß@µ*$--'
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
|
|
@ -2100,9 +2100,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varbinary_1000`,'IS TRUE','IS NOT TRUE') AS `IF(my_varbinary_1000, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -2116,9 +2116,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
@ -2134,10 +2134,10 @@ IS NOT TRUE <--------30 characters-------> 3
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_binary_30`,'IS TRUE','IS NOT TRUE') AS `IF(my_binary_30, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -2151,10 +2151,10 @@ IS NOT TRUE <--------30 characters-------> 3
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
@ -2170,9 +2170,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---äÖüß@µ*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varchar_1000`,'IS TRUE','IS NOT TRUE') AS `IF(my_varchar_1000, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -2186,9 +2186,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---äÖüß@µ*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
@ -2204,9 +2204,9 @@ IS NOT TRUE <--------30 characters-------> 3
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$--'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---äÖüß@µ*$--'
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_char_30`,'IS TRUE','IS NOT TRUE') AS `IF(my_char_30, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -2220,9 +2220,9 @@ IS NOT TRUE <--------30 characters-------> 3
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$--'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---äÖüß@µ*$--'
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
|
|
@ -2100,9 +2100,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varbinary_1000`,'IS TRUE','IS NOT TRUE') AS `IF(my_varbinary_1000, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -2116,9 +2116,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
@ -2134,10 +2134,10 @@ IS NOT TRUE <--------30 characters-------> 3
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_binary_30`,'IS TRUE','IS NOT TRUE') AS `IF(my_binary_30, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -2151,10 +2151,10 @@ IS NOT TRUE <--------30 characters-------> 3
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '-1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
@ -2170,9 +2170,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---äÖüß@µ*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_varchar_1000`,'IS TRUE','IS NOT TRUE') AS `IF(my_varchar_1000, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -2186,9 +2186,9 @@ IS NOT TRUE <---------1000 characters-------------------------------------------
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---äÖüß@µ*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
@ -2204,9 +2204,9 @@ IS NOT TRUE <--------30 characters-------> 3
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$--'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---äÖüß@µ*$--'
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select if(`t1_values`.`my_char_30`,'IS TRUE','IS NOT TRUE') AS `IF(my_char_30, 'IS TRUE', 'IS NOT TRUE')`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
|
@ -2220,9 +2220,9 @@ IS NOT TRUE <--------30 characters-------> 3
|
|||
IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$--'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ''
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: '<--------30 characters------->'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: ' ---äÖüß@µ*$--'
|
||||
DROP VIEW v1;
|
||||
|
||||
|
||||
|
|
|
@ -326,10 +326,10 @@ SELECT table2 .`col_datetime_key`
|
|||
FROM t2 JOIN ( t1 table2 JOIN t2 table3 ON table3 .`col_varchar_key` < table2 .`col_varchar_key` ) ON table3 .`col_varchar_nokey` ;
|
||||
col_datetime_key
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'd'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'd'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'd'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: 'd'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'd'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'd'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'd'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'd'
|
||||
drop table t1, t2;
|
||||
set join_cache_level=@save_join_cache_level;
|
||||
CREATE TABLE t1(
|
||||
|
|
|
@ -1911,9 +1911,9 @@ a b
|
|||
foo 0.0.0.0
|
||||
bar 1.0.0.1
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'foo'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'foo'
|
||||
Warning 1292 Incorrect inet4 value: 'foo'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'bar'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'bar'
|
||||
Warning 1292 Incorrect inet4 value: 'bar'
|
||||
DROP TABLE t1;
|
||||
CREATE OR REPLACE TABLE t1 (a VARCHAR(8) NOT NULL);
|
||||
|
@ -2029,3 +2029,256 @@ DROP TABLE t1;
|
|||
#
|
||||
# End of 10.10 tests
|
||||
#
|
||||
# Start of 11.8 tests
|
||||
#
|
||||
# MDEV-34189 Unexpected error on `WHERE inet6col`
|
||||
#
|
||||
CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, a INET4, KEY(a));
|
||||
INSERT INTO t1 VALUES (-1,NULL);
|
||||
INSERT INTO t1 SELECT seq,CONCAT('0.0.0.',seq) FROM seq_0_to_31;
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is true
|
||||
SELECT id, a FROM t1 WHERE a;
|
||||
id a
|
||||
1 0.0.0.1
|
||||
2 0.0.0.2
|
||||
3 0.0.0.3
|
||||
4 0.0.0.4
|
||||
5 0.0.0.5
|
||||
6 0.0.0.6
|
||||
7 0.0.0.7
|
||||
8 0.0.0.8
|
||||
9 0.0.0.9
|
||||
10 0.0.0.10
|
||||
11 0.0.0.11
|
||||
12 0.0.0.12
|
||||
13 0.0.0.13
|
||||
14 0.0.0.14
|
||||
15 0.0.0.15
|
||||
16 0.0.0.16
|
||||
17 0.0.0.17
|
||||
18 0.0.0.18
|
||||
19 0.0.0.19
|
||||
20 0.0.0.20
|
||||
21 0.0.0.21
|
||||
22 0.0.0.22
|
||||
23 0.0.0.23
|
||||
24 0.0.0.24
|
||||
25 0.0.0.25
|
||||
26 0.0.0.26
|
||||
27 0.0.0.27
|
||||
28 0.0.0.28
|
||||
29 0.0.0.29
|
||||
30 0.0.0.30
|
||||
31 0.0.0.31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 1 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is false
|
||||
SELECT id, a FROM t1 WHERE NOT a;
|
||||
id a
|
||||
0 0.0.0.0
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is true
|
||||
SELECT id, a FROM t1 WHERE a IS TRUE;
|
||||
id a
|
||||
1 0.0.0.1
|
||||
2 0.0.0.2
|
||||
3 0.0.0.3
|
||||
4 0.0.0.4
|
||||
5 0.0.0.5
|
||||
6 0.0.0.6
|
||||
7 0.0.0.7
|
||||
8 0.0.0.8
|
||||
9 0.0.0.9
|
||||
10 0.0.0.10
|
||||
11 0.0.0.11
|
||||
12 0.0.0.12
|
||||
13 0.0.0.13
|
||||
14 0.0.0.14
|
||||
15 0.0.0.15
|
||||
16 0.0.0.16
|
||||
17 0.0.0.17
|
||||
18 0.0.0.18
|
||||
19 0.0.0.19
|
||||
20 0.0.0.20
|
||||
21 0.0.0.21
|
||||
22 0.0.0.22
|
||||
23 0.0.0.23
|
||||
24 0.0.0.24
|
||||
25 0.0.0.25
|
||||
26 0.0.0.26
|
||||
27 0.0.0.27
|
||||
28 0.0.0.28
|
||||
29 0.0.0.29
|
||||
30 0.0.0.30
|
||||
31 0.0.0.31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 2 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not true
|
||||
SELECT id, a FROM t1 WHERE NOT a IS TRUE;
|
||||
id a
|
||||
-1 NULL
|
||||
0 0.0.0.0
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS NOT TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 2 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not true
|
||||
SELECT id, a FROM t1 WHERE a IS NOT TRUE;
|
||||
id a
|
||||
-1 NULL
|
||||
0 0.0.0.0
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is true
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT TRUE;
|
||||
id a
|
||||
1 0.0.0.1
|
||||
2 0.0.0.2
|
||||
3 0.0.0.3
|
||||
4 0.0.0.4
|
||||
5 0.0.0.5
|
||||
6 0.0.0.6
|
||||
7 0.0.0.7
|
||||
8 0.0.0.8
|
||||
9 0.0.0.9
|
||||
10 0.0.0.10
|
||||
11 0.0.0.11
|
||||
12 0.0.0.12
|
||||
13 0.0.0.13
|
||||
14 0.0.0.14
|
||||
15 0.0.0.15
|
||||
16 0.0.0.16
|
||||
17 0.0.0.17
|
||||
18 0.0.0.18
|
||||
19 0.0.0.19
|
||||
20 0.0.0.20
|
||||
21 0.0.0.21
|
||||
22 0.0.0.22
|
||||
23 0.0.0.23
|
||||
24 0.0.0.24
|
||||
25 0.0.0.25
|
||||
26 0.0.0.26
|
||||
27 0.0.0.27
|
||||
28 0.0.0.28
|
||||
29 0.0.0.29
|
||||
30 0.0.0.30
|
||||
31 0.0.0.31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 1 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is false
|
||||
SELECT id, a FROM t1 WHERE a IS FALSE;
|
||||
id a
|
||||
0 0.0.0.0
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not false
|
||||
SELECT id, a FROM t1 WHERE NOT a IS FALSE;
|
||||
id a
|
||||
-1 NULL
|
||||
1 0.0.0.1
|
||||
2 0.0.0.2
|
||||
3 0.0.0.3
|
||||
4 0.0.0.4
|
||||
5 0.0.0.5
|
||||
6 0.0.0.6
|
||||
7 0.0.0.7
|
||||
8 0.0.0.8
|
||||
9 0.0.0.9
|
||||
10 0.0.0.10
|
||||
11 0.0.0.11
|
||||
12 0.0.0.12
|
||||
13 0.0.0.13
|
||||
14 0.0.0.14
|
||||
15 0.0.0.15
|
||||
16 0.0.0.16
|
||||
17 0.0.0.17
|
||||
18 0.0.0.18
|
||||
19 0.0.0.19
|
||||
20 0.0.0.20
|
||||
21 0.0.0.21
|
||||
22 0.0.0.22
|
||||
23 0.0.0.23
|
||||
24 0.0.0.24
|
||||
25 0.0.0.25
|
||||
26 0.0.0.26
|
||||
27 0.0.0.27
|
||||
28 0.0.0.28
|
||||
29 0.0.0.29
|
||||
30 0.0.0.30
|
||||
31 0.0.0.31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS NOT FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not false
|
||||
SELECT id, a FROM t1 WHERE a IS NOT FALSE;
|
||||
id a
|
||||
-1 NULL
|
||||
1 0.0.0.1
|
||||
2 0.0.0.2
|
||||
3 0.0.0.3
|
||||
4 0.0.0.4
|
||||
5 0.0.0.5
|
||||
6 0.0.0.6
|
||||
7 0.0.0.7
|
||||
8 0.0.0.8
|
||||
9 0.0.0.9
|
||||
10 0.0.0.10
|
||||
11 0.0.0.11
|
||||
12 0.0.0.12
|
||||
13 0.0.0.13
|
||||
14 0.0.0.14
|
||||
15 0.0.0.15
|
||||
16 0.0.0.16
|
||||
17 0.0.0.17
|
||||
18 0.0.0.18
|
||||
19 0.0.0.19
|
||||
20 0.0.0.20
|
||||
21 0.0.0.21
|
||||
22 0.0.0.22
|
||||
23 0.0.0.23
|
||||
24 0.0.0.24
|
||||
25 0.0.0.25
|
||||
26 0.0.0.26
|
||||
27 0.0.0.27
|
||||
28 0.0.0.28
|
||||
29 0.0.0.29
|
||||
30 0.0.0.30
|
||||
31 0.0.0.31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 1 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is false
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT FALSE;
|
||||
id a
|
||||
0 0.0.0.0
|
||||
DROP TABLE t1;
|
||||
# End of 11.8 tests
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
--source include/have_sequence.inc
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.10 tests
|
||||
--echo #
|
||||
|
@ -1479,3 +1481,17 @@ DROP TABLE t1;
|
|||
--echo #
|
||||
--echo # End of 10.10 tests
|
||||
--echo #
|
||||
|
||||
--echo # Start of 11.8 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-34189 Unexpected error on `WHERE inet6col`
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, a INET4, KEY(a));
|
||||
INSERT INTO t1 VALUES (-1,NULL);
|
||||
INSERT INTO t1 SELECT seq,CONCAT('0.0.0.',seq) FROM seq_0_to_31;
|
||||
--source include/boolean_factor.inc
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of 11.8 tests
|
||||
|
|
|
@ -868,7 +868,12 @@ DROP TABLE t1;
|
|||
CREATE TABLE t1 (a INET6);
|
||||
INSERT INTO t1 VALUES ('::'),('::1'),('::2');
|
||||
SELECT * FROM t1 WHERE a;
|
||||
ERROR HY000: Illegal parameter data types inet6 and bigint for operation '<>'
|
||||
a
|
||||
::1
|
||||
::2
|
||||
SELECT * FROM t1 WHERE NOT a;
|
||||
a
|
||||
::
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# GROUP BY
|
||||
|
@ -2091,9 +2096,9 @@ a b
|
|||
foo ::
|
||||
bar 1::1
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'foo'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'foo'
|
||||
Warning 1292 Incorrect inet6 value: 'foo'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'bar'
|
||||
Warning 1292 Truncated incorrect BOOLEAN value: 'bar'
|
||||
Warning 1292 Incorrect inet6 value: 'bar'
|
||||
DROP TABLE t1;
|
||||
CREATE OR REPLACE TABLE t1 (a VARCHAR(8) NOT NULL);
|
||||
|
@ -2419,3 +2424,256 @@ f::f
|
|||
DROP TABLE t1;
|
||||
SET max_sort_length=DEFAULT;
|
||||
# End of 10.8 tests
|
||||
# Start of 11.8 tests
|
||||
#
|
||||
# MDEV-34189 Unexpected error on `WHERE inet6col`
|
||||
#
|
||||
CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, a INET6, KEY(a));
|
||||
INSERT INTO t1 VALUES (-1,NULL);
|
||||
INSERT INTO t1 SELECT seq,CONCAT('::',seq) FROM seq_0_to_31;
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is true
|
||||
SELECT id, a FROM t1 WHERE a;
|
||||
id a
|
||||
1 ::1
|
||||
2 ::2
|
||||
3 ::3
|
||||
4 ::4
|
||||
5 ::5
|
||||
6 ::6
|
||||
7 ::7
|
||||
8 ::8
|
||||
9 ::9
|
||||
10 ::10
|
||||
11 ::11
|
||||
12 ::12
|
||||
13 ::13
|
||||
14 ::14
|
||||
15 ::15
|
||||
16 ::16
|
||||
17 ::17
|
||||
18 ::18
|
||||
19 ::19
|
||||
20 ::20
|
||||
21 ::21
|
||||
22 ::22
|
||||
23 ::23
|
||||
24 ::24
|
||||
25 ::25
|
||||
26 ::26
|
||||
27 ::27
|
||||
28 ::28
|
||||
29 ::29
|
||||
30 ::30
|
||||
31 ::31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 17 NULL 1 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is false
|
||||
SELECT id, a FROM t1 WHERE NOT a;
|
||||
id a
|
||||
0 ::
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is true
|
||||
SELECT id, a FROM t1 WHERE a IS TRUE;
|
||||
id a
|
||||
1 ::1
|
||||
2 ::2
|
||||
3 ::3
|
||||
4 ::4
|
||||
5 ::5
|
||||
6 ::6
|
||||
7 ::7
|
||||
8 ::8
|
||||
9 ::9
|
||||
10 ::10
|
||||
11 ::11
|
||||
12 ::12
|
||||
13 ::13
|
||||
14 ::14
|
||||
15 ::15
|
||||
16 ::16
|
||||
17 ::17
|
||||
18 ::18
|
||||
19 ::19
|
||||
20 ::20
|
||||
21 ::21
|
||||
22 ::22
|
||||
23 ::23
|
||||
24 ::24
|
||||
25 ::25
|
||||
26 ::26
|
||||
27 ::27
|
||||
28 ::28
|
||||
29 ::29
|
||||
30 ::30
|
||||
31 ::31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 17 NULL 2 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not true
|
||||
SELECT id, a FROM t1 WHERE NOT a IS TRUE;
|
||||
id a
|
||||
-1 NULL
|
||||
0 ::
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS NOT TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 17 NULL 2 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not true
|
||||
SELECT id, a FROM t1 WHERE a IS NOT TRUE;
|
||||
id a
|
||||
-1 NULL
|
||||
0 ::
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is true
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT TRUE;
|
||||
id a
|
||||
1 ::1
|
||||
2 ::2
|
||||
3 ::3
|
||||
4 ::4
|
||||
5 ::5
|
||||
6 ::6
|
||||
7 ::7
|
||||
8 ::8
|
||||
9 ::9
|
||||
10 ::10
|
||||
11 ::11
|
||||
12 ::12
|
||||
13 ::13
|
||||
14 ::14
|
||||
15 ::15
|
||||
16 ::16
|
||||
17 ::17
|
||||
18 ::18
|
||||
19 ::19
|
||||
20 ::20
|
||||
21 ::21
|
||||
22 ::22
|
||||
23 ::23
|
||||
24 ::24
|
||||
25 ::25
|
||||
26 ::26
|
||||
27 ::27
|
||||
28 ::28
|
||||
29 ::29
|
||||
30 ::30
|
||||
31 ::31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 17 NULL 1 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is false
|
||||
SELECT id, a FROM t1 WHERE a IS FALSE;
|
||||
id a
|
||||
0 ::
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not false
|
||||
SELECT id, a FROM t1 WHERE NOT a IS FALSE;
|
||||
id a
|
||||
-1 NULL
|
||||
1 ::1
|
||||
2 ::2
|
||||
3 ::3
|
||||
4 ::4
|
||||
5 ::5
|
||||
6 ::6
|
||||
7 ::7
|
||||
8 ::8
|
||||
9 ::9
|
||||
10 ::10
|
||||
11 ::11
|
||||
12 ::12
|
||||
13 ::13
|
||||
14 ::14
|
||||
15 ::15
|
||||
16 ::16
|
||||
17 ::17
|
||||
18 ::18
|
||||
19 ::19
|
||||
20 ::20
|
||||
21 ::21
|
||||
22 ::22
|
||||
23 ::23
|
||||
24 ::24
|
||||
25 ::25
|
||||
26 ::26
|
||||
27 ::27
|
||||
28 ::28
|
||||
29 ::29
|
||||
30 ::30
|
||||
31 ::31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS NOT FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not false
|
||||
SELECT id, a FROM t1 WHERE a IS NOT FALSE;
|
||||
id a
|
||||
-1 NULL
|
||||
1 ::1
|
||||
2 ::2
|
||||
3 ::3
|
||||
4 ::4
|
||||
5 ::5
|
||||
6 ::6
|
||||
7 ::7
|
||||
8 ::8
|
||||
9 ::9
|
||||
10 ::10
|
||||
11 ::11
|
||||
12 ::12
|
||||
13 ::13
|
||||
14 ::14
|
||||
15 ::15
|
||||
16 ::16
|
||||
17 ::17
|
||||
18 ::18
|
||||
19 ::19
|
||||
20 ::20
|
||||
21 ::21
|
||||
22 ::22
|
||||
23 ::23
|
||||
24 ::24
|
||||
25 ::25
|
||||
26 ::26
|
||||
27 ::27
|
||||
28 ::28
|
||||
29 ::29
|
||||
30 ::30
|
||||
31 ::31
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 17 NULL 1 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is false
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT FALSE;
|
||||
id a
|
||||
0 ::
|
||||
DROP TABLE t1;
|
||||
# End of 11.8 tests
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
--source include/have_sequence.inc
|
||||
|
||||
--echo #
|
||||
--echo # Basic CREATE functionality, defaults, metadata
|
||||
--echo #
|
||||
|
@ -488,14 +490,10 @@ INSERT INTO t1 VALUES ('::'),('::1');
|
|||
SELECT a, a IS TRUE, a IS FALSE FROM t1 ORDER BY a;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# TODO: Error looks like a bug. This should return rows where a<>'::'.
|
||||
# The same problem is repeatable with GEOMETRY.
|
||||
#
|
||||
CREATE TABLE t1 (a INET6);
|
||||
INSERT INTO t1 VALUES ('::'),('::1'),('::2');
|
||||
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||
SELECT * FROM t1 WHERE a;
|
||||
SELECT * FROM t1 WHERE NOT a;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
|
@ -1741,3 +1739,17 @@ DROP TABLE t1;
|
|||
SET max_sort_length=DEFAULT;
|
||||
|
||||
--echo # End of 10.8 tests
|
||||
|
||||
--echo # Start of 11.8 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-34189 Unexpected error on `WHERE inet6col`
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, a INET6, KEY(a));
|
||||
INSERT INTO t1 VALUES (-1,NULL);
|
||||
INSERT INTO t1 SELECT seq,CONCAT('::',seq) FROM seq_0_to_31;
|
||||
--source include/boolean_factor.inc
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of 11.8 tests
|
||||
|
|
|
@ -1983,8 +1983,13 @@ INSERT INTO t1 VALUES
|
|||
('00000000-0000-0000-0000-000000000000'),
|
||||
('00000000-0000-0000-0000-000000000001'),
|
||||
('00000000-0000-0000-0000-000000000002');
|
||||
SELECT * FROM t1 WHERE a;
|
||||
ERROR HY000: Illegal parameter data types uuid and bigint for operation '<>'
|
||||
SELECT * FROM t1 WHERE a ORDER BY a;
|
||||
a
|
||||
00000000-0000-0000-0000-000000000001
|
||||
00000000-0000-0000-0000-000000000002
|
||||
SELECT * FROM t1 WHERE NOT a;
|
||||
a
|
||||
00000000-0000-0000-0000-000000000000
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# GROUP BY
|
||||
|
@ -3214,3 +3219,258 @@ Warnings:
|
|||
Warning 1292 Incorrect uuid value: ''
|
||||
Warning 1292 Incorrect uuid value: ''
|
||||
DROP TABLE t1;
|
||||
# End of 10.6 tests
|
||||
# Start of 11.8 tests
|
||||
#
|
||||
# MDEV-34189 Unexpected error on `WHERE inet6col`
|
||||
#
|
||||
CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, a UUID, KEY(a));
|
||||
INSERT INTO t1 VALUES (-1,NULL);
|
||||
INSERT INTO t1 VALUES (0,'00000000-0000-0000-0000-000000000000');
|
||||
INSERT INTO t1 SELECT seq,concat('ba2f21be-d306-11ef-ab9e-', lpad(seq,12,'0')) FROM seq_1_to_31;
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is true
|
||||
SELECT id, a FROM t1 WHERE a;
|
||||
id a
|
||||
1 ba2f21be-d306-11ef-ab9e-000000000001
|
||||
2 ba2f21be-d306-11ef-ab9e-000000000002
|
||||
3 ba2f21be-d306-11ef-ab9e-000000000003
|
||||
4 ba2f21be-d306-11ef-ab9e-000000000004
|
||||
5 ba2f21be-d306-11ef-ab9e-000000000005
|
||||
6 ba2f21be-d306-11ef-ab9e-000000000006
|
||||
7 ba2f21be-d306-11ef-ab9e-000000000007
|
||||
8 ba2f21be-d306-11ef-ab9e-000000000008
|
||||
9 ba2f21be-d306-11ef-ab9e-000000000009
|
||||
10 ba2f21be-d306-11ef-ab9e-000000000010
|
||||
11 ba2f21be-d306-11ef-ab9e-000000000011
|
||||
12 ba2f21be-d306-11ef-ab9e-000000000012
|
||||
13 ba2f21be-d306-11ef-ab9e-000000000013
|
||||
14 ba2f21be-d306-11ef-ab9e-000000000014
|
||||
15 ba2f21be-d306-11ef-ab9e-000000000015
|
||||
16 ba2f21be-d306-11ef-ab9e-000000000016
|
||||
17 ba2f21be-d306-11ef-ab9e-000000000017
|
||||
18 ba2f21be-d306-11ef-ab9e-000000000018
|
||||
19 ba2f21be-d306-11ef-ab9e-000000000019
|
||||
20 ba2f21be-d306-11ef-ab9e-000000000020
|
||||
21 ba2f21be-d306-11ef-ab9e-000000000021
|
||||
22 ba2f21be-d306-11ef-ab9e-000000000022
|
||||
23 ba2f21be-d306-11ef-ab9e-000000000023
|
||||
24 ba2f21be-d306-11ef-ab9e-000000000024
|
||||
25 ba2f21be-d306-11ef-ab9e-000000000025
|
||||
26 ba2f21be-d306-11ef-ab9e-000000000026
|
||||
27 ba2f21be-d306-11ef-ab9e-000000000027
|
||||
28 ba2f21be-d306-11ef-ab9e-000000000028
|
||||
29 ba2f21be-d306-11ef-ab9e-000000000029
|
||||
30 ba2f21be-d306-11ef-ab9e-000000000030
|
||||
31 ba2f21be-d306-11ef-ab9e-000000000031
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 17 NULL 1 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is false
|
||||
SELECT id, a FROM t1 WHERE NOT a;
|
||||
id a
|
||||
0 00000000-0000-0000-0000-000000000000
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is true
|
||||
SELECT id, a FROM t1 WHERE a IS TRUE;
|
||||
id a
|
||||
1 ba2f21be-d306-11ef-ab9e-000000000001
|
||||
2 ba2f21be-d306-11ef-ab9e-000000000002
|
||||
3 ba2f21be-d306-11ef-ab9e-000000000003
|
||||
4 ba2f21be-d306-11ef-ab9e-000000000004
|
||||
5 ba2f21be-d306-11ef-ab9e-000000000005
|
||||
6 ba2f21be-d306-11ef-ab9e-000000000006
|
||||
7 ba2f21be-d306-11ef-ab9e-000000000007
|
||||
8 ba2f21be-d306-11ef-ab9e-000000000008
|
||||
9 ba2f21be-d306-11ef-ab9e-000000000009
|
||||
10 ba2f21be-d306-11ef-ab9e-000000000010
|
||||
11 ba2f21be-d306-11ef-ab9e-000000000011
|
||||
12 ba2f21be-d306-11ef-ab9e-000000000012
|
||||
13 ba2f21be-d306-11ef-ab9e-000000000013
|
||||
14 ba2f21be-d306-11ef-ab9e-000000000014
|
||||
15 ba2f21be-d306-11ef-ab9e-000000000015
|
||||
16 ba2f21be-d306-11ef-ab9e-000000000016
|
||||
17 ba2f21be-d306-11ef-ab9e-000000000017
|
||||
18 ba2f21be-d306-11ef-ab9e-000000000018
|
||||
19 ba2f21be-d306-11ef-ab9e-000000000019
|
||||
20 ba2f21be-d306-11ef-ab9e-000000000020
|
||||
21 ba2f21be-d306-11ef-ab9e-000000000021
|
||||
22 ba2f21be-d306-11ef-ab9e-000000000022
|
||||
23 ba2f21be-d306-11ef-ab9e-000000000023
|
||||
24 ba2f21be-d306-11ef-ab9e-000000000024
|
||||
25 ba2f21be-d306-11ef-ab9e-000000000025
|
||||
26 ba2f21be-d306-11ef-ab9e-000000000026
|
||||
27 ba2f21be-d306-11ef-ab9e-000000000027
|
||||
28 ba2f21be-d306-11ef-ab9e-000000000028
|
||||
29 ba2f21be-d306-11ef-ab9e-000000000029
|
||||
30 ba2f21be-d306-11ef-ab9e-000000000030
|
||||
31 ba2f21be-d306-11ef-ab9e-000000000031
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 17 NULL 2 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not true
|
||||
SELECT id, a FROM t1 WHERE NOT a IS TRUE;
|
||||
id a
|
||||
-1 NULL
|
||||
0 00000000-0000-0000-0000-000000000000
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS NOT TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 17 NULL 2 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not true
|
||||
SELECT id, a FROM t1 WHERE a IS NOT TRUE;
|
||||
id a
|
||||
-1 NULL
|
||||
0 00000000-0000-0000-0000-000000000000
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT TRUE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is true
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT TRUE;
|
||||
id a
|
||||
1 ba2f21be-d306-11ef-ab9e-000000000001
|
||||
2 ba2f21be-d306-11ef-ab9e-000000000002
|
||||
3 ba2f21be-d306-11ef-ab9e-000000000003
|
||||
4 ba2f21be-d306-11ef-ab9e-000000000004
|
||||
5 ba2f21be-d306-11ef-ab9e-000000000005
|
||||
6 ba2f21be-d306-11ef-ab9e-000000000006
|
||||
7 ba2f21be-d306-11ef-ab9e-000000000007
|
||||
8 ba2f21be-d306-11ef-ab9e-000000000008
|
||||
9 ba2f21be-d306-11ef-ab9e-000000000009
|
||||
10 ba2f21be-d306-11ef-ab9e-000000000010
|
||||
11 ba2f21be-d306-11ef-ab9e-000000000011
|
||||
12 ba2f21be-d306-11ef-ab9e-000000000012
|
||||
13 ba2f21be-d306-11ef-ab9e-000000000013
|
||||
14 ba2f21be-d306-11ef-ab9e-000000000014
|
||||
15 ba2f21be-d306-11ef-ab9e-000000000015
|
||||
16 ba2f21be-d306-11ef-ab9e-000000000016
|
||||
17 ba2f21be-d306-11ef-ab9e-000000000017
|
||||
18 ba2f21be-d306-11ef-ab9e-000000000018
|
||||
19 ba2f21be-d306-11ef-ab9e-000000000019
|
||||
20 ba2f21be-d306-11ef-ab9e-000000000020
|
||||
21 ba2f21be-d306-11ef-ab9e-000000000021
|
||||
22 ba2f21be-d306-11ef-ab9e-000000000022
|
||||
23 ba2f21be-d306-11ef-ab9e-000000000023
|
||||
24 ba2f21be-d306-11ef-ab9e-000000000024
|
||||
25 ba2f21be-d306-11ef-ab9e-000000000025
|
||||
26 ba2f21be-d306-11ef-ab9e-000000000026
|
||||
27 ba2f21be-d306-11ef-ab9e-000000000027
|
||||
28 ba2f21be-d306-11ef-ab9e-000000000028
|
||||
29 ba2f21be-d306-11ef-ab9e-000000000029
|
||||
30 ba2f21be-d306-11ef-ab9e-000000000030
|
||||
31 ba2f21be-d306-11ef-ab9e-000000000031
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 17 NULL 1 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is false
|
||||
SELECT id, a FROM t1 WHERE a IS FALSE;
|
||||
id a
|
||||
0 00000000-0000-0000-0000-000000000000
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not false
|
||||
SELECT id, a FROM t1 WHERE NOT a IS FALSE;
|
||||
id a
|
||||
-1 NULL
|
||||
1 ba2f21be-d306-11ef-ab9e-000000000001
|
||||
2 ba2f21be-d306-11ef-ab9e-000000000002
|
||||
3 ba2f21be-d306-11ef-ab9e-000000000003
|
||||
4 ba2f21be-d306-11ef-ab9e-000000000004
|
||||
5 ba2f21be-d306-11ef-ab9e-000000000005
|
||||
6 ba2f21be-d306-11ef-ab9e-000000000006
|
||||
7 ba2f21be-d306-11ef-ab9e-000000000007
|
||||
8 ba2f21be-d306-11ef-ab9e-000000000008
|
||||
9 ba2f21be-d306-11ef-ab9e-000000000009
|
||||
10 ba2f21be-d306-11ef-ab9e-000000000010
|
||||
11 ba2f21be-d306-11ef-ab9e-000000000011
|
||||
12 ba2f21be-d306-11ef-ab9e-000000000012
|
||||
13 ba2f21be-d306-11ef-ab9e-000000000013
|
||||
14 ba2f21be-d306-11ef-ab9e-000000000014
|
||||
15 ba2f21be-d306-11ef-ab9e-000000000015
|
||||
16 ba2f21be-d306-11ef-ab9e-000000000016
|
||||
17 ba2f21be-d306-11ef-ab9e-000000000017
|
||||
18 ba2f21be-d306-11ef-ab9e-000000000018
|
||||
19 ba2f21be-d306-11ef-ab9e-000000000019
|
||||
20 ba2f21be-d306-11ef-ab9e-000000000020
|
||||
21 ba2f21be-d306-11ef-ab9e-000000000021
|
||||
22 ba2f21be-d306-11ef-ab9e-000000000022
|
||||
23 ba2f21be-d306-11ef-ab9e-000000000023
|
||||
24 ba2f21be-d306-11ef-ab9e-000000000024
|
||||
25 ba2f21be-d306-11ef-ab9e-000000000025
|
||||
26 ba2f21be-d306-11ef-ab9e-000000000026
|
||||
27 ba2f21be-d306-11ef-ab9e-000000000027
|
||||
28 ba2f21be-d306-11ef-ab9e-000000000028
|
||||
29 ba2f21be-d306-11ef-ab9e-000000000029
|
||||
30 ba2f21be-d306-11ef-ab9e-000000000030
|
||||
31 ba2f21be-d306-11ef-ab9e-000000000031
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE a IS NOT FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL a NULL NULL NULL 33 96.97 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is not false
|
||||
SELECT id, a FROM t1 WHERE a IS NOT FALSE;
|
||||
id a
|
||||
-1 NULL
|
||||
1 ba2f21be-d306-11ef-ab9e-000000000001
|
||||
2 ba2f21be-d306-11ef-ab9e-000000000002
|
||||
3 ba2f21be-d306-11ef-ab9e-000000000003
|
||||
4 ba2f21be-d306-11ef-ab9e-000000000004
|
||||
5 ba2f21be-d306-11ef-ab9e-000000000005
|
||||
6 ba2f21be-d306-11ef-ab9e-000000000006
|
||||
7 ba2f21be-d306-11ef-ab9e-000000000007
|
||||
8 ba2f21be-d306-11ef-ab9e-000000000008
|
||||
9 ba2f21be-d306-11ef-ab9e-000000000009
|
||||
10 ba2f21be-d306-11ef-ab9e-000000000010
|
||||
11 ba2f21be-d306-11ef-ab9e-000000000011
|
||||
12 ba2f21be-d306-11ef-ab9e-000000000012
|
||||
13 ba2f21be-d306-11ef-ab9e-000000000013
|
||||
14 ba2f21be-d306-11ef-ab9e-000000000014
|
||||
15 ba2f21be-d306-11ef-ab9e-000000000015
|
||||
16 ba2f21be-d306-11ef-ab9e-000000000016
|
||||
17 ba2f21be-d306-11ef-ab9e-000000000017
|
||||
18 ba2f21be-d306-11ef-ab9e-000000000018
|
||||
19 ba2f21be-d306-11ef-ab9e-000000000019
|
||||
20 ba2f21be-d306-11ef-ab9e-000000000020
|
||||
21 ba2f21be-d306-11ef-ab9e-000000000021
|
||||
22 ba2f21be-d306-11ef-ab9e-000000000022
|
||||
23 ba2f21be-d306-11ef-ab9e-000000000023
|
||||
24 ba2f21be-d306-11ef-ab9e-000000000024
|
||||
25 ba2f21be-d306-11ef-ab9e-000000000025
|
||||
26 ba2f21be-d306-11ef-ab9e-000000000026
|
||||
27 ba2f21be-d306-11ef-ab9e-000000000027
|
||||
28 ba2f21be-d306-11ef-ab9e-000000000028
|
||||
29 ba2f21be-d306-11ef-ab9e-000000000029
|
||||
30 ba2f21be-d306-11ef-ab9e-000000000030
|
||||
31 ba2f21be-d306-11ef-ab9e-000000000031
|
||||
EXPLAIN EXTENDED
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range a a 17 NULL 1 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`id` AS `id`,`test`.`t1`.`a` AS `a` from `test`.`t1` where `test`.`t1`.`a` is false
|
||||
SELECT id, a FROM t1 WHERE NOT a IS NOT FALSE;
|
||||
id a
|
||||
0 00000000-0000-0000-0000-000000000000
|
||||
DROP TABLE t1;
|
||||
# End of 11.8 tests
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
--source include/have_sequence.inc
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-4958 Adding datatype UUID
|
||||
--echo #
|
||||
|
@ -585,17 +587,13 @@ INSERT INTO t1 VALUES
|
|||
SELECT a, a IS TRUE, a IS FALSE FROM t1 ORDER BY a;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# TODO: Error looks like a bug. This should return rows where a<>'00000000-0000-0000-0000-000000000000'.
|
||||
# The same problem is repeatable with GEOMETRY.
|
||||
#
|
||||
CREATE TABLE t1 (a UUID);
|
||||
INSERT INTO t1 VALUES
|
||||
('00000000-0000-0000-0000-000000000000'),
|
||||
('00000000-0000-0000-0000-000000000001'),
|
||||
('00000000-0000-0000-0000-000000000002');
|
||||
--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION
|
||||
SELECT * FROM t1 WHERE a;
|
||||
SELECT * FROM t1 WHERE a ORDER BY a;
|
||||
SELECT * FROM t1 WHERE NOT a;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
|
@ -1697,3 +1695,20 @@ INSERT INTO t1 VALUES ('00000000-0000-0000-0000-000000000000');
|
|||
SELECT * FROM t1 WHERE a IN ('','00000000-0000-0000-0000-000000000001');
|
||||
SELECT * FROM t1 WHERE a='';
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of 10.6 tests
|
||||
|
||||
--echo # Start of 11.8 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-34189 Unexpected error on `WHERE inet6col`
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, a UUID, KEY(a));
|
||||
INSERT INTO t1 VALUES (-1,NULL);
|
||||
INSERT INTO t1 VALUES (0,'00000000-0000-0000-0000-000000000000');
|
||||
INSERT INTO t1 SELECT seq,concat('ba2f21be-d306-11ef-ab9e-', lpad(seq,12,'0')) FROM seq_1_to_31;
|
||||
--source include/boolean_factor.inc
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of 11.8 tests
|
||||
|
|
39
sql/field.cc
39
sql/field.cc
|
@ -1132,6 +1132,20 @@ Field_longstr::pack_sort_string(uchar *to, const SORT_FIELD_ATTR *sort_field)
|
|||
}
|
||||
|
||||
|
||||
bool Field_longstr::val_bool()
|
||||
{
|
||||
DBUG_ASSERT(marked_for_read());
|
||||
THD *thd= get_thd();
|
||||
StringBuffer<STRING_BUFFER_USUAL_SIZE> str;
|
||||
val_str(&str, &str);
|
||||
double res= Converter_strntod_with_warn(thd, Warn_filter(thd),
|
||||
"BOOLEAN",
|
||||
charset(),
|
||||
str.ptr(), str.length()).result();
|
||||
return res != 0.0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@brief
|
||||
Determine the relative position of the field value in a numeric interval
|
||||
|
@ -7682,11 +7696,26 @@ double Field_string::val_real(void)
|
|||
const LEX_CSTRING str= to_lex_cstring();
|
||||
return Converter_strntod_with_warn(thd,
|
||||
Warn_filter_string(thd, this),
|
||||
"DOUBLE",
|
||||
Field_string::charset(),
|
||||
str.str, str.length).result();
|
||||
}
|
||||
|
||||
|
||||
bool Field_string::val_bool()
|
||||
{
|
||||
DBUG_ASSERT(marked_for_read());
|
||||
THD *thd= get_thd();
|
||||
const LEX_CSTRING str= to_lex_cstring();
|
||||
double res= Converter_strntod_with_warn(thd,
|
||||
Warn_filter_string(thd, this),
|
||||
"BOOLEAN",
|
||||
Field_string::charset(),
|
||||
str.str, str.length).result();
|
||||
return res != 0.0;
|
||||
}
|
||||
|
||||
|
||||
longlong Field_string::val_int(void)
|
||||
{
|
||||
DBUG_ASSERT(marked_for_read());
|
||||
|
@ -8090,7 +8119,7 @@ double Field_varstring::val_real(void)
|
|||
{
|
||||
DBUG_ASSERT(marked_for_read());
|
||||
THD *thd= get_thd();
|
||||
return Converter_strntod_with_warn(thd, Warn_filter(thd),
|
||||
return Converter_strntod_with_warn(thd, Warn_filter(thd), "DOUBLE",
|
||||
Field_varstring::charset(),
|
||||
(const char *) get_data(),
|
||||
get_length()).result();
|
||||
|
@ -8702,7 +8731,8 @@ double Field_varstring_compressed::val_real(void)
|
|||
THD *thd= get_thd();
|
||||
String buf;
|
||||
val_str(&buf, &buf);
|
||||
return Converter_strntod_with_warn(thd, Warn_filter(thd), field_charset(),
|
||||
return Converter_strntod_with_warn(thd, Warn_filter(thd), "DOUBLE",
|
||||
field_charset(),
|
||||
buf.ptr(), buf.length()).result();
|
||||
}
|
||||
|
||||
|
@ -8926,7 +8956,7 @@ double Field_blob::val_real(void)
|
|||
if (!blob)
|
||||
return 0.0;
|
||||
THD *thd= get_thd();
|
||||
return Converter_strntod_with_warn(thd, Warn_filter(thd),
|
||||
return Converter_strntod_with_warn(thd, Warn_filter(thd), "DOUBLE",
|
||||
Field_blob::charset(),
|
||||
blob, get_length(ptr)).result();
|
||||
}
|
||||
|
@ -9394,7 +9424,8 @@ double Field_blob_compressed::val_real(void)
|
|||
THD *thd= get_thd();
|
||||
String buf;
|
||||
val_str(&buf, &buf);
|
||||
return Converter_strntod_with_warn(thd, Warn_filter(thd), field_charset(),
|
||||
return Converter_strntod_with_warn(thd, Warn_filter(thd), "DOUBLE",
|
||||
field_charset(),
|
||||
buf.ptr(), buf.length()).result();
|
||||
}
|
||||
|
||||
|
|
12
sql/field.h
12
sql/field.h
|
@ -281,13 +281,16 @@ protected:
|
|||
// String-to-number converters with automatic warning generation
|
||||
class Converter_strntod_with_warn: public Converter_strntod
|
||||
{
|
||||
const char *m_data_type;
|
||||
public:
|
||||
Converter_strntod_with_warn(THD *thd, Warn_filter filter,
|
||||
const char *data_type,
|
||||
CHARSET_INFO *cs,
|
||||
const char *str, size_t length)
|
||||
:Converter_strntod(cs, str, length)
|
||||
:Converter_strntod(cs, str, length),
|
||||
m_data_type(data_type)
|
||||
{
|
||||
check_edom_and_truncation(thd, filter, "DOUBLE", cs, str, length);
|
||||
check_edom_and_truncation(thd, filter, m_data_type, cs, str, length);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -354,7 +357,7 @@ protected:
|
|||
double double_from_string_with_check(CHARSET_INFO *cs, const char *cptr,
|
||||
const char *end) const
|
||||
{
|
||||
return Converter_strntod_with_warn(NULL, Warn_filter_all(),
|
||||
return Converter_strntod_with_warn(NULL, Warn_filter_all(), "DOUBLE",
|
||||
cs, cptr, end - cptr).result();
|
||||
}
|
||||
my_decimal *decimal_from_string_with_check(my_decimal *decimal_value,
|
||||
|
@ -2326,7 +2329,7 @@ public:
|
|||
uint32 max_data_length() const override;
|
||||
void make_send_field(Send_field *) override;
|
||||
bool send(Protocol *protocol) override;
|
||||
|
||||
bool val_bool() override;
|
||||
bool is_varchar_and_in_write_set() const override
|
||||
{
|
||||
DBUG_ASSERT(table && table->write_set);
|
||||
|
@ -4145,6 +4148,7 @@ public:
|
|||
using Field_str::store;
|
||||
double val_real() override;
|
||||
longlong val_int() override;
|
||||
bool val_bool() override;
|
||||
String *val_str(String *, String *) override;
|
||||
my_decimal *val_decimal(my_decimal *) override;
|
||||
int cmp(const uchar *,const uchar *) const override;
|
||||
|
|
31
sql/item.cc
31
sql/item.cc
|
@ -235,6 +235,22 @@ String *Item::val_string_from_int(String *str)
|
|||
}
|
||||
|
||||
|
||||
bool Item::val_bool_from_str()
|
||||
{
|
||||
StringBuffer<STRING_BUFFER_USUAL_SIZE> buffer;
|
||||
String *str= val_str(&buffer);
|
||||
DBUG_ASSERT((str == nullptr) == null_value);
|
||||
if (!str)
|
||||
return false;
|
||||
THD *thd= current_thd;
|
||||
double res= Converter_strntod_with_warn(thd, Warn_filter_all(),
|
||||
"BOOLEAN",
|
||||
str->charset(),
|
||||
str->ptr(), str->length()).result();
|
||||
return res != 0e0;
|
||||
}
|
||||
|
||||
|
||||
longlong Item::val_int_from_str(int *error)
|
||||
{
|
||||
char buff[MAX_FIELD_WIDTH];
|
||||
|
@ -3469,6 +3485,15 @@ longlong Item_field::val_int()
|
|||
}
|
||||
|
||||
|
||||
bool Item_field::val_bool()
|
||||
{
|
||||
DBUG_ASSERT(fixed());
|
||||
if ((null_value= field->is_null()))
|
||||
return 0;
|
||||
return field->val_bool();
|
||||
}
|
||||
|
||||
|
||||
my_decimal *Item_field::val_decimal(my_decimal *decimal_value)
|
||||
{
|
||||
if ((null_value= field->is_null()))
|
||||
|
@ -9910,6 +9935,12 @@ void Item_default_value::calculate()
|
|||
DEBUG_SYNC(field->table->in_use, "after_Item_default_value_calculate");
|
||||
}
|
||||
|
||||
bool Item_default_value::val_bool()
|
||||
{
|
||||
calculate();
|
||||
return Item_field::val_bool();
|
||||
}
|
||||
|
||||
bool Item_default_value::val_native(THD *thd, Native *to)
|
||||
{
|
||||
calculate();
|
||||
|
|
|
@ -1757,6 +1757,7 @@ public:
|
|||
return Converter_double_to_longlong_with_warn(val_real(), false).result();
|
||||
}
|
||||
longlong val_int_from_str(int *error);
|
||||
bool val_bool_from_str();
|
||||
|
||||
/*
|
||||
Returns true if this item can be calculated during
|
||||
|
@ -3720,6 +3721,7 @@ public:
|
|||
bool eq(const Item *item, bool binary_cmp) const override;
|
||||
double val_real() override;
|
||||
longlong val_int() override;
|
||||
bool val_bool() override;
|
||||
my_decimal *val_decimal(my_decimal *) override;
|
||||
String *val_str(String*) override;
|
||||
void save_result(Field *to) override;
|
||||
|
@ -7011,6 +7013,7 @@ public:
|
|||
bool fix_fields(THD *, Item **) override;
|
||||
void cleanup() override;
|
||||
void print(String *str, enum_query_type query_type) override;
|
||||
bool val_bool() override;
|
||||
String *val_str(String *str) override;
|
||||
double val_real() override;
|
||||
longlong val_int() override;
|
||||
|
|
|
@ -1281,6 +1281,37 @@ bool Item_func_truth::val_bool()
|
|||
}
|
||||
|
||||
|
||||
bool Item_func_truth::count_sargable_conds(void *arg)
|
||||
{
|
||||
((SELECT_LEX*) arg)->cond_count++;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Item *Item_func_istrue::negated_item(THD *thd) const
|
||||
{
|
||||
return new (thd->mem_root) Item_func_isnottrue(thd, args[0]);
|
||||
}
|
||||
|
||||
|
||||
Item *Item_func_isnottrue::negated_item(THD *thd) const
|
||||
{
|
||||
return new (thd->mem_root) Item_func_istrue(thd, args[0]);
|
||||
}
|
||||
|
||||
|
||||
Item *Item_func_isfalse::negated_item(THD *thd) const
|
||||
{
|
||||
return new (thd->mem_root) Item_func_isnotfalse(thd, args[0]);
|
||||
}
|
||||
|
||||
|
||||
Item *Item_func_isnotfalse::negated_item(THD *thd) const
|
||||
{
|
||||
return new (thd->mem_root) Item_func_isfalse(thd, args[0]);
|
||||
}
|
||||
|
||||
|
||||
void Item_in_optimizer::fix_after_pullout(st_select_lex *new_parent,
|
||||
Item **ref, bool merge)
|
||||
{
|
||||
|
|
|
@ -264,6 +264,19 @@ public:
|
|||
bool fix_length_and_dec(THD *thd) override;
|
||||
void print(String *str, enum_query_type query_type) override;
|
||||
enum precedence precedence() const override { return CMP_PRECEDENCE; }
|
||||
bool count_sargable_conds(void *arg) override;
|
||||
SEL_TREE *get_mm_tree(RANGE_OPT_PARAM *param, Item **cond_ptr) override;
|
||||
SEL_ARG *get_mm_leaf(RANGE_OPT_PARAM *param, Field *field,
|
||||
KEY_PART *key_part,
|
||||
Item_func::Functype type, Item *value) override;
|
||||
void add_key_fields(JOIN *join, KEY_FIELD **key_fields,
|
||||
uint *and_level, table_map usable_tables,
|
||||
SARGABLE_PARAM **sargables) override;
|
||||
virtual Item *negated_item(THD *thd) const = 0;
|
||||
Item *neg_transformer(THD *thd) override
|
||||
{
|
||||
return negated_item(thd);
|
||||
}
|
||||
|
||||
protected:
|
||||
Item_func_truth(THD *thd, Item *a, bool a_value, bool a_affirmative):
|
||||
|
@ -298,6 +311,9 @@ public:
|
|||
static LEX_CSTRING name= {STRING_WITH_LEN("istrue") };
|
||||
return name;
|
||||
}
|
||||
SEL_TREE *get_func_mm_tree(RANGE_OPT_PARAM *param,
|
||||
Field *field, Item *value) override;
|
||||
Item *negated_item(THD *thd) const override;
|
||||
Item *do_get_copy(THD *thd) const override
|
||||
{ return get_item_copy<Item_func_istrue>(thd, this); }
|
||||
};
|
||||
|
@ -318,6 +334,9 @@ public:
|
|||
static LEX_CSTRING name= {STRING_WITH_LEN("isnottrue") };
|
||||
return name;
|
||||
}
|
||||
Item *negated_item(THD *thd) const override;
|
||||
SEL_TREE *get_func_mm_tree(RANGE_OPT_PARAM *param,
|
||||
Field *field, Item *value) override;
|
||||
bool find_not_null_fields(table_map allowed) override { return false; }
|
||||
Item *do_get_copy(THD *thd) const override
|
||||
{ return get_item_copy<Item_func_isnottrue>(thd, this); }
|
||||
|
@ -340,6 +359,9 @@ public:
|
|||
static LEX_CSTRING name= {STRING_WITH_LEN("isfalse") };
|
||||
return name;
|
||||
}
|
||||
Item *negated_item(THD *thd) const override;
|
||||
SEL_TREE *get_func_mm_tree(RANGE_OPT_PARAM *param,
|
||||
Field *field, Item *value) override;
|
||||
Item *do_get_copy(THD *thd) const override
|
||||
{ return get_item_copy<Item_func_isfalse>(thd, this); }
|
||||
};
|
||||
|
@ -360,7 +382,10 @@ public:
|
|||
static LEX_CSTRING name= {STRING_WITH_LEN("isnotfalse") };
|
||||
return name;
|
||||
}
|
||||
Item *negated_item(THD *thd) const override;
|
||||
bool find_not_null_fields(table_map allowed) override { return false; }
|
||||
SEL_TREE *get_func_mm_tree(RANGE_OPT_PARAM *param,
|
||||
Field *field, Item *value) override;
|
||||
Item *do_get_copy(THD *thd) const override
|
||||
{ return get_item_copy<Item_func_isnotfalse>(thd, this); }
|
||||
bool eval_not_null_tables(void *) override
|
||||
|
|
|
@ -8150,6 +8150,46 @@ SEL_TREE *Item_func_ne::get_func_mm_tree(RANGE_OPT_PARAM *param,
|
|||
}
|
||||
|
||||
|
||||
SEL_TREE *Item_func_istrue::get_func_mm_tree(RANGE_OPT_PARAM *param,
|
||||
Field *field, Item *value)
|
||||
{
|
||||
DBUG_ENTER("Item_func_istrue::get_func_mm_tree");
|
||||
// See comments in Item_func_ne::get_func_mm_tree()
|
||||
if (param->using_real_indexes && is_field_an_unique_index(field))
|
||||
DBUG_RETURN(NULL);
|
||||
DBUG_RETURN(get_ne_mm_tree(param, field, value, value));
|
||||
}
|
||||
|
||||
|
||||
SEL_TREE *Item_func_isnotfalse::get_func_mm_tree(RANGE_OPT_PARAM *param,
|
||||
Field *field, Item *value)
|
||||
{
|
||||
DBUG_ENTER("Item_func_notfalse::get_func_mm_tree");
|
||||
// See comments in Item_func_ne::get_func_mm_tree()
|
||||
if (param->using_real_indexes && is_field_an_unique_index(field))
|
||||
DBUG_RETURN(NULL);
|
||||
DBUG_RETURN(get_ne_mm_tree(param, field, value, value));
|
||||
}
|
||||
|
||||
|
||||
SEL_TREE *Item_func_isfalse::get_func_mm_tree(RANGE_OPT_PARAM *param,
|
||||
Field *field,
|
||||
Item *value)
|
||||
{
|
||||
DBUG_ENTER("Item_bool_isfalse::get_func_mm_tree");
|
||||
DBUG_RETURN(get_mm_parts(param, field, EQ_FUNC, value));
|
||||
}
|
||||
|
||||
|
||||
SEL_TREE *Item_func_isnottrue::get_func_mm_tree(RANGE_OPT_PARAM *param,
|
||||
Field *field,
|
||||
Item *value)
|
||||
{
|
||||
DBUG_ENTER("Item_func_isnottrue::get_func_mm_tree");
|
||||
DBUG_RETURN(get_mm_parts(param, field, EQ_FUNC, value));
|
||||
}
|
||||
|
||||
|
||||
SEL_TREE *Item_func_between::get_func_mm_tree(RANGE_OPT_PARAM *param,
|
||||
Field *field, Item *value)
|
||||
{
|
||||
|
@ -8926,6 +8966,38 @@ SEL_TREE *Item_func_in::get_mm_tree(RANGE_OPT_PARAM *param, Item **cond_ptr)
|
|||
}
|
||||
|
||||
|
||||
SEL_TREE *Item_func_truth::get_mm_tree(RANGE_OPT_PARAM *param, Item **cond_ptr)
|
||||
{
|
||||
DBUG_ENTER("Item_func_truth::get_mm_tree");
|
||||
DBUG_ASSERT(arg_count == 1);
|
||||
MEM_ROOT *old_root= param->thd->mem_root;
|
||||
param->thd->mem_root= param->old_root;
|
||||
Item *tmp= args[0]->type_handler()->create_boolean_false_item(param->thd);
|
||||
param->thd->mem_root= old_root;
|
||||
|
||||
SEL_TREE *ftree= get_full_func_mm_tree_for_args(param, args[0], tmp);
|
||||
if (!ftree)
|
||||
goto err;
|
||||
if (!affirmative) // x IS NOT {TRUE|FALSE}
|
||||
{
|
||||
/*
|
||||
A non-affirmative boolean test works as follows:
|
||||
- NULL IS NOT FALSE returns TRUE
|
||||
- NULL IS NOT TRUE returns TRUE
|
||||
Let's add the "x IS NULL" tree:
|
||||
*/
|
||||
SEL_TREE *ftree2= get_full_func_mm_tree_for_args(param, args[0], NULL);
|
||||
if (!ftree2)
|
||||
goto err;
|
||||
ftree= tree_or(param, ftree, ftree2);
|
||||
}
|
||||
err:
|
||||
if (!ftree)
|
||||
ftree= Item_func::get_mm_tree(param, cond_ptr);
|
||||
DBUG_RETURN(ftree);
|
||||
}
|
||||
|
||||
|
||||
SEL_TREE *Item_equal::get_mm_tree(RANGE_OPT_PARAM *param, Item **cond_ptr)
|
||||
{
|
||||
DBUG_ENTER("Item_equal::get_mm_tree");
|
||||
|
@ -9294,6 +9366,28 @@ Item_func_null_predicate::get_mm_leaf(RANGE_OPT_PARAM *param,
|
|||
}
|
||||
|
||||
|
||||
SEL_ARG *
|
||||
Item_func_truth::get_mm_leaf(RANGE_OPT_PARAM *param,
|
||||
Field *field, KEY_PART *key_part,
|
||||
Item_func::Functype type,
|
||||
Item *value)
|
||||
{
|
||||
MEM_ROOT *alloc= param->mem_root;
|
||||
DBUG_ENTER("Item_func_truth::get_mm_leaf");
|
||||
if (value) // Affirmative: x IS {FALSE|TRUE}
|
||||
DBUG_RETURN(Item_bool_func::get_mm_leaf(param, field, key_part,
|
||||
type, value));
|
||||
DBUG_ASSERT(!affirmative); // x IS NOT {FALSE|TRUE}
|
||||
/*
|
||||
No check for field->table->maybe_null.
|
||||
See comments in Item_func_null_predicate::get_mm_leaf()
|
||||
*/
|
||||
if (!field->real_maybe_null())
|
||||
DBUG_RETURN(&null_element);
|
||||
DBUG_RETURN(new (alloc) SEL_ARG(field, is_null_string, is_null_string));
|
||||
}
|
||||
|
||||
|
||||
SEL_ARG *
|
||||
Item_func_like::get_mm_leaf(RANGE_OPT_PARAM *param,
|
||||
Field *field, KEY_PART *key_part,
|
||||
|
|
|
@ -8944,7 +8944,7 @@ Item *normalize_cond(THD *thd, Item *cond)
|
|||
{
|
||||
item_base_t is_cond_flag= cond->base_flags & item_base_t::IS_COND;
|
||||
cond->base_flags&= ~item_base_t::IS_COND;
|
||||
cond= new (thd->mem_root) Item_func_ne(thd, cond, new (thd->mem_root) Item_int(thd, 0));
|
||||
cond= new (thd->mem_root) Item_func_istrue(thd, cond);
|
||||
if (cond)
|
||||
cond->base_flags|= is_cond_flag;
|
||||
}
|
||||
|
@ -8958,8 +8958,7 @@ Item *normalize_cond(THD *thd, Item *cond)
|
|||
Item *arg= func_item->arguments()[0];
|
||||
if (arg->type() == Item::FIELD_ITEM ||
|
||||
arg->type() == Item::REF_ITEM)
|
||||
cond= new (thd->mem_root) Item_func_eq(thd, arg,
|
||||
new (thd->mem_root) Item_int(thd, 0));
|
||||
cond= new (thd->mem_root) Item_func_isfalse(thd, arg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7118,6 +7118,26 @@ Item_bool_func2::add_key_fields_optimize_op(JOIN *join, KEY_FIELD **key_fields,
|
|||
}
|
||||
|
||||
|
||||
void
|
||||
Item_func_truth::add_key_fields(JOIN *join,
|
||||
KEY_FIELD **key_fields,
|
||||
uint *and_level,
|
||||
table_map usable_tables,
|
||||
SARGABLE_PARAM **sargables)
|
||||
{
|
||||
if (is_local_field(args[0]))
|
||||
{
|
||||
Item *tmp= args[0]->type_handler()->create_boolean_false_item(join->thd);
|
||||
if (unlikely(!tmp))
|
||||
return;
|
||||
add_key_equal_fields(join, key_fields, *and_level, this,
|
||||
(Item_field*) args[0]->real_item(),
|
||||
false/*equal_func*/,
|
||||
&tmp, 1, usable_tables, sargables);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Item_func_null_predicate::add_key_fields(JOIN *join, KEY_FIELD **key_fields,
|
||||
uint *and_level,
|
||||
|
|
|
@ -5258,7 +5258,7 @@ bool Type_handler_temporal_result::Item_val_bool(Item *item) const
|
|||
|
||||
bool Type_handler_string_result::Item_val_bool(Item *item) const
|
||||
{
|
||||
return item->val_real() != 0.0;
|
||||
return item->val_bool_from_str();
|
||||
}
|
||||
|
||||
|
||||
|
@ -8162,6 +8162,12 @@ Item *Type_handler_interval_DDhhmmssff::
|
|||
attr.decimals());
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
Item_literal *Type_handler::create_boolean_false_item(THD *thd) const
|
||||
{
|
||||
return new (thd->mem_root) Item_int(thd, 0);
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
void Type_handler_string_result::Item_param_setup_conversion(THD *thd,
|
||||
|
|
|
@ -4458,6 +4458,18 @@ public:
|
|||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
normalize_cond() replaces
|
||||
`WHERE table_column` to
|
||||
`WHERE table_column IS TRUE`
|
||||
This method creates a literal Item corresponding to FALSE.
|
||||
For example:
|
||||
- for numeric data types it returns Item_int(0)
|
||||
- for INET6 it returns Item_literal_fbt('::')
|
||||
*/
|
||||
virtual Item_literal *create_boolean_false_item(THD *thd) const;
|
||||
|
||||
/**
|
||||
A builder for literals with data type name prefix, e.g.:
|
||||
TIME'00:00:00', DATE'2001-01-01', TIMESTAMP'2001-01-01 00:00:00'.
|
||||
|
|
|
@ -1895,6 +1895,11 @@ public:
|
|||
return Item_func_or_sum_illegal_param(item);
|
||||
}
|
||||
|
||||
Item_literal *create_boolean_false_item(THD *thd) const override
|
||||
{
|
||||
return new (thd->mem_root) Item_literal_fbt(thd);
|
||||
}
|
||||
|
||||
static Type_handler_fbt *singleton()
|
||||
{
|
||||
static Type_handler_fbt th;
|
||||
|
|
Loading…
Add table
Reference in a new issue