BUG #2440: TEMP TABLES in Postgres 8.1.3

Поиск
Список
Период
Сортировка
От Peter Exner
Тема BUG #2440: TEMP TABLES in Postgres 8.1.3
Дата
Msg-id 200605160804.k4G84M0f070890@wwwmaster.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #2440: TEMP TABLES in Postgres 8.1.3  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
The following bug has been logged online:

Bug reference:      2440
Logged by:          Peter Exner
Email address:      exner@his.de
PostgreSQL version: 8.0.3 / 8.1.3
Operating system:   SuSe Linux
Description:        TEMP TABLES in Postgres 8.1.3
Details:

Hello,

there is a problem with my "tmp_table". My C++ program creates it with
"SELECT ... INTO tmp_table", then uses it and finally drops it. With
Postgres 7.x and Postgres 8.0.3 everything works fine.
Now I switched to Postgres 8.1.3, and an error occurs, as shown below.

Is it a bug, or what can I do?

Thanks for answers!
Peter


correct (with Postgres 8.0.3):

1. create "tmp_table"

SQL-Statement:
SELECT MAX(table1_id) AS max_id, SUM(value1) AS value1_sum INTO tmp_table
FROM table1 GROUP BY value2;

2. do something with "tmp_table"

SQL-Statement:
UPDATE table1 SET value1 = value1 - (SELECT value1_sum FROM tmp_table WHERE
table1.table1_id = tmp_table.max_id) WHERE split_anteil < 10000 AND afa_ende
= 24061 AND table1.table1_id = tmp_table.max_id;

3. drop  "tmp_table"

SQL-Statement:
DROP TABLE tmp_table;

everything o.k.!


false (with Postgres 8.1.3), same SQL-statements as above

1. create "tmp_table"

SQL-Statement:
SELECT MAX(table1_id) AS max_id, SUM(value1) AS value1_sum INTO tmp_table
FROM table1 GROUP BY value2;

2. do something with "tmp_table"

SQL-Statement:
UPDATE table1 SET value1 = value1 - (SELECT value1_sum FROM tmp_table WHERE
table1.table1_id = tmp_table.max_id) WHERE split_anteil < 10000 AND afa_ende
= 24061 AND table1.table1_id = tmp_table.max_id;

doesn't work:

ODBC-Error - SQLExecDirect/ExecuteSQL:
SQLSTATE = S1000
Native Error = 7
Error Message: FEHLER:  fehlender Eintrag in FROM-Klausel für Tabelle
»tmp_table«



3. drop "tmp_table"

SQL-Statement:
DROP TABLE tmp_table;

doesn't work:

ODBC-Error - SQLExecDirect/ExecuteSQL:
SQLSTATE = S1000
Native Error = 7
Error Message: FEHLER:  Tabelle »tmp_table« existiert nicht

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

Предыдущее
От: "Andy"
Дата:
Сообщение: Re: BUG #2419: could not reattach to shared memory
Следующее
От: google@gmx-topmail.de
Дата:
Сообщение: ...