BUG ? ... CURSOR AS VIEW ... MOVE ... CRASH

From: Nabil Sayegh <nsmail(at)sayegh(dot)de>
To: postgresql <pgsql-novice(at)postgresql(dot)org>
Subject: BUG ? ... CURSOR AS VIEW ... MOVE ... CRASH
Date: 2001-04-20 15:46:38
Message-ID: 20010420154559.61B6C14EE63@gerstung3.net-lab.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Hi,

I'm using postgresql-7.1RC4 (BTW: are there any changes in the release
?)
(regression tests were OK)

The following script crashes the backend (when run with psql).

A similar query (using libpq++) returns 0 rows after FETCH 1[... till
end] ... MOVE BACKWARD ALL ... FECTH 1 ...
(Which seems to be correct)

BTW: Is it o.k. to use MOVE to re-use a query ? Or is there no speed
benefit ?

==============================8<===============================
begin;
CREATE TABLE a (id_a int primary key, a text);
CREATE TABLE b (id_a int references a, b text);
INSERT INTO a values (1, 'a');
INSERT INTO a values (2, 'b');
INSERT INTO a values (3, 'c');
INSERT INTO b values (1, '1');
INSERT INTO b values (1, '2');
INSERT INTO b values (2, '1');
INSERT INTO b values (2, '2');
INSERT INTO b values (3, '1');
INSERT INTO b values (3, '2');
SELECT * from a natural left join b;
CREATE VIEW demo AS SELECT * from a natural left join b;
DECLARE my_portal CURSOR FOR SELECT * from demo;
FETCH 1 in my_portal;
MOVE BACKWARD ALL in my_portal;
FETCH 1 in my_portal;
===============================8<==============================

psql -f demo.sql
-------------------------------------------------------
BEGIN
psql:demo.sql:2: NOTICE: CREATE TABLE/PRIMARY KEY will create implicit
index 'a_pkey' for table 'a'
CREATE
psql:demo.sql:3: NOTICE: CREATE TABLE will create implicit trigger(s)
for FOREIGN KEY check(s)
CREATE
INSERT 178874 1
INSERT 178875 1
INSERT 178876 1
INSERT 178877 1
INSERT 178878 1
INSERT 178879 1
INSERT 178880 1
INSERT 178881 1
INSERT 178882 1
id_a | a | b
------+---+---
1 | a | 1
1 | a | 2
2 | b | 1
2 | b | 2
3 | c | 1
3 | c | 2
(6 rows)

CREATE
SELECT
id_a | a | b
------+---+---
1 | a | 1
(1 row)

MOVE
psql:demo.sql:18: pqReadData() -- backend closed the channel
unexpectedly.
This probably means the backend terminated abnormally
before or while processing the request.
psql:demo.sql:18: connection to server was lost
-------------------------------------------------------

cu

--
Nabil Sayegh

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Tom Lane 2001-04-20 17:50:16 Re: BUG ? ... CURSOR AS VIEW ... MOVE ... CRASH
Previous Message Joel Burton 2001-04-20 13:13:47 Re: System Catalogs