mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
correct not_null_tables() for XOR and AND
correct top_level_item for XOR mysql-test/r/join_outer.result: one more test mysql-test/t/join_outer.test: one more test
This commit is contained in:
parent
7cecea527d
commit
2427f3695c
3 changed files with 10 additions and 1 deletions
|
@ -857,4 +857,10 @@ a b a b
|
|||
1 1 1 2
|
||||
2 1 2 2
|
||||
3 1 NULL NULL
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a WHERE not(0+(t1.a=30 and t2.b=1));
|
||||
a b a b
|
||||
1 1 1 2
|
||||
2 1 2 2
|
||||
3 1 NULL NULL
|
||||
4 2 NULL NULL
|
||||
DROP TABLE t1,t2;
|
||||
|
|
|
@ -610,6 +610,7 @@ SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a;
|
|||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a WHERE t1.b=1;
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a
|
||||
WHERE t1.b=1 XOR (NOT ISNULL(t2.a) AND t2.b=1);
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a=t2.a WHERE not(0+(t1.a=30 and t2.b=1));
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
|
|
|
@ -966,6 +966,8 @@ public:
|
|||
enum Functype functype() const { return COND_AND_FUNC; }
|
||||
longlong val_int();
|
||||
const char *func_name() const { return "and"; }
|
||||
table_map not_null_tables() const
|
||||
{ return abort_on_null ? not_null_tables_cache: and_tables_cache; }
|
||||
Item* copy_andor_structure(THD *thd)
|
||||
{
|
||||
Item_cond_and *item;
|
||||
|
@ -1013,7 +1015,7 @@ public:
|
|||
enum Type type() const { return FUNC_ITEM; }
|
||||
longlong val_int();
|
||||
const char *func_name() const { return "xor"; }
|
||||
table_map not_null_tables() const { return and_tables_cache; }
|
||||
void top_level_item() {}
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue