pgsql: Prevent write operations on large objects in read-only transacti

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Prevent write operations on large objects in read-only transacti
Date: 2022-07-04 06:49:54
Message-ID: E1o8Fu5-0017QG-Gf@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Prevent write operations on large objects in read-only transactions

Attempting such an operation would already fail, but in various and
confusing ways. For example, while in recovery, some elog() messages
would be reported, but these should never be user-facing. This commit
restricts any write operations done on large objects in a read-only
context, so as the errors generated are more user-friendly. This is per
the discussion done with Tom Lane and Robert Haas.

Some regression tests are added to check the case of all the SQL
functions working on large objects (including an update of the test's
alternate output).

Author: Yugo Nagata
Discussion: https://postgr.es/m/20220527153028.61a4608f66abcd026fd3806f@sraoss.co.jp

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/55f4802785f66a584c05dca40e5d9b25491674b2

Modified Files
--------------
doc/src/sgml/lobj.sgml | 4 ++-
src/backend/libpq/be-fsstubs.c | 21 +++++++++++++
src/test/regress/expected/largeobject.out | 49 +++++++++++++++++++++++++++++
src/test/regress/expected/largeobject_1.out | 49 +++++++++++++++++++++++++++++
src/test/regress/sql/largeobject.sql | 44 ++++++++++++++++++++++++++
5 files changed, 166 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Kyotaro Horiguchi 2022-07-04 08:31:46 Re: pgsql: dshash: Add sequential scan support.
Previous Message Peter Eisentraut 2022-07-04 06:09:08 pgsql: Fix for change timeline field of IDENTIFY_SYSTEM to int8