diff options
author | unknown <evgen@moonbone.local> | 2006-02-15 19:45:06 +0300 |
---|---|---|
committer | unknown <evgen@moonbone.local> | 2006-02-15 19:45:06 +0300 |
commit | de0c65dd4e925105b2670e2f86a041cd76820e0d (patch) | |
tree | 54c24fe992100ca6d2997434c5b8f668862a66be /mysql-test | |
parent | 97746386af0b660b8840fe0dba41535d18fee62b (diff) | |
download | mariadb-git-de0c65dd4e925105b2670e2f86a041cd76820e0d.tar.gz |
Fix bug #15706 find_field_in_tables() returns field from outer select
If item->cached_table is set, find_field_in_tables() returns found field
even if it doesn't belong to current select. Because Item_field::fix_fields
doesn't expect such behaviour, reported bug occurs.
Item_field::fix_fields() was modifed to detect when find_field_in_tables()
can return field from outer select and process such fields accordingly.
In order to ease this code which was searching and processing outed fields was
moved into separate function called Item_field::fix_outer_field().
sql/item_subselect.h:
Fixed bug #15706: find_field_in_tables() returns field from outer select
Item_field::fix_outer_field() was marked as friend to Item_subselect class.
sql/item.h:
Fixed bug #15706: find_field_in_tables() returns field from outer select
fix_outer_field() function is added to the Item_field class.
sql/item.cc:
Fixed bug #15706: find_field_in_tables() returns field from outer select
Item_ref::fix_fields() and Item_field::fix_fields() were modifed to detect when
find_field_in_tables() can return field from outer select and process such
fields accordingly.
In order to ease this, code Item_field::fix_fields() which was searching and
processing outer fields was moved into separate function called
Item_field::fix_outer_field().
To the Item_field::fix_field() added a loop for finding context for found field.
mysql-test/t/disabled.def:
Fixed bug #15706: find_field_in_tables() returns field from outer select
Enable subselect test
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/t/disabled.def | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 4722fac435c..4f5e11e7fbd 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -12,4 +12,3 @@ sp-goto : GOTO is currently is disabled - will be fixed in the future kill : Unstable test case, bug#9712 -subselect : Bug#15706 |