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!
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 |