> On Mar 9, 2023, at 11:18 PM, Peter Eisentraut 
> <peter.eisentr...@enterprisedb.com> wrote:
> 
> Here is an updated patch.

Thanks, Peter.  The patch appears to be in pretty good shape, but I have a few 
comments and concerns.

CEKIsVisible() and CMKIsVisible() are obviously copied from 
TSParserIsVisible(), and the code comments weren't fully updated.  
Specifically, the phrase "hidden by another parser of the same name" should be 
updated to not mention "parser".

Why does get_cmkalg_name() return the string "unspecified" for 
PG_CMK_UNSPECIFIED, but the next function get_cmkalg_jwa_name() returns NULL 
for PG_CMK_UNSPECIFIED?  It seems they would both return NULL, or both return 
"unspecified".  If there's a reason for the divergence, could you add a code 
comment to clarify?  BTW, get_cmkalg_jwa_name() has no test coverage.
 
Looking further at code coverage, the new conditional in printsimple_startup() 
is never tested with (MyProcPort->column_encryption_enabled), so the block is 
never entered.  This would seem to be a consequence of backends like walsender 
not using column encryption, which is not terribly surprising, but it got me 
wondering if you had a particular client use case in mind when you added this 
block?

The new function pg_encrypted_in() appears totally untested, but I have to 
wonder if that's because we're not round-trip testing pg_dump with column 
encryption...?  The code coverage in pg_dump looks fairly decent, but some 
column encryption code is not covered.

—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company





Reply via email to