mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fixed bug #57024.
The condition over the outer tables now are extracted from the on condition of any outer join. This condition is saved in a special field of the JOIN_TAB structure for the first inner table of the outer join. The condition is checked before the first inner table is accessed. If it turns out to be false the table is not accessed at all and a null complemented row is generated immediately.
This commit is contained in:
@ -154,7 +154,9 @@ typedef struct st_join_table {
|
||||
TABLE *table;
|
||||
KEYUSE *keyuse; /**< pointer to first used key */
|
||||
SQL_SELECT *select;
|
||||
COND *select_cond;
|
||||
COND *select_cond;
|
||||
COND *on_precond; /**< part of on condition to check before
|
||||
accessing the first inner table */
|
||||
QUICK_SELECT_I *quick;
|
||||
Item **on_expr_ref; /**< pointer to the associated on expression */
|
||||
COND_EQUAL *cond_equal; /**< multiple equalities for the on expression */
|
||||
|
Reference in New Issue
Block a user