summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <evgen@moonbone.local>2006-02-15 19:45:06 +0300
committerunknown <evgen@moonbone.local>2006-02-15 19:45:06 +0300
commitde0c65dd4e925105b2670e2f86a041cd76820e0d (patch)
tree54c24fe992100ca6d2997434c5b8f668862a66be /mysql-test
parent97746386af0b660b8840fe0dba41535d18fee62b (diff)
downloadmariadb-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.def1
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