diff options
author | unknown <timour@mysql.com> | 2006-03-02 11:50:15 +0200 |
---|---|---|
committer | unknown <timour@mysql.com> | 2006-03-02 11:50:15 +0200 |
commit | de1e87bbcd5ca4f830e7af42da34ef0d3228b28e (patch) | |
tree | cba6c500f38ff8c287a7cd3c153110cfa476108e /mysql-test/t/constraints.test | |
parent | f095abaa4748c5ad2c302b8697c819d3fbd5de2a (diff) | |
download | mariadb-git-de1e87bbcd5ca4f830e7af42da34ef0d3228b28e.tar.gz |
Fix for BUG#15229.
The cause of this bug was a design flaw due to which the list of natural
join columns was incorrectly computed and stored for nested joins that
are not natural joins, but are operands (possibly indirect) of nested joins.
The patch corrects the flaw in a such a way, that the result columns of a
table reference are materialized only if it is a leaf table (that is, only
if it is a view, stored table, or natural/using join).
mysql-test/r/join.result:
Added test for BUG#15229 and uncommented failing test cases of
BUG#15357 (now fixed by this patch).
mysql-test/t/join.test:
Added test for BUG#15229 and uncommented failing test cases of
BUG#15357 (now fixed by this patch).
sql/sql_base.cc:
- Do not materialize the result columns of regular nested joins
(that are not natural/using joins).
- Moved most of the code that creates/adds new natural join column
references to the method 'get_or_create_column_ref', and simplified
'mark_common_columns'.
- Replaced a call to 'get_or_create_column_ref' with 'get_natural_column_ref'
where it is for sure all columns are alredy created.
sql/table.cc:
- Modified the method 'get_or_create_column_ref' so that it adds itself
the newly created natural join columns to the respective table reference.
sql/table.h:
- Modified the method 'get_or_create_column_ref' so that it adds itself
the newly created natural join columns to the respective table reference.
Diffstat (limited to 'mysql-test/t/constraints.test')
0 files changed, 0 insertions, 0 deletions