postgresql/contrib/test_decoding/expected
Tom Lane 618c16707a Rearrange libpq's error reporting to avoid duplicated error text.
Since commit ffa2e4670, libpq accumulates text in conn->errorMessage
across a whole query cycle.  In some situations, we may report more
than one error event within a cycle: the easiest case to reach is
where we report a FATAL error message from the server, and then a
bit later we detect loss of connection.  Since, historically, each
error PGresult bears the entire content of conn->errorMessage,
this results in duplication of the FATAL message in any output that
concatenates the contents of the PGresults.

Accumulation in errorMessage still seems like a good idea, especially
in view of the number of places that did ad-hoc error concatenation
before ffa2e4670.  So to fix this, let's track how much of
conn->errorMessage has been read out into error PGresults, and only
include new text in later PGresults.  The tricky part of that is
to be sure that we never discard an error PGresult once made (else
we'd risk dropping some text, a problem much worse than duplication).
While libpq formerly did that in some code paths, a little bit of
rearrangement lets us postpone making an error PGresult at all until
we are about to return it.

A side benefit of that postponement is that it now becomes practical
to return a dummy static PGresult in cases where we hit out-of-memory
while trying to manufacture an error PGresult.  This eliminates the
admittedly-very-rare case where we'd return NULL from PQgetResult,
indicating successful query completion, even though what actually
happened was an OOM failure.

Discussion: https://postgr.es/m/ab4288f8-be5c-57fb-2400-e3e857f53e46@enterprisedb.com
2022-02-18 15:35:21 -05:00
..
binary.out Message style improvements 2015-10-28 20:38:36 -04:00
concurrent_ddl_dml.out Improve display of query results in isolation tests. 2021-06-23 11:13:00 -04:00
concurrent_stream.out Improve display of query results in isolation tests. 2021-06-23 11:13:00 -04:00
ddl.out Add decoding of sequences to test_decoding 2022-02-12 00:51:46 +01:00
decoding_in_xact.out Add decoding of sequences to test_decoding 2022-02-12 00:51:46 +01:00
decoding_into_rel.out Add decoding of sequences to test_decoding 2022-02-12 00:51:46 +01:00
delayed_startup.out Improve display of query results in isolation tests. 2021-06-23 11:13:00 -04:00
messages.out Add required database and origin filtering for logical messages. 2016-04-13 17:38:54 -07:00
mxact.out Add decoding of sequences to test_decoding 2022-02-12 00:51:46 +01:00
oldest_xmin.out Improve display of query results in isolation tests. 2021-06-23 11:13:00 -04:00
ondisk_startup.out Add decoding of sequences to test_decoding 2022-02-12 00:51:46 +01:00
permissions.out Replace AclObjectKind with ObjectType 2018-01-19 14:01:15 -05:00
prepared.out Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02:00
replorigin.out Add decoding of sequences to test_decoding 2022-02-12 00:51:46 +01:00
rewrite.out Add decoding of sequences to test_decoding 2022-02-12 00:51:46 +01:00
sequence.out Fix skip-empty-xacts with sequences in test_decoding 2022-02-12 23:50:42 +01:00
slot.out Add decoding of sequences to test_decoding 2022-02-12 00:51:46 +01:00
slot_creation_error.out Rearrange libpq's error reporting to avoid duplicated error text. 2022-02-18 15:35:21 -05:00
snapshot_transfer.out Improve display of query results in isolation tests. 2021-06-23 11:13:00 -04:00
spill.out Make contrib/test_decoding regression tests safe for CZ locale. 2016-11-21 20:39:28 -05:00
stats.out Fix tests for replication slots stats. 2021-05-13 10:23:27 +05:30
stream.out Fix assertion during streaming of multi-insert toast changes. 2021-05-27 07:59:43 +05:30
subxact_without_top.out Improve display of query results in isolation tests. 2021-06-23 11:13:00 -04:00
time.out logical decoding: fix decoding of a commit's commit time. 2016-03-02 23:42:21 -08:00
toast.out WAL log unchanged toasted replica identity key attributes. 2022-02-14 08:55:58 +05:30
truncate.out Add decoding of sequences to test_decoding 2022-02-12 00:51:46 +01:00
twophase.out Add option to enable two_phase commits via pg_create_logical_replication_slot. 2021-03-03 07:34:11 +05:30
twophase_snapshot.out Improve display of query results in isolation tests. 2021-06-23 11:13:00 -04:00
twophase_stream.out Add option to enable two_phase commits via pg_create_logical_replication_slot. 2021-03-03 07:34:11 +05:30
xact.out Don't propagate a null subtransaction snapshot up to parent transaction. 2016-08-07 13:15:55 -04:00