On 22.03.23 10:00, Peter Eisentraut wrote:
I get that for the type, but why do we need the typmod duplicated as well?

Earlier patch versions didn't do that, but that got really confusing about which type the typmod really belonged to, since code currently assumes that typid+typmod makes sense.  Earlier patch versions had three fields (usertypid, keyid, encalg), and then I changed it to (usertypid, usertypmod, keyid) and instead placed the encalg into the real typmod, which made everything much cleaner.

I thought about this some more. I think we could get rid of attusertypmod and just hardcode it as -1. The idea would be that if you ask for an encrypted column of type, say, varchar(500), the server isn't able to enforce that anyway, so we could just prohibit specifying a nondefault typmod for encrypted columns.

I'm not sure if there are weird types that use typmods in some way where this wouldn't work. But so far I could not think of anything.

I'll look into this some more.



Reply via email to