1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Ensure that table->vcol_set is properly restored if used

Code in QUICK_RANGE_SELECT::init_ror_merged_scan() could theoretically
have caused crashes if this was ever called from an update or delete

This also found a bug in the vcol/range.result. file.
This commit is contained in:
Monty
2018-01-01 14:44:20 +02:00
parent 08ff39dca2
commit 7e882a60bf
3 changed files with 21 additions and 13 deletions

View File

@ -1540,7 +1540,7 @@ end:
head->file= org_file;
/* Restore head->read_set (and write_set) to what they had before the call */
head->column_bitmaps_set(save_read_set, save_write_set);
head->column_bitmaps_set(save_read_set, save_write_set, save_vcol_set);
if (reset())
{
@ -11364,7 +11364,10 @@ int QUICK_RANGE_SELECT::reset()
buf_size/= 2;
}
if (!mrr_buf_desc)
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
{
error= HA_ERR_OUT_OF_MEM;
goto err;
}
/* Initialize the handler buffer. */
mrr_buf_desc->buffer= mrange_buff;