Hi Greg,

Thanks for v9,

I had a few thoughs here.

1. If a checkpoint comes after a transaction writes its undo, a crash
does not undo it. Replay starts at the redo point.  CREATE
DATABASE can hit this.

2. A crash in the middle of CREATE DATABASE still seems to leave the
new directory behind. With wal_log the undo only calls rmdir().
That fails because the relation files are still inside. With file_copy
the cleanup is only kept in memory, so the crash loses it.

3. These commands cannot run in a transaction block, so the
subtransaction and 2PC code is never used. Could it wait for a user?

Thanks,
Shihao

Reply via email to