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 HeapTupleIsVali d() function return code.
If it's false then error happend.
In
1) src/backend/utils/adt/ruleutils.c : 3125 HeapTupleIsVali d() function is
used in generate_relati on_name(Oid relid), which is as I understand
resposible to convert relid identificator into relation name
2) src/backend/catalog/dependency.c : 1621 HeapTupleIsVali d() function is
used in getRelationDesc ription(StringI nfo buffer, Oid relid) function, which
is getting relation description while specify relid.
3) src/backend/catalog/heap.c : 1663 HeapTupleIsVali d() function is used in
SetRelationNumC hecks(Relation rel, int numchecks) function. I don't realy
understand the meaning of that function
4) src/backend/catalog/pg_constraint.c : 445 HeapTupleIsVali d() function is
used in RemoveConstrain tById(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_cre ate, (SELECT
employer.fullna me FROM employer WHERE advert.empid=em ployer.id) as emp_name,
(CASE WHEN advert.status1 = 'A' THEN advert.postname 1 ELSE advert.postname 2
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
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
http://archives.postgresql.org