diff options
author | Igor Babaev <igor@askmonty.org> | 2013-05-03 22:46:45 -0700 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2013-05-03 22:46:45 -0700 |
commit | 920c479c6ebd2236dbe5510e5ed8b748bf0ee158 (patch) | |
tree | b5895605eba5f91e3cf0cce0b870076e6571f98c /mysql-test/r/join_outer.result | |
parent | b249680fd11f5c9102f7a22cf638f3872d5c2e61 (diff) | |
download | mariadb-git-920c479c6ebd2236dbe5510e5ed8b748bf0ee158.tar.gz |
Fixed bug mdev-4336.
When iterating over a list of conditions using List_iterator
the function remove_eq_conds should skip all predicates that
replace a condition from the list. Otherwise it can come to
an infinite recursion.
Diffstat (limited to 'mysql-test/r/join_outer.result')
-rw-r--r-- | mysql-test/r/join_outer.result | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result index 7bc95e78041..723b2a88382 100644 --- a/mysql-test/r/join_outer.result +++ b/mysql-test/r/join_outer.result @@ -1822,4 +1822,18 @@ b c d 5 8 88 5 8 81 DROP TABLE t1,t2; +# +# Bug mdev-4336: LEFT JOIN with disjunctive +# <non-nullable datetime field> IS NULL in WHERE +# causes a hang and eventual crash +# +CREATE TABLE t1 ( +id int(11) NOT NULL, +modified datetime NOT NULL, +PRIMARY KEY (id) +); +SELECT a.* FROM t1 a LEFT JOIN t1 b ON a.id = b.id +WHERE a.modified > b.modified or b.modified IS NULL; +id modified +DROP TABLE t1; SET optimizer_switch=@save_optimizer_switch; |