Re: [HACKERS] Weired FK problem

From: wieck(at)debis(dot)com (Jan Wieck)
To: wieck(at)debis(dot)com
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] Weired FK problem
Date: 1999-12-09 21:08:55
Message-ID: m11wAo3-0003kGC@orion.SAPserv.Hamburg.dsh.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)debis(dot)com (Jan Wieck) #

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1999-12-09 21:58:02 Re: [HACKERS] Weired FK problem
Previous Message Jan Wieck 1999-12-09 19:43:17 Weired FK problem