Skip to content

Commit 2d5282c

Browse files
committed
WIP: Do not log key deletion separately for encrypted tables
1 parent 7b17f53 commit 2d5282c

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

contrib/pg_tde/src/smgr/pg_tde_smgr.c

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -102,23 +102,20 @@ tde_smgr_create_key_redo(const RelFileLocator *rlocator)
102102
{
103103
InternalKey key;
104104

105-
if (pg_tde_has_smgr_key(*rlocator))
106-
return;
105+
pg_tde_free_key_map_entry(*rlocator);
107106

108107
pg_tde_generate_internal_key(&key, TDE_KEY_TYPE_SMGR);
109108

110109
pg_tde_save_smgr_key(*rlocator, &key);
111110
}
112111

113112
static void
114-
tde_smgr_delete_key(const RelFileLocatorBackend *smgr_rlocator)
113+
tde_smgr_log_delete_key(const RelFileLocatorBackend *smgr_rlocator)
115114
{
116115
XLogRelKey xlrec = {
117116
.rlocator = smgr_rlocator->locator,
118117
};
119118

120-
pg_tde_free_key_map_entry(smgr_rlocator->locator);
121-
122119
XLogBeginInsert();
123120
XLogRegisterData((char *) &xlrec, sizeof(xlrec));
124121
XLogInsert(RM_TDERMGR_ID, XLOG_TDE_DELETE_RELATION_KEY);
@@ -380,15 +377,15 @@ tde_mdcreate(RelFileLocator relold, SMgrRelation reln, ForkNumber forknum, bool
380377
* If we have a key for this relation already, we need to remove it. This
381378
* can happen if OID is re-used after a crash left a key for a
382379
* non-existing relation in the key file.
383-
*
384-
* If we're in redo, a separate WAL record will make sure the key is
385-
* removed.
386380
*/
387381
if (!RelFileLocatorBackendIsTemp(reln->smgr_rlocator))
388-
tde_smgr_delete_key(&reln->smgr_rlocator);
382+
pg_tde_free_key_map_entry(reln->smgr_rlocator.locator);
389383

390384
if (!tde_smgr_should_encrypt(&reln->smgr_rlocator, &relold))
391385
{
386+
if (!RelFileLocatorBackendIsTemp(reln->smgr_rlocator))
387+
tde_smgr_log_delete_key(&reln->smgr_rlocator);
388+
392389
tdereln->encryption_status = RELATION_NOT_ENCRYPTED;
393390
return;
394391
}

0 commit comments

Comments
 (0)