Again about temporary table - Mailing list pgsql-general

From Juris Krumins
Subject Again about temporary table
Date
Msg-id 001101c36c85$883523e0$0201010a@ntbdc
Whole thread Raw
List pgsql-general
Just additional information I'd like to tell.
I've got an additional error:
Relation blablabla already exists.
It's also connected with previous mail command about cretating temporary
table.
Greep'ing though src code I'v found almost on;y one place where sush kind of
error can happen:
src/backend/catalog/heap.c: 712
It's a
    heap_create_with_catalog(const char *relname,
                                                 Oid relnamespace,
                                                 TupleDesc tupdesc,
                                                 char relkind,
                                                 bool shared_relation,
                                                 bool
allow_system_table_mods) ( ) function  which is
/* --------------------------------
 *              heap_create_with_catalog
 *
 *              creates a new cataloged relation.  see comments above.
 * --------------------------------
 */
as it is in src code.
May be it'll help someone to solve my problem.




----- Original Message -----
From: "Juris Krumins" <juriskr@komin.lv>
To: <pgsql-general@postgresql.org>
Sent: Wednesday, August 27, 2003 10:39 AM
Subject: Again about temporary table


> Couple a weeks ago (19.08.03 Subject: Temporaty tables) I've posted
message
> with question about errors I'm getting while using create temporaty table
> command.
> So I'm start digging in src code as Tom Lane did and found about 4 places
> where such kind pf errors could happend
>
> PostgreSQL 7.3.3
>
> src/backend/catalog/dependency.c : 1621
> src/backend/catalog/heap.c : 1663
> src/backend/catalog/pg_constraint.c : 445
> src/backend/utils/adt/ruleutils.c : 3125
>
> As I see all this errors depend on HeapTupleIsValid() function return
code.
> If it's false then error happend.
>
> In
> 1)  src/backend/utils/adt/ruleutils.c : 3125 HeapTupleIsValid() function
is
> used in generate_relation_name(Oid relid), which is as I understand
> resposible to convert relid identificator into relation name
> 2) src/backend/catalog/dependency.c : 1621 HeapTupleIsValid() function is
> used in getRelationDescription(StringInfo buffer, Oid relid) function,
which
> is getting relation description while specify relid.
> 3) src/backend/catalog/heap.c : 1663 HeapTupleIsValid() function is used
in
> SetRelationNumChecks(Relation rel, int numchecks) function. I don't realy
> understand the meaning of that function
> 4) src/backend/catalog/pg_constraint.c : 445 HeapTupleIsValid() function
is
> used in RemoveConstraintById(Oid conId) which is responsible for   delete
a
> single constraint record.
>
> So any ideas why I'm getting errors like:
> Warning: pg_exec() [function.pg-exec]: Query failed: ERROR: cache lookup
of
> relation 149064743 failed . in table.php on line 169
> The query on line 169 is :
>
> CREATE TEMP TABLE tmp_table1 AS SELECT advert.time_create, (SELECT
> employer.fullname FROM employer WHERE advert.empid=employer.id) as
emp_name,
> (CASE WHEN advert.status1 = 'A' THEN advert.postname1 ELSE
advert.postname2
> END) as postname, advert.enddate, advert.id as id FROM good_adv as advert
>
> And right ahead
>
> Warning: pg_exec()[function.pg-exec]:Query failed: ERROR: Relation
> "tmp_table1" does not exist.
>
> On query like :
>
> SELECT * FROM tmp_table1
>



pgsql-general by date:

Previous
From: "Shridhar Daithankar"
Date:
Subject: Re: SQL Command - To List Tables ?
Next
From: Doug McNaught
Date:
Subject: Re: Embedding Postgres "inside" an application