Hello
drop_lsn = GetXLogInsertRecPtr();
-
+ RegisterDropDatabaseLog(db_id, dbname, drop_lsn, already_invalid);
+ }
...
+ if (!dropdb_callback_registered)
+ {
+ RegisterXactCallback(DropDbXactCallback, NULL);
If a backend crashes between them the callback doesn't run and we are
left with an invalid database without logging it.
You can reproduce this by stopping the drop at the
'dropdb-after-invalid-marker' injection point and killing the backend.