Commit c3fb76db authored by Igor Babaev's avatar Igor Babaev

BNL and BNLH algorithms scan the join table and for each its record they

try to find a match in the join buffer. It makes sense to check for a match
only those records satisfying WHERE/ON conditions that can be pushed to
the scanned table. It allows us to discard early some join candidates.

Such pushdown conditions were built when BNL join algorithm was employed,
but for they were not built when BNLH algorithm was used.
The patch removes this shortcoming. 
parent 3d8c7a2c
This diff is collapsed.
...@@ -394,6 +394,7 @@ typedef struct st_join_table { ...@@ -394,6 +394,7 @@ typedef struct st_join_table {
} }
double get_partial_join_cardinality() { return partial_join_cardinality; } double get_partial_join_cardinality() { return partial_join_cardinality; }
bool hash_join_is_possible(); bool hash_join_is_possible();
int make_scan_filter();
} JOIN_TAB; } JOIN_TAB;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment