# transaction flush statement

The transaction flush statement enables
or disables the transaction flush mechanism.

## Syntax

```
transaction flush [on|off|exp]
```

## Parameter(s)

| on | Enables the transaction flush mechanism. |
| --- | --- |
| off | Disables the transaction flush mechanism. |
| exp | The transaction flush mechanism is turned on if the expression evaluates to nonzero (true) and turned off if it evaluates to 0 (false). |

## Description

Normally, all updates processed
within a transaction are force-flushed to a reliable medium (disk).
This is done to assure ACID (Atomic, Consistent, Isolated, Durable)
compliance, that is, the ability to recover a transaction if the machine
should halt unexpectedly.

If ACID compliance is not necessary,
then this flush mechanism can be disabled, providing significantly
higher performance.

Once the flush is turned off, it remains
off until the program completes.

If the flush is disabled and
the machine halts, all pending transactions are aborted in a potentially
semi-committed state.

## Example(s)

```
transaction flush off else msg="9 flush"; goto fail
transaction start
write "1" on "1"
transaction flush 1 else msg="9 flush2"; goto fail
transaction rollback
delete 1
```

## See also

- [begin work statement](https://d3codex.com/pickbasic-flashbasic/begin-work-statement/)

---
Source: https://d3codex.com/pickbasic-flashbasic/transaction-flush-statement/ - part of the D3Codex reference.
