Re: [HACKERS] mdnblocks is an amazing time sink in huge relations

Vadim Mikheev <vadim@krs.ru>

From: Vadim Mikheev <vadim@krs.ru>
To: Hiroshi Inoue <Inoue@tpf.co.jp>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgreSQL.org
Date: 1999-10-20T04:30:38Z
Lists: pgsql-hackers
Hiroshi Inoue wrote:
> 
> > > Does this mean the following ?
> > >
> > > 1. shared cache holds committed system tuples.
> > > 2. private cache holds uncommitted system tuples.
> > > 3. relpages of shared cache are updated immediately by
> > >     phisical change and corresponding buffer pages are
> > >     marked dirty.
> > > 4. on commit, the contents of uncommitted tuples except
> > >    relpages,reltuples,... are copied to correponding tuples
> >               ^^^^^^^^^
> > reltuples in shared catalog cache (SCC) will be updated!
> > If transaction inserted some tuples then SCC->reltuples
> > will be incremented, etc.
> >
> 
> System tuples are only modifiled or (insert and delet)ed like
> user tuples when reltuples are updated ?
> If only modified,we couldn't use it in SERIALIZABLE mode.
     ^^^^^^^^^^^^^                    ^^^^^^^^^^^^^^^^^^^^
      ...this...

I'm not sure that we must provide read consistency
for internal-use columns...
Nevertheless, I agreed that keeping internal-use columns
in table is bad thing, but let's do it for awhile: I believe
that someday we'll re-implement our mdmgr - using separate
file for each table/index is bad thing too, - and move these
columns "somewhere else" in that day.

Vadim