summaryrefslogtreecommitdiff
path: root/sql/sql_delete.cc
diff options
context:
space:
mode:
authorunknown <konstantin@mysql.com>2005-03-01 14:54:47 +0300
committerunknown <konstantin@mysql.com>2005-03-01 14:54:47 +0300
commit679088a2ae1353f14a970182fa64f58170e81b72 (patch)
tree3bb2c19d226422f53248eb1c55ea928fbf6512f9 /sql/sql_delete.cc
parentad1c1e070cb446d26ab579769473184e5a09f9df (diff)
downloadmariadb-git-679088a2ae1353f14a970182fa64f58170e81b72.tar.gz
Fix for Bug#8801: the bug was in co-operation of Item_ref
with view-merge algorithm and prepared statements: in case when some Item_ref pointing to a view column was substituted with a reference pointing to the view expression for that column Item_ref::ref member of the original Item_ref was left pointing to not_found_item (0x1). As we currently perform expression substition part of the view-merge algorithm per each execution of a prepared statement or stored procedure, we need to preserve original Item_ref objects usable. sql/item.cc: Set member Item_ref::ref to null whenever the item itself is substituted with another item. This is necessary if we want to re-execute a prepared statement next time. Additionally Item_ref::fix_fields() implementation was cleaned up (by Monty and myself) to reduce the number of if branches. This doesn't change the logic of this function.
Diffstat (limited to 'sql/sql_delete.cc')
0 files changed, 0 insertions, 0 deletions