diff options
Diffstat (limited to 'sql/handler.cc')
-rw-r--r-- | sql/handler.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sql/handler.cc b/sql/handler.cc index 8e07349d600..17922b87b53 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -1740,6 +1740,19 @@ int ha_commit_trans(THD *thd, bool all) thd->lex->alter_info.flags & ALTER_ADD_SYSTEM_VERSIONING && is_real_trans)) { + /* + Apply buffered insert operation at the end of single + statement commit operation. + */ + for (Ha_trx_info *ha_info= trans->ha_list; ha_info; + ha_info= ha_info->next()) + { + if (!ha_info->ht()->bulk_insert_write || + !ha_info->ht()->bulk_insert_write(thd)) + continue; + goto err; + } + ulonglong trx_start_id= 0, trx_end_id= 0; for (Ha_trx_info *ha_info= trans->ha_list; ha_info; ha_info= ha_info->next()) { |