RE: [HACKERS] drop table inside transactions

Michael Meskes <meskes@topsystem.de>

From: "Meskes, Michael" <meskes@topsystem.de>
To: "'Jose' Soares Da Silva'" <sferac@proxy.bazzanese.com>, pgsql-hackers@postgreSQL.org, pgsq-bugs@postgreSQL.org
Cc: sferac@bo.nettuno.it
Date: 1998-04-17T12:45:00Z
Lists: pgsql-hackers
Is this really a bug? I haven't seen any (commercial) system supporting
this kind of transaction recovery. Once you drop a table the data is
lost, no matter if you rollback or not. 

Michael

--
Dr. Michael Meskes, Project-Manager    | topsystem Systemhaus GmbH
meskes@topsystem.de                    | Europark A2, Adenauerstr. 20
meskes@debian.org                      | 52146 Wuerselen
Go SF49ers! Go Rhein Fire!             | Tel: (+49) 2405/4670-44
Use Debian GNU/Linux!                  | Fax: (+49) 2405/4670-10

> -----Original Message-----
> From:	Jose' Soares Da Silva [SMTP:sferac@proxy.bazzanese.com]
> Sent:	Friday, April 17, 1998 4:30 PM
> To:	pgsql-hackers@postgreSQL.org; pgsq-bugs@postgreSQL.org
> Cc:	sferac@bo.nettuno.it
> Subject:	[HACKERS] drop table inside transactions
> 
> ======================================================================
> ======
>                         POSTGRESQL BUG REPORT TEMPLATE
> ======================================================================
> ======
> 
> Your name		:	Jose' Soares
> Your email address	:	sferac@bo.nettuno.it 
> 
> 
> System Configuration
> ---------------------
>   Architecture (example: Intel Pentium)  	: Intel Pentium
> 
>   Operating System (example: Linux 2.0.26 ELF) 	: Linux 2.0.31
> Elf
> 
>   PostgreSQL version (example: PostgreSQL-6.1)  : PostgreSQL-snapshot
> april 6, 1998
> 
>   Compiler used (example:  gcc 2.7.2)		: gcc 2.7.2.1
> 
> 
> Please enter a FULL description of your problem:
> ------------------------------------------------
> 
> There's another bug on transactions. If one drop a table inside a
> transaction
> and then change his mind and rollback work, the table structure is
> restored
> but data are lost.
> Take a look...
> 
> prova=> begin work;
> BEGIN
> prova=> lock table a;
> DELETE 0
> prova=> select * from a;
>   a
> ---
>   1
>  13
> 134
> (3 rows)
> 
> prova=> drop table a;
> DROP
> prova=> select * from a;
> ERROR:  a: Table does not exist.
> prova=> rollback;
> ABORT
> prova=> select * from a;
> a
> -
> (0 rows)
>                                                          Jose'
>