Re: pgsql: Assert(IsTransactionState()) in RelationIdGetRelation().

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: pgsql: Assert(IsTransactionState()) in RelationIdGetRelation().
Дата
Msg-id 27338.1392147900@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: pgsql: Assert(IsTransactionState()) in RelationIdGetRelation().  (Andres Freund <andres@2ndquadrant.com>)
Ответы Re: pgsql: Assert(IsTransactionState()) in RelationIdGetRelation().  (Andres Freund <andres@2ndquadrant.com>)
Список pgsql-committers
Andres Freund <andres@2ndquadrant.com> writes:
> On 2014-02-06 16:28:23 +0000, Tom Lane wrote:
>> Assert(IsTransactionState()) in RelationIdGetRelation().

> Hm, I am not sure if it works this way. In a patched postgres I just
> got:
> #2  0x00000000008b4b27 in ExceptionalCondition (conditionName=0xa90a78 "!(IsTransactionState())", errorType=0xa90708
"FailedAssertion",
>     fileName=0xa905c8 "/home/andres/src/postgresql/src/backend/utils/cache/relcache.c", lineNumber=1622)
>     at /home/andres/src/postgresql/src/backend/utils/error/assert.c:54
> #3  0x00000000008a3fd6 in RelationIdGetRelation (relationId=1259) at
/home/andres/src/postgresql/src/backend/utils/cache/relcache.c:1622
> #4  0x00000000004a25ea in relation_open (relationId=1259, lockmode=1) at
/home/andres/src/postgresql/src/backend/access/heap/heapam.c:1038
> #5  0x00000000004a2898 in heap_open (relationId=1259, lockmode=1) at
/home/andres/src/postgresql/src/backend/access/heap/heapam.c:1201
> #6  0x00000000008a10ba in ScanPgRelation (targetRelId=2693, indexOK=1 '\001', suspend_snap=1 '\001')
>     at /home/andres/src/postgresql/src/backend/utils/cache/relcache.c:308
> #7  0x00000000008a268c in RelationInitPhysicalAddr (relation=0x7fac2a842658)
>     at /home/andres/src/postgresql/src/backend/utils/cache/relcache.c:1019

Um ... what is RelationInitPhysicalAddr doing calling ScanPgRelation?
That function shouldn't be doing any new catalog access.

            regards, tom lane


В списке pgsql-committers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: pgsql: Assert(IsTransactionState()) in RelationIdGetRelation().
Следующее
От: Andres Freund
Дата:
Сообщение: Re: pgsql: Assert(IsTransactionState()) in RelationIdGetRelation().