Re: ALTER TABLE

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Gena Gurchonok <gena(at)rt(dot)mipt(dot)ru>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: ALTER TABLE
Date: 2000-08-03 13:17:16
Message-ID: 200008031317.JAA17857@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

I can confirm that this is a bug, and crashes in the current development
tree.

> ============================================================================
> POSTGRESQL BUG REPORT TEMPLATE
> ============================================================================
>
> Your name : Gena Gurchonok
> Your email address : gena(at)rt(dot)mipt(dot)ru
>
> System Configuration
> ---------------------
> Architecture (example: Intel Pentium): intel Celeron 500
> Operating System (example: Linux 2.0.26 ELF): 2.2.16 ELF
> PostgreSQL version (example: PostgreSQL-7.0): PostgreSQL-7.0.2
> Compiler used (example: gcc 2.8.0): pgcc-2.91.66
>
>
> Please enter a FULL description of your problem:
> ------------------------------------------------
>
> When I renaming table using ALTER TABLE,
> it doesn't change table name in RI triggers. This results in backend
> crash due to invalid arguments for RI_Check trigger procedure.
>
>
> Please describe a way to repeat the problem. Please try to provide a
> concise reproducible example, if at all possible:
> ----------------------------------------------------------------------
>
> CREATE TABLE "pr1" (
> "id" int4 ,
> PRIMARY KEY ("id")
> );
>
> CREATE TABLE "fr" (
> "f_id" int4 NOT NULL,
> CONSTRAINT fr_fkey FOREIGN KEY (f_id)
> REFERENCES pr1(id)
> MATCH FULL
> ON DELETE RESTRICT
> ON UPDATE CASCADE
> NOT DEFERRABLE
> INITIALLY IMMEDIATE
> );
>
> insert into pr1 values(1);
> insert into fr values(1);
>
> alter table fr rename to fr2;
>
> delete from pr1;
>
> As the result we have:
> pqReadData() -- backend closed the channel unexpectedly.
> This probably means the backend terminated abnormally
> before or while processing the request.
> The connection to the server was lost. Attempting reset: Failed.
>
> pg_dump gives
>
> \connect - gena
> CREATE TABLE "pr1" (
> "id" int4 NOT NULL,
> PRIMARY KEY ("id")
> );
> CREATE TABLE "fr2" (
> "f_id" int4 NOT NULL
> );
> COPY "pr1" FROM stdin;
> 1
> \.
> COPY "fr2" FROM stdin;
> 1
> \.
> CREATE CONSTRAINT TRIGGER "fr_fkey" AFTER DELETE ON "pr1" NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_restrict_del" ('fr_fkey', 'fr', 'pr1', 'FULL', 'f_id', 'id');
> CREATE CONSTRAINT TRIGGER "fr_fkey" AFTER UPDATE ON "pr1" NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_cascade_upd" ('fr_fkey', 'fr', 'pr1', 'FULL', 'f_id', 'id');
> CREATE CONSTRAINT TRIGGER "fr_fkey" AFTER INSERT OR UPDATE ON "fr2" NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_check_ins" ('fr_fkey', 'fr', 'pr1', 'FULL', 'f_id', 'id');
>
> please take a look at TRIGGERS' arguments
>
>
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

  • ALTER TABLE at 2000-08-03 10:26:39 from Gena Gurchonok

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2000-08-03 15:52:20 Re: ALTER TABLE
Previous Message Gena Gurchonok 2000-08-03 10:26:39 ALTER TABLE