Re: [HACKERS] Weired FK problem - Mailing list pgsql-hackers

From wieck@debis.com (Jan Wieck)
Subject Re: [HACKERS] Weired FK problem
Date
Msg-id m11wAo3-0003kGC@orion.SAPserv.Hamburg.dsh.de
Whole thread Raw
In response to Weired FK problem  (wieck@debis.com (Jan Wieck))
Responses Re: [HACKERS] Weired FK problem
RE: [HACKERS] Weired FK problem
List pgsql-hackers
>     Why  are  the  visibilities  different  between  INSERTED and
>     DELETED tuples?

    There's something weired going on.  As far as I read the code
    in tqual.c, all changes done  by  transactions  that  started
    before  and  committed  after  my  own  transaction should be
    invisible.

    In the case that works now (PK deleted while FK is inserted),
    HeapTupleSatisfiesSnapshot()  tells,  that  the  PK  tuple is
    still alive.  But then it should be locked (for update),  the
    process  blocks,  and  when  the  deleter  commits it somehow
    magically doesn't make it into the SPI return set.

    Anyway,  this  visibility  mechanism  can  never  work   with
    referential integrity constraints.

    At  least the RI trigger procedures need some way to override
    this snapshot qualification temporary, so  the  check's  will
    see  what's  committed,  regardless  who  did  it  and when -
    committed is committed, basta.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#========================================= wieck@debis.com (Jan Wieck) #

pgsql-hackers by date:

Previous
From: wieck@debis.com (Jan Wieck)
Date:
Subject: Weired FK problem
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] Weired FK problem