Re: Updates of SE-PostgreSQL 8.4devel patches (r1324)

From: Gregory Stark <stark(at)enterprisedb(dot)com>
To: KaiGai Kohei <kaigai(at)kaigai(dot)gr(dot)jp>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, KaiGai Kohei <kaigai(at)ak(dot)jp(dot)nec(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-hackers(at)postgresql(dot)org, simon(at)2ndQuadrant(dot)com
Subject: Re: Updates of SE-PostgreSQL 8.4devel patches (r1324)
Date: 2008-12-19 16:06:45
Message-ID: 87bpv8kv3e.fsf@oxford.xeocode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


KaiGai Kohei <kaigai(at)kaigai(dot)gr(dot)jp> writes:

> I didn't replace the previous implementation blindly, I have a few
> reasons that the current one is better than previous one.
>
> For example, if an input handler has side-effects, what is happen in
> the following query?
>
> SELECT 'valid_but_new_security_label'::regseclabel;
>
> It looks like a read-only query, but the input handler can insert a new
> tuple into pg_security. In addition, the newly inserted tuple may not
> be refered any more. It is a waste of spaces.

Ooh, and how would we know when to vacuum this label?

In the case of toast each external attribute is owned by precisely one record
(though possibly multiple versions of it). So when the record is deleted or
the attribute replaced we mark the toasted attribute's xmax and it can be
vacuumed later.

In this case you have pg_security attributes shared by many records. So we
have no way to know when they're no longer referenced.

--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
Ask me about EnterpriseDB's 24x7 Postgres support!

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2008-12-19 16:25:20 pgsql: SQL/MED catalog manipulation facilities This doesn't do any
Previous Message Simon Riggs 2008-12-19 15:34:56 Re: Hot standby and b-tree killed items