34
This constructor serves for creation of NestedJoin instances
33
49
/* list of elements in the nested join */
34
50
List<TableList> join_list;
36
52
/* bitmap of tables in the nested join */
37
53
table_map used_tables;
39
55
/* tables that rejects nulls */
40
56
table_map not_null_tables;
49
65
by the join optimizer.
50
66
Before each use the counters are zeroed by reset_nj_counters.
54
71
/* Bit used to identify this nested join*/
55
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;
58
123
(Valid only for semi-join nests) Bitmap of tables outside the semi-join
59
124
that are used within the semi-join's ON condition.
61
126
table_map sj_depends_on;
62
128
/* Outer non-trivially correlated tables */
63
129
table_map sj_corr_tables;
65
131
List<Item> sj_outer_expr_list;
68
True if this join nest node is completely covered by the query execution
69
plan. This means two things.
71
1. All tables on its @c join_list are covered by the plan.
73
2. All child join nest nodes are fully covered.
75
bool is_fully_covered() const { return join_list.size() == counter_; }
78
135
} /* namespace drizzled */