Debian Patches

Status for pg-ivm/1.15-2

Patch Description Author Forwarded Bugs Origin Last update
173.patch Improve stability of SERIALIZABLE isolation tests
When getLastUpdateXid() uses a latest catalog snapshot under
SERIALIZABLE, whether an RW-conflict is recorded may depend on the HOT
tuple layout. Previously, the function stopped after finding the expected
tuple, so it could miss an invisible tuple that would trigger an
RW-conflict check.

Modified the function to call systable_getnext() once more after finding
the expected tuple and confirm that no additional tuples are returned.
This causes any remaining tuples to be checked for visibility, reducing
the dependency on the HOT tuple layout and improving the stability of the
isolation tests.
Yugo Nagata <nagata@sraoss.co.jp> no 2026-07-24
163.patch Fix "could not obtain lock" error
In REPEATABLE READ / SERIALIZABLE, IVM_immediate_before() took the matview
lock with a no-wait ConditionalLockRelationOid() and errored immediately when
it was busy. But that lock is also held briefly by create_immv()/refresh_immv(),
and commit releases locks one at a time, so a waiter can reach the matview lock
before the committer has released it and fail with a spurious "could not obtain
lock" error -- with no concurrent maintenance actually in progress. This made
create_insert2/create_insert3 flaky under load.

Just wait for the lock, as READ COMMITTED already did. Real anomalies are still
caught by the existing last-update XID check right after, which is independent
of how the lock was acquired.

Isolation test expected outputs are updated accordingly.

Fixes #153
Dzmitry Levankou <dzmitry.levankou@snowflake.com> no 2026-06-10

All known versions for source package 'pg-ivm'

Links