RE: [HACKERS] LONG

From: "Hiroshi Inoue" <Inoue(at)tpf(dot)co(dot)jp>
To: "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: <tgl(at)sss(dot)pgh(dot)pa(dot)us>, <pgsql-hackers(at)postgreSQL(dot)org>, "Jan Wieck" <wieck(at)debis(dot)com>
Subject: RE: [HACKERS] LONG
Date: 1999-12-13 05:19:27
Message-ID: 00e001bf4529$a05405e0$2801007e@cadzone.tpf.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> -----Original Message-----
> From: owner-pgsql-hackers(at)postgreSQL(dot)org
> [mailto:owner-pgsql-hackers(at)postgreSQL(dot)org]On Behalf Of Bruce Momjian
>
> > >
> > > > The solution I see is to give any out of line datum another
> > > > Oid, that is part of it's header and stamped into the
> > > > reference data. That way, the long attribute lookup can use
> > > > SnapshotAny using this Oid, there can only be one that
> > > > exists, so SnapshotAny is safe here and forces that only the
> > > > visibility of the master tuple in the main table counts at
> > > > all.
> > >
> > > This is a great idea. Get rid of my use of the attribute
> number. Make
> > > the varlena long value be:
> > >
> > > long-bit|length|longrelid|longoid|longlen
> > >
> > > No need for attno in there anymore.
> >
> > I still need it to explicitly remove one long value on
> > update, while the other one is untouched. Otherwise I would
> > have to drop all long values for the row together and
> > reinsert all new ones.
>
> I am suggesting the longoid is not the oid of the primary or long*
> table, but a unque id we assigned just to number all parts of the long*
> tuple. I thought that's what your oid was for.
>

Unfortunately I couldn't follow this issue correctly.
Is the format of long value relation different from Jan's original now ?

- At CREATE TABLE, a long value relation named
"_LONG<tablename>" is created for those tables who need it.
And of course dropped and truncated appropriate. The schema
of this table is

rowid Oid, -- oid of our main data row
rowattno int2, -- the attribute number in main data
chunk_seq int4, -- the part number of this data chunk
chunk text -- the content of this data chunk

I thought that there's an unique index (rowid,rowattno,chunk_seq).
Seems we could even update partially(specified chunk_seq only)
without problem.

Regards.

Hiroshi Inoue
Inoue(at)tpf(dot)co(dot)jp

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1999-12-13 05:59:21 Re: [HACKERS] LONG
Previous Message Tom Lane 1999-12-13 04:57:49 Re: [HACKERS] update_pg_pwd