7
7
#include "access/pg_tde_tdemap.h"
8
8
#include "pg_tde_event_capture.h"
9
9
10
+ typedef enum TDEMgrRelationDataEncryptionStatus
11
+ {
12
+ /* This is a plaintext relation */
13
+ RELATION_NOT_ENCRYPTED = 0 ,
14
+
15
+ /* This is an encrypted relation, and we have the key available. */
16
+ RELATION_KEY_AVAILABLE = 1 ,
17
+ } TDEMgrRelationDataEncryptionStatus ;
18
+
10
19
typedef struct TDESMgrRelationData
11
20
{
12
21
/* parent data */
@@ -19,7 +28,7 @@ typedef struct TDESMgrRelationData
19
28
int md_num_open_segs [MAX_FORKNUM + 1 ];
20
29
struct _MdfdVec * md_seg_fds [MAX_FORKNUM + 1 ];
21
30
22
- bool encrypted_relation ;
31
+ TDEMgrRelationDataEncryptionStatus encryption_status ;
23
32
InternalKey relKey ;
24
33
} TDESMgrRelationData ;
25
34
@@ -72,7 +81,7 @@ tde_mdwritev(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
72
81
TDESMgrRelation tdereln = (TDESMgrRelation ) reln ;
73
82
InternalKey * int_key = & tdereln -> relKey ;
74
83
75
- if (! tdereln -> encrypted_relation )
84
+ if (tdereln -> encryption_status == RELATION_NOT_ENCRYPTED )
76
85
{
77
86
mdwritev (reln , forknum , blocknum , buffers , nblocks , skipFsync );
78
87
}
@@ -131,7 +140,7 @@ tde_mdextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
131
140
TDESMgrRelation tdereln = (TDESMgrRelation ) reln ;
132
141
InternalKey * int_key = & tdereln -> relKey ;
133
142
134
- if (! tdereln -> encrypted_relation )
143
+ if (tdereln -> encryption_status == RELATION_NOT_ENCRYPTED )
135
144
{
136
145
mdextend (reln , forknum , blocknum , buffer , skipFsync );
137
146
}
@@ -160,7 +169,7 @@ tde_mdreadv(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
160
169
161
170
mdreadv (reln , forknum , blocknum , buffers , nblocks );
162
171
163
- if (! tdereln -> encrypted_relation )
172
+ if (tdereln -> encryption_status == RELATION_NOT_ENCRYPTED )
164
173
return ;
165
174
166
175
for (int i = 0 ; i < nblocks ; ++ i )
@@ -233,12 +242,12 @@ tde_mdcreate(RelFileLocator relold, SMgrRelation reln, ForkNumber forknum, bool
233
242
234
243
if (key )
235
244
{
236
- tdereln -> encrypted_relation = true ;
245
+ tdereln -> encryption_status = RELATION_KEY_AVAILABLE ;
237
246
tdereln -> relKey = * key ;
238
247
}
239
248
else
240
249
{
241
- tdereln -> encrypted_relation = false ;
250
+ tdereln -> encryption_status = RELATION_NOT_ENCRYPTED ;
242
251
}
243
252
}
244
253
}
@@ -258,12 +267,12 @@ tde_mdopen(SMgrRelation reln)
258
267
259
268
if (key )
260
269
{
261
- tdereln -> encrypted_relation = true ;
270
+ tdereln -> encryption_status = RELATION_KEY_AVAILABLE ;
262
271
tdereln -> relKey = * key ;
263
272
}
264
273
else
265
274
{
266
- tdereln -> encrypted_relation = false ;
275
+ tdereln -> encryption_status = RELATION_NOT_ENCRYPTED ;
267
276
}
268
277
}
269
278
0 commit comments