From: | Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Leon <leon(at)udmnet(dot)ru>, pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: Re[2]: [HACKERS] Fwd: Joins and links |
Date: | 1999-07-05 21:25:55 |
Message-ID: | 199907052125.RAA07399@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> Leon <leon(at)udmnet(dot)ru> writes:
> > I'm afraid that's mainly because fields in Postgres have variable
> > length and after update they go to the end of the table. Am I right?
> > In that case there could be done such referencing only with
> > tables with wixed width rows, whose updates can naturally be done
> > without moving. It is a little sacrifice, but it is worth it.
>
> No, you are not right. Tuple updates can *never* be done without
> moving the tuple, because the old tuple value must not be overwritten
> until and unless the transaction is committed. (Under MVCC, it may
> need to stick around even longer than that, I believe.) Thus, a tuple
> update would require an update (and move) of every referencing tuple,
> which could cascade into updates of tuples that reference those tuples,
> etc.
Yes, Thanks, Tom. This is exactly the issue.
--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Lockhart | 1999-07-05 21:43:56 | Re: [HACKERS] Fwd: Joins and links |
Previous Message | Leon | 1999-07-05 21:13:09 | Re[6]: [HACKERS] Fwd: Joins and links |