Commit 2d592f75 authored by Marko Mäkelä's avatar Marko Mäkelä

Merge 10.2 into 10.3

parents a138d061 c676f58c
...@@ -7,7 +7,7 @@ PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0"; ...@@ -7,7 +7,7 @@ PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
Warnings: Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'foo' Warning 1292 Truncated incorrect DOUBLE value: 'foo'
EXECUTE stmt; EXECUTE stmt;
ERROR 22007: Truncated incorrect INTEGER value: 'foo' ERROR 22007: Truncated incorrect DOUBLE value: 'foo'
SELECT a FROM t1 GROUP BY NULL WITH ROLLUP; SELECT a FROM t1 GROUP BY NULL WITH ROLLUP;
a a
DROP TABLE t1; DROP TABLE t1;
...@@ -18,7 +18,7 @@ PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0"; ...@@ -18,7 +18,7 @@ PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
Warnings: Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'foo' Warning 1292 Truncated incorrect DOUBLE value: 'foo'
EXECUTE stmt; EXECUTE stmt;
ERROR 22007: Truncated incorrect INTEGER value: 'foo' ERROR 22007: Truncated incorrect DOUBLE value: 'foo'
SET @a = REPLACE( @@global.optimizer_switch, '=on', '=off' ) ; SET @a = REPLACE( @@global.optimizer_switch, '=on', '=off' ) ;
DROP TABLE t1; DROP TABLE t1;
SET sql_mode=DEFAULT; SET sql_mode=DEFAULT;
...@@ -30,7 +30,7 @@ PREPARE stmt FROM "CREATE TABLE ps AS SELECT 1 FROM DUAL WHERE 'foo' && 0"; ...@@ -30,7 +30,7 @@ PREPARE stmt FROM "CREATE TABLE ps AS SELECT 1 FROM DUAL WHERE 'foo' && 0";
Warnings: Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'foo' Warning 1292 Truncated incorrect DOUBLE value: 'foo'
EXECUTE stmt; EXECUTE stmt;
ERROR 22007: Truncated incorrect INTEGER value: 'foo' ERROR 22007: Truncated incorrect DOUBLE value: 'foo'
SELECT 'All done'; SELECT 'All done';
All done All done
All done All done
...@@ -40,7 +40,7 @@ PREPARE stmt FROM "CREATE TABLE ps AS SELECT 1 FROM DUAL WHERE 'foo' && 0"; ...@@ -40,7 +40,7 @@ PREPARE stmt FROM "CREATE TABLE ps AS SELECT 1 FROM DUAL WHERE 'foo' && 0";
Warnings: Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'foo' Warning 1292 Truncated incorrect DOUBLE value: 'foo'
EXECUTE stmt; EXECUTE stmt;
ERROR 22007: Truncated incorrect INTEGER value: 'foo' ERROR 22007: Truncated incorrect DOUBLE value: 'foo'
DEALLOCATE PREPARE stmt; DEALLOCATE PREPARE stmt;
SELECT 'All done'; SELECT 'All done';
All done All done
...@@ -52,7 +52,7 @@ PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0"; ...@@ -52,7 +52,7 @@ PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
Warnings: Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'foo' Warning 1292 Truncated incorrect DOUBLE value: 'foo'
EXECUTE stmt; EXECUTE stmt;
ERROR 22007: Truncated incorrect INTEGER value: 'foo' ERROR 22007: Truncated incorrect DOUBLE value: 'foo'
SELECT a FROM t1 GROUP BY a; SELECT a FROM t1 GROUP BY a;
a a
SELECT * FROM t1; SELECT * FROM t1;
...@@ -65,7 +65,7 @@ PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0"; ...@@ -65,7 +65,7 @@ PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
Warnings: Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'foo' Warning 1292 Truncated incorrect DOUBLE value: 'foo'
EXECUTE stmt; EXECUTE stmt;
ERROR 22007: Truncated incorrect INTEGER value: 'foo' ERROR 22007: Truncated incorrect DOUBLE value: 'foo'
SELECT a FROM t1 GROUP BY a; SELECT a FROM t1 GROUP BY a;
a a
INSERT t1 SELECT * FROM ( SELECT * FROM t1 ) sq; INSERT t1 SELECT * FROM ( SELECT * FROM t1 ) sq;
......
/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. /* Copyright (c) 2000, 2013, Oracle and/or its affiliates.
Copyright (c) 2009, 2016, MariaDB Copyright (c) 2009, 2019, MariaDB
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
...@@ -4545,7 +4545,7 @@ Item_cond::fix_fields(THD *thd, Item **ref) ...@@ -4545,7 +4545,7 @@ Item_cond::fix_fields(THD *thd, Item **ref)
List_iterator<Item> li(list); List_iterator<Item> li(list);
Item *item; Item *item;
uchar buff[sizeof(char*)]; // Max local vars in function uchar buff[sizeof(char*)]; // Max local vars in function
longlong is_and_cond= functype() == Item_func::COND_AND_FUNC; bool is_and_cond= functype() == Item_func::COND_AND_FUNC;
not_null_tables_cache= 0; not_null_tables_cache= 0;
used_tables_and_const_cache_init(); used_tables_and_const_cache_init();
...@@ -4661,7 +4661,7 @@ bool ...@@ -4661,7 +4661,7 @@ bool
Item_cond::eval_not_null_tables(void *opt_arg) Item_cond::eval_not_null_tables(void *opt_arg)
{ {
Item *item; Item *item;
longlong is_and_cond= functype() == Item_func::COND_AND_FUNC; bool is_and_cond= functype() == Item_func::COND_AND_FUNC;
List_iterator<Item> li(list); List_iterator<Item> li(list);
not_null_tables_cache= (table_map) 0; not_null_tables_cache= (table_map) 0;
and_tables_cache= ~(table_map) 0; and_tables_cache= ~(table_map) 0;
...@@ -4671,7 +4671,7 @@ Item_cond::eval_not_null_tables(void *opt_arg) ...@@ -4671,7 +4671,7 @@ Item_cond::eval_not_null_tables(void *opt_arg)
if (item->const_item() && !item->with_param && if (item->const_item() && !item->with_param &&
!item->is_expensive() && !cond_has_datetime_is_null(item)) !item->is_expensive() && !cond_has_datetime_is_null(item))
{ {
if (item->val_int() == is_and_cond && top_level()) if (item->eval_const_cond() == is_and_cond && top_level())
{ {
/* /*
a. This is "... AND true_cond AND ..." a. This is "... AND true_cond AND ..."
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment