RE: [HACKERS] LONG - Mailing list pgsql-hackers

From Hiroshi Inoue
Subject RE: [HACKERS] LONG
Date
Msg-id 00c701bf4520$e0ed95c0$2801007e@cadzone.tpf.co.jp
Whole thread Raw
In response to Re: [HACKERS] LONG  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
> -----Original Message-----
> From: owner-pgsql-hackers@postgreSQL.org
> [mailto:owner-pgsql-hackers@postgreSQL.org]On Behalf Of Tom Lane
> Sent: Monday, December 13, 1999 12:00 PM
> To: Hiroshi Inoue
> Cc: Bruce Momjian; Jan Wieck; pgsql-hackers@postgreSQL.org
> Subject: Re: [HACKERS] LONG 
> 
> 
> "Hiroshi Inoue" <Inoue@tpf.co.jp> writes:
> > There are so many mails for me to follow about this issue. 
> > For example,what's the conclusion about the following ?
> 
> I don't think it's concluded yet...
> 
> > Why is CTID needed ?  Is it necessary to know "primary" tuples from
> > out-of-lines values ? 
> 
> It seems to me that the primary tuple should store CTIDs of the
> out-of-line segment(s) it's using.  That way, we need no index at
> all on the expansion relation, which would clearly be a win.
> 
> My thought was that if the expansion tuples stored CTIDs of their
> primary tuples, then it would be practical to have VACUUM consult
> the primary tuples' xact status while vacuuming the expansion.
> That way, we'd have no need to update expansion tuples when changing
> xact status of primary tuples.  But I think Jan has something else
> in mind for that.
> 
> It would be a little tricky to write out a tuple plus its expansion
> tuples and have them all know each others' CTIDs; the CTIDs would
> have to be assigned before anything got written.  And VACUUM would
> need a little extra logic to update these things.  But those are
> very localized and IMHO solvable problems, and I think the performance
> advantages would be significant...
>

If CTIDs are needed it isn't worth the work,I think.
I don't understand why the reference "secondary" to "primary"  is
needed. As far as I see,VACUUM doesn't need the reference.  
> > What is wrong with separate VACUUM ?
> > VACUUM never changes OIDs and XIDs(after MVCC).
> 
> I believe VACUUM does assign its own XID to tuples that it moves,

AFAIK,vacuum never changes XIDs because MVCC doesn't allow
it.  Vadim changed to preverve XIDs between VACUUM before MVCC.
Vadim used CommandId instead to see whether VACUUM succeeded
or not. 

Regards.

Hiroshi Inoue
Inoue@tpf.co.jp


pgsql-hackers by date:

Previous
From: wieck@debis.com (Jan Wieck)
Date:
Subject: Re: [HACKERS] generic LONG VARLENA
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] generic LONG VARLENA