postgresql/contrib/test_decoding/expected
Andres Freund 89fd41b390 Fix and improve cache invalidation logic for logical decoding.
There are basically three situations in which logical decoding needs
to perform cache invalidation. During/After replaying a transaction
with catalog changes, when skipping a uninteresting transaction that
performed catalog changes and when erroring out while replaying a
transaction. Unfortunately these three cases were all done slightly
differently - partially because 8de3e410fa, which greatly simplifies
matters, got committed in the midst of the development of logical
decoding.

The actually problematic case was when logical decoding skipped
transaction commits (and thus processed invalidations). When used via
the SQL interface cache invalidation could access the catalog - bad,
because we didn't set up enough state to allow that correctly. It'd
not be hard to setup sufficient state, but the simpler solution is to
always perform cache invalidation outside a valid transaction.

Also make the different cache invalidation cases look as similar as
possible, to ease code review.

This fixes the assertion failure reported by Antonin Houska in
53EE02D9.7040702@gmail.com. The presented testcase has been expanded
into a regression test.

Backpatch to 9.4, where logical decoding was introduced.
2014-11-13 20:34:31 +01:00
..
binary.out Improve documentation about binary/textual output mode for output plugins. 2014-10-01 13:22:17 +02:00
concurrent_ddl_dml.out Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02:00
ddl.out Assorted message fixes and improvements 2014-09-05 01:25:27 -04:00
decoding_in_xact.out Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02:00
decoding_into_rel.out Fix and improve cache invalidation logic for logical decoding. 2014-11-13 20:34:31 +01:00
delayed_startup.out Introduce logical decoding. 2014-03-03 16:32:18 -05:00
mxact.out Introduce logical decoding. 2014-03-03 16:32:18 -05:00
ondisk_startup.out Fix several weaknesses in slot and logical replication on-disk serialization. 2014-11-12 18:52:49 +01:00
permissions.out Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02: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
rewrite.out Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02:00
toast.out Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02:00