PREPARE(d) statements and modifying columns - Mailing list pgsql-bugs

From Kris Jurka
Subject PREPARE(d) statements and modifying columns
Date
Msg-id Pine.BSO.4.56.0406271751370.18065@leary.csoft.net
Whole thread Raw
Responses Re: PREPARE(d) statements and modifying columns
List pgsql-bugs
There are problems when a prepared statement's underlying table's column's
type is modified.  With 7.5 and using the new ALTER TYPE it causes a
backend crash.  Using the old ADD/UPDATE/DROP/RENAME method causes
incorrect data to be returned.

CREATE TABLE mytab (a int);
INSERT INTO mytab VALUES (1);
PREPARE mystat AS SELECT a FROM mytab;

and then:

ALTER TABLE mytab ALTER COLUMN a TYPE bigint USING (a+1);
EXECUTE mystat;

or:

ALTER TABLE mytab ADD COLUMN b bigint;
UPDATE mytab SET b = a+1;
ALTER TABLE mytab DROP COLUMN a;
ALTER TABLE mytab RENAME COLUMN b TO a;
EXECUTE mystat;


Kris Jurka

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #1184: listeners not cleaned on crash
Next
From: Michael Meskes
Date:
Subject: Re: Embedded SQL library bug