ERROR: cache lookup failed for type

Поиск
Список
Период
Сортировка
От Stuart
Тема ERROR: cache lookup failed for type
Дата
Msg-id 55D131B0.6010500@gmail.com
обсуждение исходный текст
Ответы Re: ERROR: cache lookup failed for type  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: ERROR: cache lookup failed for type  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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
thepublished 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_dateand   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






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

Предыдущее
От: Steve Midgley
Дата:
Сообщение: Re: Sales report by month and item category
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: ERROR: cache lookup failed for type