Re: [HACKERS] DROP TABLE inside transaction block

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [HACKERS] DROP TABLE inside transaction block
Дата
Msg-id 199909280408.AAA29839@candle.pha.pa.us
обсуждение исходный текст
Ответ на DROP TABLE inside transaction block  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
My guess is that your new open routines with locking have fixed this.


> Pursuant to a phone conversation I had with Bruce, I added code this
> morning to reject DROP TABLE or DROP INDEX inside a transaction block;
> that is, you can't do BEGIN; DROP TABLE foo; END anymore.  The reason
> for rejecting this case is that we do the wrong thing if the transaction
> is later aborted.  Following BEGIN; DROP TABLE foo; ABORT, the system
> tables will claim that foo is still valid (since the changes to them
> were never committed) but we've already unlinked foo's physical file,
> and we can't get it back.  Solution: only allow DROP TABLE outside
> BEGIN, so that the user can't try to change his mind later.
> 
> However, on second thought I wonder if this cure is worse than the
> disease.  Will it be unreasonably hard to drop tables using client
> interfaces that like to wrap everything in BEGIN/END?  Plugging an
> obscure hole might not be worth that.
> 
> A possible compromise is not to error out, but just to issue a NOTICE
> along the lines of "DROP TABLE is not undoable, so don't even think of
> trying to abort now..."
> 
> (Of course, what would be really nice is if it just worked, but I don't
> see any way to make that happen without major changes.  Simply
> postponing the unlink to end of transaction isn't workable; consider
> BEGIN; DROP TABLE foo; CREATE TABLE foo; ...)
> 
> Any thoughts?  Will there indeed be a problem with JDBC or ODBC if we
> leave this error check in place?
> 
>             regards, tom lane
> 
> ************
> 
> 


--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: [HACKERS] md.c is feeling much better now, thank you
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: [HACKERS] DROP TABLE inside transaction block