Обсуждение: pgsql: Fix a couple of snapshot management bugs in the new ResourceOwner

Поиск
Список
Период
Сортировка

pgsql: Fix a couple of snapshot management bugs in the new ResourceOwner

От
alvherre@postgresql.org (Alvaro Herrera)
Дата:
Log Message:
-----------
Fix a couple of snapshot management bugs in the new ResourceOwner world:
non-writable large objects need to have their snapshots registered on the
transaction resowner, not the current portal's, because it must persist until
the large object is closed (which the portal does not).  Also, ensure that the
serializable snapshot is recorded by the transaction resource owner too, even
when a subtransaction has changed the current resource owner before
serializable is taken.

Per bug reports from Pavan Deolasee.

Modified Files:
--------------
    pgsql/src/backend/access/transam:
        xact.c (r1.269 -> r1.270)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xact.c?r1=1.269&r2=1.270)
    pgsql/src/backend/storage/large_object:
        inv_api.c (r1.135 -> r1.136)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/large_object/inv_api.c?r1=1.135&r2=1.136)
    pgsql/src/backend/utils/time:
        snapmgr.c (r1.7 -> r1.8)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/time/snapmgr.c?r1=1.7&r2=1.8)
    pgsql/src/include/utils:
        snapmgr.h (r1.2 -> r1.3)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/snapmgr.h?r1=1.2&r2=1.3)
    pgsql/src/test/regress/input:
        largeobject.source (r1.4 -> r1.5)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/input/largeobject.source?r1=1.4&r2=1.5)
    pgsql/src/test/regress/output:
        largeobject.source (r1.4 -> r1.5)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/output/largeobject.source?r1=1.4&r2=1.5)
        largeobject_1.source (r1.1 -> r1.2)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/output/largeobject_1.source?r1=1.1&r2=1.2)