Transactions for MariaDB Xpand

Overview

By default, Xpand uses a default of AUTOCOMMIT = 1 for all sessions. START TRANSACTION or BEGIN will begin a new explicit transaction.

autocommit

The variable for autocommit can be set globally or for a session. If autocommit is disabled, changes made to tables are not made permanent until COMMIT is issued.

Caveats for Transactions

  • Xpand does not issue an implicit COMMIT for:

    • ALTER TABLE

    • ANALYZE TABLE

    • FLUSH PRIVILEGES

    • FLUSH TABLES

    • REPAIR TABLE

    • UNLOCK TABLES

  • Xpand will drop temporary tables upon transaction ROLLBACK.

  • Xpand will issue an implicit COMMIT when the database is restarted using dbrestart.

  • Xpand will always COMMIT any command to SET a global or session variable.

  • Xpand does not automatically commit data imported using SOURCE.

  • Xpand will issue a COMMIT if it encounters errors for:

    • Unrecognized type name: Unknown type

    • Unknown Session

  • Xpand permits In-Memory Tables to ROLLBACK.

  • When autocommit is enabled, Xpand opens a transaction once the client connects.

Unsupported in Transactions

Xpand does not support:

  • the in_transaction system variable

  • WITH CONSISTENT SNAPSHOT