diff options
author | unknown <timour/timka@lamia.home> | 2006-07-21 11:59:46 +0300 |
---|---|---|
committer | unknown <timour/timka@lamia.home> | 2006-07-21 11:59:46 +0300 |
commit | 4e59d30dc9ef76c79c8e8c92bfad9b394d4d5c9b (patch) | |
tree | c0c83210d1e9215939f81a09d00449be7d8bebce /mysql-test/r/func_str.result | |
parent | 8f5681c91915db689a4bbfa95346705cbb51f717 (diff) | |
download | mariadb-git-4e59d30dc9ef76c79c8e8c92bfad9b394d4d5c9b.tar.gz |
Fix for BUG#21007.
The problem was that store_top_level_join_columns() incorrectly assumed
that the left/right neighbor of a nested join table reference can be only
at the same level in the join tree.
The fix checks if the current nested join table reference has no immediate
left/right neighbor, and if so chooses the left/right neighbors of the
nearest upper level, where these references are != NULL.
mysql-test/r/group_min_max.result:
Test for BUG#21007.
mysql-test/t/group_min_max.test:
Test for BUG#21007.
sql/sql_base.cc:
After computing and materializing the columns of all NATURAL joins in a FROM clause,
the procedure store_top_level_join_columns() has to change the current natural join
into a leaf table reference for name resolution. For this it needs to make the left
neighbor point to the natural join table reference, and the natural join itself point
to its left neighbor.
This fix correctly determines the left/right neighbors of a table reference, even if
the neghbors are at higher levels in the nested join tree. The rule is that if a table
reference has no immediate left/right neighbors, we recursively pick the left/right
neighbor of the level(s) above.
Diffstat (limited to 'mysql-test/r/func_str.result')
0 files changed, 0 insertions, 0 deletions