A transaction starts in the active state. When it finishes its final statement, it
enters the partially committed state. At this point, the transaction has completed
its execution, but it is still possible that it may have to be aborted, since the actual
output may still be temporarily residing in main memory, and thus a hardware
failure may preclude its successful completion.