From: | Vadim Mikheev <vadim(at)krs(dot)ru> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Postgres Hackers List <hackers(at)postgreSQL(dot)org> |
Subject: | Re: [HACKERS] Re: Freezing docs for v6.5 |
Date: | 1999-06-04 01:53:54 |
Message-ID: | 375731B2.60BEBC49@krs.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane wrote:
>
> Vadim Mikheev <vadim(at)krs(dot)ru> writes:
> >> On Thu, 3 Jun 1999, Tom Lane wrote:
> >>>> Bruce seemed to think that we could just flush the sys caches and
> >>>> relation cache completely during xact abort.
>
> > Could you remember me what's the problem with cache?
>
> The reported problem was that if a new relation is created, and then
> the transaction is aborted, the SysCache entry for the new relation's
> pg_class entry doesn't get removed. For example:
>
> test=> create table bug1 (f1 int28 primary key);
> ERROR: Can't find a default operator class for type 22.
> -- That's expected, since we have no index support for int28. But now:
> test=> create table bug1 (f1 int28);
> ERROR: Relation 'bug1' already exists
>
> The second try fails because it finds an entry for 'bug1' in the
> RELNAME SysCache, which was made before the create-index step of
> CREATE TABLE failed. That entry should not be there anymore.
Note this:
vac=> begin;
BEGIN
vac=> create table bug1 (f1 int28);
CREATE
vac=> abort;
ABORT
vac=> create table bug1 (f1 int28);
CREATE
I would leave this in 6.5 as is.
Vadim
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 1999-06-04 01:59:38 | Re: [HACKERS] Re: Freezing docs for v6.5 |
Previous Message | Thomas Lockhart | 1999-06-04 01:51:13 | Re: [COMMITTERS] 'pgsql/doc/src/sgml/ref set.sgml' |