public static void initializeSystem ( Transaction tx ) { tx . recoveryMgr ( ) . recoverSystem ( tx ) ; tx . bufferMgr ( ) . flushAll ( ) ; VanillaDb . logMgr ( ) . removeAndCreateNewLog ( ) ; // Add a start record for this transaction new StartRecord ( tx . getTransactionNumber ( ) ) . writeToLog ( ) ; }
Goes through the log rolling back all uncompleted transactions . Flushes all modified blocks . Finally writes a quiescent checkpoint record to the log and flush it . This method should be called only during system startup before user transactions begin .