Re: BUG #4120: ERROR: cache lookup failed for function 0

Поиск
Список
Период
Сортировка
От Pedro Gimeno
Тема Re: BUG #4120: ERROR: cache lookup failed for function 0
Дата
Msg-id 480CDA1C.4030309@personal.formauri.es
обсуждение исходный текст
Ответ на Re: BUG #4120: ERROR: cache lookup failed for function 0  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: BUG #4120: ERROR: cache lookup failed for function 0  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
Tom Lane wrote:

>> postgres=# select ''::varchar < ''::varchar;
>> ERROR:  cache lookup failed for function 0
>
> Interesting.  The symptom sounds vaguely familiar, though I can't find
> any relevant-looking CVS log entries right now.  I'd suggest updating to
> 8.2.7 before you spend much time looking at this.  If it's still there
> in 8.2.7, probably the most productive thing is to work on extracting
> a reproducible test case to send in.  I'd suggest approaching that by
> turning on log_statement to get a trace of everything the application
> does up to the failure, and then (assuming you can duplicate the failure
> by running that script) trimming it down to eliminate any private
> information.

Upgrading to 8.2.7 didn't fix it. Upon further investigation, I found
that I was getting the same error when I put a certain schema of my
database in the search_path. That led me at first to erroneously think
that when it started to fail it had become into a broken state. Actually
it happens every time that I put that particular schema in the
search_path. That reminded me of something and it turned out to be the
right track.

Here's a minimal test case:

pruebas=# CREATE FUNCTION vc_gt(varchar,varchar) RETURNS boolean
IMMUTABLE STRICT LANGUAGE SQL AS 'SELECT CAST($1 AS TEXT) > CAST($2 AS
TEXT);';
CREATE FUNCTION
pruebas=# CREATE OPERATOR > (
            PROCEDURE = vc_gt,
    LEFTARG = character varying,
    RIGHTARG = character varying,
    COMMUTATOR = <,
    RESTRICT = scalargtsel,
    JOIN = scalargtjoinsel
);
CREATE OPERATOR
pruebas=# SELECT ''::varchar < ''::varchar;
ERROR:  cache lookup failed for function 0

This was part of my workaround for bug #4083. I only needed MAX so I
only wrote the > operator. BTW, has #4083 been dismissed?

-- Pedro Gimeno

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #4113: server closed the connection unexpectedly
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #4120: ERROR: cache lookup failed for function 0