summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorSergey Glukhov <gluh@mysql.com>2008-08-20 14:49:28 +0500
committerSergey Glukhov <gluh@mysql.com>2008-08-20 14:49:28 +0500
commitde73b729543f40f46463c0134e380057ee4adb27 (patch)
treecfab6f009ae2b2b34b94467246a6fd6ca9fbe055 /sql
parent40bd9a42183146253018c50fe213ba60c77b4dc1 (diff)
downloadmariadb-git-de73b729543f40f46463c0134e380057ee4adb27.tar.gz
Bug#38291 memory corruption and server crash with view/sp/function
Send_field.org_col_name has broken value on secondary execution. It happens when result field is created from the field which belongs to view due to forgotten assignment of some Send_field attributes. The fix: set Send_field.org_col_name,org_table_name with correct value during Send_field intialization. mysql-test/r/metadata.result: result fix The result file was changed because now forgotten attributes are properly set. mysql-test/r/sp.result: test result mysql-test/t/sp.test: test case sql/item.cc: Send_field.org_col_name has broken value on secondary execution. It happens when result field is created from the field which belongs to view due to forgotten assignment of some Send_field attributes. The fix: set Send_field.org_col_name,org_table_name with correct value during Send_field intialization. tests/mysql_client_test.c: test case fix The test was changed because now forgotten attributes are properly set.
Diffstat (limited to 'sql')
-rw-r--r--sql/item.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/item.cc b/sql/item.cc
index a5c88f55487..100ec8b5cfb 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -5764,6 +5764,10 @@ void Item_ref::make_field(Send_field *field)
field->table_name= table_name;
if (db_name)
field->db_name= db_name;
+ if (orig_field_name)
+ field->org_col_name= orig_field_name;
+ if (orig_table_name)
+ field->org_table_name= orig_table_name;
}