diff options
author | Galina Shalygina <galina.shalygina@mariadb.com> | 2019-03-23 15:28:22 +0300 |
---|---|---|
committer | Galina Shalygina <galina.shalygina@mariadb.com> | 2019-04-04 18:06:56 +0300 |
commit | ae15f91f227015b3e1ad3f566db9396232cf0a3f (patch) | |
tree | 28fa79f3fe624576ef3351f897b77558e7207330 /mysql-test/main/union.result | |
parent | 3a3d5ba2356b85626d34d6a65e4d8e8e6205b60d (diff) | |
download | mariadb-git-ae15f91f227015b3e1ad3f566db9396232cf0a3f.tar.gz |
MDEV-18769 Assertion `fixed == 1' failed in Item_cond_or::val_int
This bug is caused by pushdown from HAVING into WHERE.
It appears because condition that is pushed wasn't fixed.
It is also discovered that condition pushdown from HAVING into
WHERE is done wrong. There is no need to build clones for some
conditions that can be pushed. They can be simply moved from HAVING
into WHERE without cloning.
build_pushable_cond_for_having_pushdown(),
remove_pushed_top_conjuncts_for_having() methods are changed.
It is found that there is no transformation made for fields of
pushed condition.
field_transformer_for_having_pushdown transformer is added.
New tests are added. Some comments are changed.
Diffstat (limited to 'mysql-test/main/union.result')
-rw-r--r-- | mysql-test/main/union.result | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mysql-test/main/union.result b/mysql-test/main/union.result index ce14b68ae2d..a0421bae922 100644 --- a/mysql-test/main/union.result +++ b/mysql-test/main/union.result @@ -2332,7 +2332,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL NULL No tables used 2 UNION NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables Warnings: -Note 1003 /* select#1 */ select 1 AS `1`,2 AS `2` union all /* select#2 */ select 1 AS `i`,count(0) AS `COUNT(*)` from `test`.`t2` where 0 group by 1 having multiple equal(10, `i`) +Note 1003 /* select#1 */ select 1 AS `1`,2 AS `2` union all /* select#2 */ select 1 AS `i`,count(0) AS `COUNT(*)` from `test`.`t2` where 0 group by 1 having 1 DROP TABLE t1,t2; # # Start of 10.3 tests |