From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Hiroshi Inoue" <Inoue(at)tpf(dot)co(dot)jp> |
Cc: | "Bruce Momjian" <maillist(at)candle(dot)pha(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: [HACKERS] md.c is feeling much better now, thank you |
Date: | 1999-09-03 14:46:48 |
Message-ID: | 12545.936370008@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
"Hiroshi Inoue" <Inoue(at)tpf(dot)co(dot)jp> writes:
> Hmm,Data Define commands are unrecoverable in many DBMS-s.
True.
> For example,should the following be possible ?
> [A table t exists.]
> begin;
> drop table t;
> create table t (dt int4);
> insert into t values (1);
> drop table t;
> abort;
I don't mind if that is rejected --- but it ought to be rejected
cleanly, rather than leaving a broken table behind.
IIRC, it is fairly easy to tell from the xact.c state whether we are
inside a BEGIN block. Maybe DROP TABLE and anything else that has
nonreversible side effects ought to simply elog(ERROR) if called inside
a BEGIN block. We'd need to be a little careful though, since I think
DROP TABLE on a temp table created in the same transaction ought to
work.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Lockhart | 1999-09-03 14:48:30 | main tree is (slightly) damaged |
Previous Message | José Soares | 1999-09-03 12:28:54 | Re: [HACKERS] SELECT BUG |