public boolean checkpoint() {
		synchronized (snapshotLock) {
			synchronized (this) {
				if (currentCheckpointHead == null) {
					// Nothing has been stored at current checkpoint
					return false;
				}

				if (lockCount != 0) {
					throw new AssertException(
						"Can't checkpoint with locked buffers (" + lockCount + " locks found)");
				}

				currentCheckpointHead = null;
				return true;
			}
		}
	}
Completes a transaction by closing the current checkpoint.  All
modified buffers since the previous invocation of this method
will be contained within "transaction".
The redo stack will be cleared.
@return true if checkpoint successful, or false if buffers are read-only
Ghidra/Framework/DB/src/main/java/db/buffers/BufferMgr.java