Skip to content

Commit 5570ab3

Browse files
kevgsmidenok
authored andcommitted
SQL: history records became alive on copy [fixes #212]
1 parent 4b0f128 commit 5570ab3

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

mysql-test/suite/versioning/r/alter.result

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,6 @@ t CREATE TABLE `t` (
366366
select * from t;
367367
a b
368368
2 NULL
369-
1 NULL
370369
alter table t drop column b, algorithm=copy;
371370
show create table t;
372371
Table Create Table
@@ -393,7 +392,6 @@ t CREATE TABLE `t` (
393392
select * from t;
394393
a b
395394
2 NULL
396-
1 NULL
397395
alter table t drop column b, algorithm=inplace;
398396
show create table t;
399397
Table Create Table

sql/sql_table.cc

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10052,7 +10052,17 @@ copy_data_between_tables(THD *thd, TABLE *from, TABLE *to,
1005210052
error= 1;
1005310053
break;
1005410054
}
10055-
error=to->file->ha_write_row(to->record[0]);
10055+
if (keep_versioned && to->versioned_by_engine() &&
10056+
!thd->variables.vers_ddl_survival)
10057+
{
10058+
to->s->versioned= false;
10059+
}
10060+
error= to->file->ha_write_row(to->record[0]);
10061+
if (keep_versioned && to->versioned_by_engine() &&
10062+
!thd->variables.vers_ddl_survival)
10063+
{
10064+
to->s->versioned= true;
10065+
}
1005610066
to->auto_increment_field_not_null= FALSE;
1005710067
if (error)
1005810068
{

0 commit comments

Comments
 (0)