Обсуждение: Temporary table error messages different to perm. tables

Поиск
Список
Период
Сортировка

Temporary table error messages different to perm. tables

От
Philip Warner
Дата:
The following seems a little strange (in 7.02/Linux):

zzz=# create table t1(f1 integer);
zzz=# create temporary table t2(f1 integer, f2 integer);
zzz=# Update t1 Set f1 =  (select x.junk from t2 x where x.junk2 = t1.f1);
ERROR:  Unable to locate type name 't2' in catalog

zzz=# drop table t2;
zzz=# create table t2(f1 integer, f2 integer);
zzz=# Update t1 Set f1 =  (select x.junk from t2 x where x.junk2 = t1.f1);
ERROR:  No such attribute or function 'junk'

ie. I get different errors for a temporary table...

----------------------------------------------------------------
Philip Warner                    |     __---_____
Albatross Consulting Pty. Ltd.   |----/       -  \
(A.C.N. 008 659 498)             |          /(@)   ______---_
Tel: (+61) 0500 83 82 81         |                 _________  \
Fax: (+61) 0500 83 82 82         |                 ___________ |
Http://www.rhyme.com.au          |                /           \|
                                 |    --________--
PGP key available upon request,  |  /
and from pgp5.ai.mit.edu:11371   |/

Re: Temporary table error messages different to perm. tables

От
Tom Lane
Дата:
Philip Warner <pjw@rhyme.com.au> writes:
> The following seems a little strange (in 7.02/Linux):

> zzz=# create table t1(f1 integer);
> zzz=# create temporary table t2(f1 integer, f2 integer);
> zzz=# Update t1 Set f1 =  (select x.junk from t2 x where x.junk2 = t1.f1);
> ERROR:  Unable to locate type name 't2' in catalog

This is fixed in current CVS:

regression=# create table t1(f1 integer);
CREATE
regression=# create temporary table t2(f1 integer, f2 integer);
CREATE
regression=# Update t1 Set f1 =  (select x.junk from t2 x where x.junk2 = t1.f1);
ERROR:  No such attribute or function 'junk'

Problem was that the temp table name mapping has to be applied to type
names as well as table names.

            regards, tom lane