summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-03-26 17:41:12 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2019-03-26 17:41:45 +0200
commit2d592f757cd624fe964ac39d05b6bdd985a827e2 (patch)
treeeedcadeaca9c1a4fce05e91f602599c6befb6e9c
parenta138d061b5fe2e211f80ec3f6080316c41c04f07 (diff)
parentc676f58c270d75b6c1889b24b9833afc65b0d98b (diff)
downloadmariadb-git-2d592f757cd624fe964ac39d05b6bdd985a827e2.tar.gz
Merge 10.2 into 10.3
-rw-r--r--mysql-test/main/ps_error.result12
-rw-r--r--sql/item_cmpfunc.cc8
2 files changed, 10 insertions, 10 deletions
diff --git a/mysql-test/main/ps_error.result b/mysql-test/main/ps_error.result
index e8a9f45494c..448832dc7a8 100644
--- a/mysql-test/main/ps_error.result
+++ b/mysql-test/main/ps_error.result
@@ -7,7 +7,7 @@ PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'foo'
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;
a
DROP TABLE t1;
@@ -18,7 +18,7 @@ PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'foo'
EXECUTE stmt;
-ERROR 22007: Truncated incorrect INTEGER value: 'foo'
+ERROR 22007: Truncated incorrect DOUBLE value: 'foo'
SET @a = REPLACE( @@global.optimizer_switch, '=on', '=off' ) ;
DROP TABLE t1;
SET sql_mode=DEFAULT;
@@ -30,7 +30,7 @@ PREPARE stmt FROM "CREATE TABLE ps AS SELECT 1 FROM DUAL WHERE 'foo' && 0";
Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'foo'
EXECUTE stmt;
-ERROR 22007: Truncated incorrect INTEGER value: 'foo'
+ERROR 22007: Truncated incorrect DOUBLE value: 'foo'
SELECT 'All done';
All done
All done
@@ -40,7 +40,7 @@ PREPARE stmt FROM "CREATE TABLE ps AS SELECT 1 FROM DUAL WHERE 'foo' && 0";
Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'foo'
EXECUTE stmt;
-ERROR 22007: Truncated incorrect INTEGER value: 'foo'
+ERROR 22007: Truncated incorrect DOUBLE value: 'foo'
DEALLOCATE PREPARE stmt;
SELECT 'All done';
All done
@@ -52,7 +52,7 @@ PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'foo'
EXECUTE stmt;
-ERROR 22007: Truncated incorrect INTEGER value: 'foo'
+ERROR 22007: Truncated incorrect DOUBLE value: 'foo'
SELECT a FROM t1 GROUP BY a;
a
SELECT * FROM t1;
@@ -65,7 +65,7 @@ PREPARE stmt FROM "CREATE TABLE tmp AS SELECT * FROM t1 WHERE 'foo' && 0";
Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'foo'
EXECUTE stmt;
-ERROR 22007: Truncated incorrect INTEGER value: 'foo'
+ERROR 22007: Truncated incorrect DOUBLE value: 'foo'
SELECT a FROM t1 GROUP BY a;
a
INSERT t1 SELECT * FROM ( SELECT * FROM t1 ) sq;
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index 11930bb18de..ed5910bd172 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -1,5 +1,5 @@
/* 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
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)
List_iterator<Item> li(list);
Item *item;
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;
used_tables_and_const_cache_init();
@@ -4661,7 +4661,7 @@ bool
Item_cond::eval_not_null_tables(void *opt_arg)
{
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);
not_null_tables_cache= (table_map) 0;
and_tables_cache= ~(table_map) 0;
@@ -4671,7 +4671,7 @@ Item_cond::eval_not_null_tables(void *opt_arg)
if (item->const_item() && !item->with_param &&
!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 ..."