| 3542 | bool prepare(const rocksdb::TransactionName &name) override { return true; } |
| 3543 | |
| 3544 | bool commit_no_binlog() override { |
| 3545 | bool res = false; |
| 3546 | rocksdb::Status s; |
| 3547 | rocksdb::TransactionDBWriteOptimizations optimize; |
| 3548 | optimize.skip_concurrency_control = true; |
| 3549 | |
| 3550 | s = merge_auto_incr_map(m_batch->GetWriteBatch()); |
| 3551 | if (!s.ok()) { |
| 3552 | rdb_handle_io_error(s, RDB_IO_ERROR_TX_COMMIT); |
| 3553 | res = true; |
| 3554 | goto error; |
| 3555 | } |
| 3556 | |
| 3557 | release_snapshot(); |
| 3558 | |
| 3559 | s = rdb->Write(write_opts, optimize, m_batch->GetWriteBatch()); |
| 3560 | if (!s.ok()) { |
| 3561 | rdb_handle_io_error(s, RDB_IO_ERROR_TX_COMMIT); |
| 3562 | res = true; |
| 3563 | goto error; |
| 3564 | } |
| 3565 | on_commit(); |
| 3566 | error: |
| 3567 | on_rollback(); |
| 3568 | reset(); |
| 3569 | |
| 3570 | m_write_count = 0; |
| 3571 | m_insert_count = 0; |
| 3572 | m_update_count = 0; |
| 3573 | m_delete_count = 0; |
| 3574 | set_tx_read_only(false); |
| 3575 | m_rollback_only = false; |
| 3576 | return res; |
| 3577 | } |
| 3578 | |
| 3579 | /* Implementations of do_*savepoint based on rocksdB::WriteBatch savepoints */ |
| 3580 | void do_set_savepoint() override { m_batch->SetSavePoint(); } |
nothing calls this directly
no test coverage detected