1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

SQL: segfault after make_select() in VTMD

This commit is contained in:
Eugene Kosov
2017-10-04 13:36:31 +03:00
committed by GitHub
parent 1d056f5abc
commit d7a484b04f
3 changed files with 9 additions and 1 deletions

View File

@@ -354,6 +354,10 @@ u0_vtmd
u0_vtmd_vtmd u0_vtmd_vtmd
Warnings: Warnings:
Warning 4088 Table `test.u0_vtmd` is not a VTMD table Warning 4088 Table `test.u0_vtmd` is not a VTMD table
set versioning_alter_history= survive;
create or replace table t (x int) with system versioning;
select * from t for system_time all;
x sys_trx_start sys_trx_end
drop database db0; drop database db0;
drop database db1; drop database db1;
drop database test; drop database test;

View File

@@ -193,6 +193,10 @@ set versioning_hide= auto;
create or replace table u0_vtmd (x int) with system versioning; create or replace table u0_vtmd (x int) with system versioning;
show tables; show tables;
set versioning_alter_history= survive;
create or replace table t (x int) with system versioning;
select * from t for system_time all;
drop database db0; drop database db0;
drop database db1; drop database db1;
drop database test; drop database test;

View File

@@ -547,7 +547,7 @@ VTMD_table::find_archive_name(THD *thd, String &out)
while (!(error= info.read_record(&info)) && !thd->killed && !thd->is_error()) while (!(error= info.read_record(&info)) && !thd->killed && !thd->is_error())
{ {
if (select->skip_record(thd) > 0) if (!select || select->skip_record(thd) > 0)
{ {
vtmd.table->field[FLD_ARCHIVE_NAME]->val_str(&out); vtmd.table->field[FLD_ARCHIVE_NAME]->val_str(&out);
break; break;