mirror of
https://github.com/MariaDB/server.git
synced 2026-03-09 09:58:41 +01:00
Reason: ======== SAVEPOINT A; <Bulk DDL FAILS> ROLLBACK TO SAVEPOINT A; When DDL bulk operation fails, InnoDB does rollback the whole transaction and it makes the transaction state to TRX_STATE_NOT_STARTED. In innobase_rollback_to_savepoint(), InnoDB fails with invalid transaction state. Fix: === - InnoDB should rollback the bulk insert operation alone instead of complete transaction rollback when InnoDB bulk DDL operation fails. This can be achieved by bulk_rollback_low(). row_mysql_handle_errors(): Avoid complete rollback of transaction when DB_TEMP_FILE_WRITE_FAIL error happens. convert_error_code_to_mysql(): Since InnoDB does partial rollback, remove innodb_transaction_abort() call for DB_TEMP_FILE_WRITE_FAIL error. |
||
|---|---|---|
| .. | ||
| archive | ||
| blackhole | ||
| columnstore | ||
| connect | ||
| csv | ||
| example | ||
| federated | ||
| federatedx | ||
| heap | ||
| innobase | ||
| maria | ||
| mroonga | ||
| myisam | ||
| myisammrg | ||
| oqgraph | ||
| perfschema | ||
| rocksdb | ||
| sequence | ||
| sphinx | ||
| spider | ||
| test_sql_discovery | ||