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.
If you set this option in addition to the commit_flush_timeout option and if you have set the COMMIT_FLUSH connection parameter
to grouped, 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 timeout threshold
To set the commit_flush_timeout option from a client application, set it using the set database option function for the programming
interface you are using or use the SET OPTION SQL statement.