34
This constructor serves for creation of NestedJoin instances
36
49
/* list of elements in the nested join */
37
50
List<TableList> join_list;
39
52
/* bitmap of tables in the nested join */
40
53
table_map used_tables;
42
55
/* tables that rejects nulls */
43
56
table_map not_null_tables;
52
65
by the join optimizer.
53
66
Before each use the counters are zeroed by reset_nj_counters.
57
71
/* Bit used to identify this nested join*/
58
72
std::bitset<64> nj_map;
75
True if this join nest node is completely covered by the query execution
76
plan. This means two things.
78
1. All tables on its @c join_list are covered by the plan.
80
2. All child join nest nodes are fully covered.
83
bool is_fully_covered() const { return join_list.size() == counter_; }
85
/* To get the table_map sj_depends_on */
86
table_map getSjDependsOn() const
91
/* To set the table_map sj_depends_on */
92
void setSjDependsOn(const table_map &in_sj_depends_on)
94
sj_depends_on= in_sj_depends_on;
97
/* To get the table_map sj_corr_tables */
98
table_map getSjCorrTables() const
100
return sj_corr_tables;
103
/* To set the table_map sj_corr_tables */
104
void setSjCorrTables(const table_map &in_sj_corr_tables)
106
sj_corr_tables= in_sj_corr_tables;
109
/* To get the List sj_outer_expr_list */
110
const List<Item>& getSjOuterExprList() const
112
return sj_outer_expr_list;
115
/* To set the List sj_outer_expr_list */
116
void setSjOuterExprList(const List<Item> &in_sj_outer_expr_list)
118
sj_outer_expr_list= in_sj_outer_expr_list;
61
123
(Valid only for semi-join nests) Bitmap of tables outside the semi-join
62
124
that are used within the semi-join's ON condition.
64
126
table_map sj_depends_on;
65
128
/* Outer non-trivially correlated tables */
66
129
table_map sj_corr_tables;
68
131
List<Item> sj_outer_expr_list;
71
True if this join nest node is completely covered by the query execution
72
plan. This means two things.
74
1. All tables on its @c join_list are covered by the plan.
76
2. All child join nest nodes are fully covered.
78
bool is_fully_covered() const { return join_list.size() == counter_; }
81
135
} /* namespace drizzled */