UltraLite commit_flush_count option [temporary]

Sets a commit count threshold, after which a commit flush is performed.

Allowed values

Integer

Default

10

Remarks

Use 0 to disable the transaction count. This means that here is no limit on the number of commits with respect to when a flush is triggered.

You must set this option each time you start the database if it is required.

Both commit_flush_count and commit_flush_timeout are temporary database options. You must set these options each time you start a database. They persist as long as the database continues to run. They are only required when you set COMMIT_FLUSH=grouped as part of a connection string.

When you set this option and set the COMMIT_FLUSH connection parameter to grouped in your connection string, either threshold triggers a flush. When the flush occurs, UltraLite sets the counter and the timer back to 0. Then, both the counter and timer are monitored until one of these thresholds is subsequently reached.

An important consideration for setting the commit flush options is how much the delay to flush committed transactions poses a risk to the recoverability of your data. There is a slight chance that a transaction may be lost, even though it has been committed. If a serious hardware failure occurs after a commit, but before the transaction is flushed to storage, the transaction is rolled back on recovery. A longer delay can increase UltraLite performance. You must choose an appropriate count threshold with care.

To set the commit_flush_count option from a client application, set the option using the set database option function for the programming interface you are using.

See also