summaryrefslogtreecommitdiff
path: root/support-files
diff options
context:
space:
mode:
authorNikita Malyavin <nikitamalyavin@gmail.com>2020-08-21 20:05:02 +1000
committerNikita Malyavin <nikitamalyavin@gmail.com>2020-09-01 18:27:09 +1000
commita3d66090c789dfd9f31a63187ef2cf7a85df9c1b (patch)
tree7f95e87d5e57c384de5122462dea150564819878 /support-files
parent6112a0f93d137b9754bc04449873311784e0edd9 (diff)
downloadmariadb-git-a3d66090c789dfd9f31a63187ef2cf7a85df9c1b.tar.gz
MDEV-18366 Crash on SELECT on a table with indexed virtual columns
The problem was in improper error handling behavior in `row_upd_build_difference_binary`: `innobase_free_row_for_vcol` wasn't called. To eliminate this problem in all potential places, a refactoring has been made: * class ib_vcol_row is added. It owns VCOL_STORAGE and heap and maintains it in RAII manner * all innobase_allocate_row_for_vcol/innobase_free_row_for_vcol pairs are substituted with ib_vcol_row usage * row_merge_buf_add is only left untouched because it doesn't own vheap passed as an argument * innobase_allocate_row_for_vcol does not allocate VCOL_STORAGE anymore and accepts it as an argument -- this reduces a number of memory allocations * move rec_printer out of `#ifndef DBUG_OFF` and mark it cold
Diffstat (limited to 'support-files')
0 files changed, 0 insertions, 0 deletions