Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
e6693c13
Commit
e6693c13
authored
Jan 14, 2006
by
unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
BUG#16393: post-review fixes: fix comments.
parent
2956a79b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
5 additions
and
13 deletions
+5
-13
sql/sql_select.cc
sql/sql_select.cc
+5
-13
No files found.
sql/sql_select.cc
View file @
e6693c13
...
@@ -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
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment