Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
WL#7636 post-push patch: Fix a too strict restriction on join-pushabi…
…lity Fix pushability restriction introduced by the previous patch: ............................... commit 1eb9f4635b9799b763902225a422bb22668ad14e Author: Ole John Aske <[email protected]> Date: Thu Feb 13 17:38:58 2020 +0100 WL#7636 Post-push fix, table coverage of trigger conditions Fix an issue related to how the set of 'used_tables' of a trigger condition is calculated. Such triggers are attached to a table (last table in join-nest) but covers a wider set of tables. .... more .... .................... That patch ^^^ caused both a FOUND_MATCH- and a IS_NOT_NULL_COMPL-trigger to be handled as trigger-condition-filter, which would limit the pushability of the tables covered by their set of 'inner_tables'. That is too restrictive as only FOUND_MATCH-triggers, possibly embedded withing IS_NOT_NULL_COMP-triggers, restricts pushability. It turned out that this too strict check, unintentionally disabled the pushability of Q13 in the TPC-H test suite (among others). That query has the trigger condition on the orders table: <if>(is_not_null_compl(orders), (not((`orders`.`o_comment` like '%special%requests%'))), true) As there is no FOUND_MATCH-trigger in this condition, it should not contribute to restrict pushability. After the post-push patch pasted above, it *did*. This patch partly revert that incorrect patch, and ignore any IS_NOT_NULL_COMPL-trigger as long as a FOUND_MATCH-trigger is not embedded within it. Reviewed by: Mikael Ronstrom <[email protected]>
- Loading branch information