diff options
author | Sergey Glukhov <gluh@mysql.com> | 2008-08-20 14:49:28 +0500 |
---|---|---|
committer | Sergey Glukhov <gluh@mysql.com> | 2008-08-20 14:49:28 +0500 |
commit | de73b729543f40f46463c0134e380057ee4adb27 (patch) | |
tree | cfab6f009ae2b2b34b94467246a6fd6ca9fbe055 /tests | |
parent | 40bd9a42183146253018c50fe213ba60c77b4dc1 (diff) | |
download | mariadb-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 'tests')
-rw-r--r-- | tests/mysql_client_test.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index 532f61f252c..9270a2a9d60 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -16162,7 +16162,7 @@ static void test_bug32265() metadata= mysql_stmt_result_metadata(stmt); field= mysql_fetch_field(metadata); DIE_UNLESS(strcmp(field->table, "v1") == 0); - DIE_UNLESS(strcmp(field->org_table, "t1") == 0); + DIE_UNLESS(strcmp(field->org_table, "v1") == 0); DIE_UNLESS(strcmp(field->db, "client_test_db") == 0); mysql_free_result(metadata); mysql_stmt_close(stmt); @@ -16174,7 +16174,7 @@ static void test_bug32265() metadata= mysql_stmt_result_metadata(stmt); field= mysql_fetch_field(metadata); DIE_UNLESS(strcmp(field->table, "v1") == 0); - DIE_UNLESS(strcmp(field->org_table, "t1") == 0); + DIE_UNLESS(strcmp(field->org_table, "v1") == 0); DIE_UNLESS(strcmp(field->db, "client_test_db") == 0); mysql_free_result(metadata); mysql_stmt_close(stmt); |