1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-7474: Semi-Join's DuplicateWeedout strategy skipped ...

JOIN::cur_dups_producing_tables was not maintained correctly in
the cases of greedy optimization (search_depth < n_tables).

Moved it to POSITION structure where it will be maintained automatically.

Removed POSITION::prefix_dups_producing_tables since its value can now
be calculated.
This commit is contained in:
Sergei Petrunia
2015-03-17 13:26:33 +03:00
parent 5a3bf84468
commit c020d362b6
8 changed files with 341 additions and 16 deletions

View File

@ -298,7 +298,7 @@ public:
};
extern void advance_sj_state(JOIN *join, table_map remaining_tables, uint idx,
void advance_sj_state(JOIN *join, table_map remaining_tables, uint idx,
double *current_record_count, double *current_read_time,
POSITION *loose_scan_pos);
void restore_prev_sj_state(const table_map remaining_tables,