A commit commits all updates for all cursors for the connection. There is a 3rd level of shadowing for statement sequences executed by a cursor. Finally a commit record is written to the log and the log is flushed. At this point the transaction is considered committed and recoverable, and a new transaction begins. A checkpoint operation brings the persistent copies of the tables on disk in sync with the in-memory copies in the active database.
Checkpoints occur at server shut down or periodically during server operation.
At checkpoint the old persistent value of each table that has been updated since the last checkpoint is copied to a back up file, and the currently active value is written to the permanent table file. Finally if the data definitions have changed the old definitions are stored to a backup file and the new definitions are written to the permanent data definition file. To signal successful checkpoint the log file is then deleted. Finally all back up table files are deleted. Each table file representation is annotated with a checksum, so the recovery system can check that the file was stored correctly.