14.02.2022 22:40, Roman Simakov wrote:

I don't remember exactly why we decided to make it nullable. I suppose
for more backward compatibility. If a client doesn't use it it will be
NULL everywhere.

Maybe the idea was to distinguish between legacy databases (restored without SQL SECURITY) and explicitly declared SQL SECURITY in newer databases?

So in fact it can be NULL physically. But logically only two options
make sense. NULL is considered as legacy, i.e. INVOKER.
Thus you are right. For INVOKER we have two values to read and one to write.

The question is whether seeing legacy is really important. If not, I'd suggest to convert NULL into INVOKER during restore.


Dmitry


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to