Bug #857: [7.3] Attribute oid not found in a temporary table creted by a SELECT

Поиск
Список
Период
Сортировка
От pgsql-bugs@postgresql.org
Тема Bug #857: [7.3] Attribute oid not found in a temporary table creted by a SELECT
Дата
Msg-id 20021225212548.638C7475A1E@postgresql.org
обсуждение исходный текст
Ответы Re: Bug #857: [7.3] Attribute oid not found in a temporary table  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-bugs
jmm (j6m@cvni.net) reports a bug with a severity of 2
The lower the number the more severe it is.

Short Description
[7.3] Attribute oid not found in a temporary table creted by a SELECT

Long Description
I ran on a problem today while running a SQL script that used
to perfectly run from 7.0.2 to 7.2.3.

(I dont know if it is exactly a bug or an intended design change as
searchable online 7.3 docs are still not yet available. I browsed
through the locally installed without success).

In this SQL script, I create a temporary table with two columns from
another table where I poured all data collected from various sources.
My aim is to elmiminate doublons (id is a unique identifier in the
finally resulting table). Therefore I take the max oid for each
distinct id from the original table and do deletion for all rows
with same id and oids lower than max oid. I do this on a temporary
table processing it by chunks of 1000 ids for processing time reasons.

It is quite simplistic way of doing it, but it used to work and does
not any longer with 7.3. Temporary tables do have select table oids
when explicitely created insted of using SELECT INTO.

Sample Code
toto=# create table toto (f1 integer, f2 integer) ;
CREATE TABLE
toto=# insert into toto values (1,2);
INSERT 69204710 1
toto=# insert into toto values (3,4);
INSERT 69204711 1
toto=# select * into temp table titi from toto ;
SELECT
toto=# select oid from titi ;
ERROR:  Attribute "oid" not found

toto=# create temp table titi (f1 integer, f2 integer) ;
ERROR:  Relation 'titi' already exists
toto=# create temp table tutu (f1 integer, f2 integer) ;
CREATE TABLE
toto=# insert into tutu select * from toto ;
INSERT 0 2
toto=# select oid from tutu ;
   oid
----------
 69204716
 69204717
(2 rows)


No file was uploaded with this report

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Harald Krake
Дата:
Сообщение: vacuumdb error: tuple concurrently updated
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Bug #857: [7.3] Attribute oid not found in a temporary table