Normally, in order for an application (including an SQL client or server) to "see" the modifications made in the current transaction, it is necessary to call a checkpoint API, for example
mco_trans_checkpoint()
. When the autocheckpoint feature is enabled, the SQL engine checkpoints the transaction every time any modifications are made.The feature is enabled and disabled by calling the
autocheckpoint()
function as follows:
select autocheckpoint(true);
or
select autocheckpoint(false);
Note that, for the autocheckpoint to make sense, SQL transactions must be opened explicitly via the start transaction statement which will later be committed or rolled back. For example:
XSQL>create table t(s string); XSQL>insert into t values('one'); XSQL>select autocheckpoint(true); #1 ------------------------------------------------------------------------------ null Selected records: 1 XSQL>start transaction; XSQL>select * from t; s ------------------------------------------------------------------------------ one Selected records: 1 XSQL>update t set s = 'two' where s = 'one'; XSQL>select * from t; s ------------------------------------------------------------------------------ two Selected records: 1 XSQL>rollback transaction; XSQL>select * from t; s ------------------------------------------------------------------------------ one Selected records: 1