summaryrefslogtreecommitdiff
path: root/sql/sql_partition.cc
diff options
context:
space:
mode:
authorunknown <holyfoot@vva.(none)>2006-03-20 17:30:01 +0400
committerunknown <holyfoot@vva.(none)>2006-03-20 17:30:01 +0400
commitafe397ff66299fb0707cf080cbb51bcf3cadace8 (patch)
tree44832da5b86101dae050c8fe1ccc93c17961b8c1 /sql/sql_partition.cc
parent723c3a504fcbd2b9fc37ae7369a7eb93ab3d3997 (diff)
downloadmariadb-git-afe397ff66299fb0707cf080cbb51bcf3cadace8.tar.gz
bug #17290 (sp with delete, create and rollback causes MySQLD core)
additional fixes mysql-test/r/partition.result: result fixed mysql-test/t/partition.test: testcase sql/sql_parse.cc: part_info cloning moved here sql/sql_partition.cc: fixes sql/sql_table.cc: part_info cloning removed
Diffstat (limited to 'sql/sql_partition.cc')
-rw-r--r--sql/sql_partition.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc
index 8cafeb55390..3cd6a87682f 100644
--- a/sql/sql_partition.cc
+++ b/sql/sql_partition.cc
@@ -3760,7 +3760,7 @@ bool mysql_unpack_partition(THD *thd, const uchar *part_buf,
}
}
else
- part_info= old_lex->part_info;
+ part_info= thd->work_part_info;
}
table->part_info= part_info;
table->file->set_part_info(part_info);
@@ -4077,7 +4077,9 @@ uint prep_alter_part_table(THD *thd, TABLE *table, ALTER_INFO *alter_info,
if (table->part_info)
table->s->version= 0L;
- if (!(thd->work_part_info= thd->lex->part_info->get_clone()))
+ thd->work_part_info= thd->lex->part_info;
+ if (thd->work_part_info &&
+ !(thd->work_part_info= thd->lex->part_info->get_clone()))
DBUG_RETURN(TRUE);
if (alter_info->flags &