Commit e6693c13 authored by unknown's avatar unknown

BUG#16393: post-review fixes: fix comments.

parent 2956a79b
...@@ -2925,34 +2925,26 @@ sort_keyuse(KEYUSE *a,KEYUSE *b) ...@@ -2925,34 +2925,26 @@ sort_keyuse(KEYUSE *a,KEYUSE *b)
nested_join_table IN Nested join pseudo-table to process nested_join_table IN Nested join pseudo-table to process
end INOUT End of the key field array end INOUT End of the key field array
and_level INOUT And-level and_level INOUT And-level
DESCRIPTION DESCRIPTION
This function populates KEY_FIELD array with entries generated from the This function populates KEY_FIELD array with entries generated from the
ON condition of the given nested join, and does the same for nested joins ON condition of the given nested join, and does the same for nested joins
contained within this nested join. contained within this nested join.
IMPLEMENTATION NOTES
We can add accesses to the tables that are direct children of this nested We can add accesses to the tables that are direct children of this nested
join (1), and are not inner tables w.r.t their neighbours (2). join (1), and are not inner tables w.r.t their neighbours (2).
Example for #1 (outer brackets pair denotes nested join this function is Example for #1 (outer brackets pair denotes nested join this function is
invoked for): invoked for):
... LEFT JOIN (t1 LEFT JOIN (t2 ... ) ) ON cond ... LEFT JOIN (t1 LEFT JOIN (t2 ... ) ) ON cond
Example for #2: Example for #2:
... LEFT JOIN (t1 LEFT JOIN t2 ) ON cond ... LEFT JOIN (t1 LEFT JOIN t2 ) ON cond
In examples 1-2 for condition cond, we can add 'ref' access candidates to In examples 1-2 for condition cond, we can add 'ref' access candidates to
t1 only. t1 only.
Example #3: Example #3:
... LEFT JOIN (t1, t2 LEFT JOIN t3 ON inner_cond) ON cond
... LEFT JOIN (t1, t2 JOIN t3 ON inner_cond) ON cond
Here we can add 'ref' access candidates for t1 and t2, but not for t3. Here we can add 'ref' access candidates for t1 and t2, but not for t3.
*/ */
static void add_key_fields_for_nj(TABLE_LIST *nested_join_table, static void add_key_fields_for_nj(TABLE_LIST *nested_join_table,
...@@ -2969,7 +2961,7 @@ static void add_key_fields_for_nj(TABLE_LIST *nested_join_table, ...@@ -2969,7 +2961,7 @@ static void add_key_fields_for_nj(TABLE_LIST *nested_join_table,
add_key_fields_for_nj(table, end, and_level); add_key_fields_for_nj(table, end, and_level);
else else
if (!table->on_expr) if (!table->on_expr)
tables |= table->table->map; tables |= table->table->map;
} }
add_key_fields(end, and_level, nested_join_table->on_expr, tables); add_key_fields(end, and_level, nested_join_table->on_expr, tables);
} }
......
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