Denis Perchine <dyp@perchine.com> writes:
> First of all it will not break lo_creat, lo_unlink for sure.
lo_creat depends on inv_create followed by inv_close; your patch
proposed to disable both of those outside transaction blocks.
lo_unlink depends on inv_drop, which ditto. Your patch therefore
restricts lo_creat and lo_unlink to be done inside transaction blocks,
which is a new and completely unnecessary restriction that will
doubtless break many existing applications.
> But I do not see any reasons why we not put lo_import, and lo_export in TX.
> At least this will prevent other backends from reading partially imported
> BLOBs...
lo_import and lo_export always execute in a transaction, just like any
other backend operation. There is no need to force them to be done in
a transaction block. If you're not clear about this, perhaps you need
to review the difference between transactions and transaction blocks.
regards, tom lane