From: | Stuart <sfbarbee(at)gmail(dot)com> |
---|---|
To: | "pgsql-sql(at)postgresql(dot)org" <pgsql-sql(at)postgresql(dot)org> |
Subject: | ERROR: cache lookup failed for type |
Date: | 2015-08-17 00:58:24 |
Message-ID: | 55D131B0.6010500@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hello all,
I have been using a particular function for years without issue but
recently tried the Alpha releases of PostGreSQL. I loaded the database
into 9.5 Alpha1 release and did not have problems. After upgrading to
Alpha2, I started getting this error on executing the function. I didn't
reload the database this time as it should not be required.
ERROR: cache lookup failed for type 1082
CONTEXT: compilation of PL/pgSQL function "ds_stats" near line 1
I queried the data type 1082 references and found it is the "date" data
type.
# select oid,typowner,typname from pg_type where oid = 1082 ;
oid | typowner | typname
------+----------+---------
1082 | 10 | date
(1 row)
The function is simple with the following definition:
# CREATE FUNCTION ds_stats( date, text) RETURNS integer
LANGUAGE plpgsql
AS $_$
DECLARE
-- inserts new statistics into doc_stats
-- table calculated from the documents table
-- 1st argument is the published date
-- 2nd argument is the source
pub_date ALIAS FOR $1;
pub_source ALIAS FOR $2;
new_stat documents_statistics%ROWTYPE;
BEGIN
select into new_stat
published, count(*), split_part(filename,'/', 5)
from documents
where published = pub_date and
split_part(filename,'/', 5) = pub_source
group by published, split_part(filename,'/', 5) ;
IF found then
delete from documents_statistics where published = pub_date and
source = pub_source;
insert into documents_statistics ( published, articles, source )
values ( new_stat.published, new_stat.articles, new_stat.source );
return new_stat.articles;
else
delete from documents_statistics where published = pub_date and
source = pub_source;
return 0;
END IF;
END;
$_$;
The table documents_statistics has definition:
CREATE TABLE documents_statistics (
published date,
articles bigint,
source text
);
I use the function in queries like:
select ds_stats('2015-08-10'::date, 'wp_news') ;
I dropped the function and can now not add it back to the database. Also
doing a simple query on the table filtering on the published field does
not present any problems. I was going to submit this as a bug against
the new 9.5alpha2 release but thought I would run this by this group
before doing so. Any thoughts?
Thanks,
Stuart
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2015-08-17 01:17:53 | Re: ERROR: cache lookup failed for type |
Previous Message | Steve Midgley | 2015-08-06 21:36:49 | Re: Sales report by month and item category |