Re: about truncate - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: about truncate
Date
Msg-id 4959E45F.1010604@gmx.net
Whole thread Raw
In response to Re: about truncate  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: about truncate  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
Peter Eisentraut wrote:
> On Monday 22 December 2008 05:09:54 Jaime Casanova wrote:
>> just out of curiosity, why TRUNCATE doesn't support ONLY?
> 
> It was probably just an omission.
> 
> Note that TRUNCATE currently does not act on inheriting tables.  In other 
> words, the behavior is already like ONLY.
> 
> FWIW, the SQL standard says that TRUNCATE should support ONLY, just like 
> DELETE.
> 
> Something should probably be fixed or at least documented about this.

Before I or someone goes to write code for this, note that a proper fix 
would introduce a backward incompatibility when TRUNCATE is used on 
inheritance hierarchies.

Currently, TRUNCATE only acts on the named table itself, not on any 
children.

The behavior required by the SQL standard (and by consistency with 
pretty much all other commands in PostgreSQL) is that TRUNCATE operate 
on all child tables, unless ONLY is specified.

Note that there is currently no way to get a TRUNCATE not-ONLY without 
writing manual loops, which is a significant gap of functionality.

Considering that TRUNCATE is a pretty dangerous operation, how can we 
make adjustments to the behavior without upsetting lots of users?


pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: incoherent view of serializable transactions
Next
From: "Bryce Cutt"
Date:
Subject: Re: Proposed Patch to Improve Performance of Multi-BatchHash Join for Skewed Data Sets