BUG #6048: TRUNCATE vs TRUNCATE CASCADE: misleading message

From: "Artiom Makarov" <artiom(dot)makarov(at)gmail(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #6048: TRUNCATE vs TRUNCATE CASCADE: misleading message
Date: 2011-06-02 11:23:42
Message-ID: 201106021123.p52BNgZL053022@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 6048
Logged by: Artiom Makarov
Email address: artiom(dot)makarov(at)gmail(dot)com
PostgreSQL version: 9.04
Operating system: 2.6.32-30-server #59-Ubuntu SMP Tue Mar 1 22:46:09 UTC
2011 x86_64 GNU/Linux
Description: TRUNCATE vs TRUNCATE CASCADE: misleading message
Details:

create table tr_test1(id1 int, primary key(id1));
create table tr_test2(id2 int, id int, primary key(id2), foreign key (id)
references tr_test1(id1) MATCH SIMPLE ON UPDATE RESTRICT ON DELETE
RESTRICT);
create table tr_test3(id3 int, id int, primary key(id3), foreign key (id)
references tr_test2(id2) MATCH SIMPLE ON UPDATE RESTRICT ON DELETE
RESTRICT);

insert into tr_test1(id1) values (1);
insert into tr_test2(id2,id) values (1,1);
insert into tr_test2(id2,id) values (2,1);
insert into tr_test3(id3,id) values (1,2);

truncate tr_test1;

ERROR: cannot truncate a table referenced in a foreign key constraint
SQL state: 0A000
Detail: Table "tr_test2" references "tr_test1".
Hint: Truncate table "tr_test2" at the same time, or use TRUNCATE ...
CASCADE.

This is definetly misleading message, because of when applying truncate
tr_test1 CASCADE; all 3 tables truncated:

NOTICE: truncate cascades to table "tr_test2"
NOTICE: truncate cascades to table "tr_test3"

While drop schema public; command list all affected objects:

ERROR: cannot drop schema public because other objects depend on it

SQL state: 2BP01
Detail: table tr_test1 depends on schema public
table tr_test2 depends on schema public
table tr_test3 depends on schema public
Hint: Use DROP ... CASCADE to drop the dependent objects too.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Peter Eisentraut 2011-06-02 12:09:45 Re: collation problem on 9.1-beta1
Previous Message Craig Ringer 2011-06-02 08:51:21 Re: BUG #6047: prepare p1 as select 'now'::timestamp; then "execute p1" many times, they return the same time