Re: Fixing bug #8228 ("set-valued function called in context that cannot accept a set")

From: David Johnston <polobo(at)yahoo(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Fixing bug #8228 ("set-valued function called in context that cannot accept a set")
Date: 2014-01-07 03:00:24
Message-ID: 1389063624857-5785631.post@n5.nabble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

David Johnston wrote
>
> Tom Lane-2 wrote
>> I kinda forgot about this bug when I went off on vacation:
>> http://www.postgresql.org/message-id/

>> E1UnCv4-0007oF-Bo(at)(dot)postgresql

>
> Just to clarify:
>
> This patch will cause both executions of the example query to fail with
> the "set-valued function..." error.
>
> Also, the reason the "::varchar" one did not fail was because not cast
> function was ever called but the "::varchar(30)" forced a function call
> and thus prompted the error when the second record and resultant
> regexp_matches expression was encountered.
>
> Thanks!
>
> David J.

Sorry for the imprecise English. I believe both of the following items but
would like confirmation/clarification of my understanding.

The whole "varchar/varchar(30)" discrepancy is bothersome and since the
example forces a function-call via the use of "lower(...)", and doesn't test
the non-function situation, I am concerned this patch is incorrect.

If the first item is not true, i.e. this patch makes both alternatives work,
then I think the wrong "solution" was chosen - or at least not fully vetted.

David J.

--
View this message in context: http://postgresql.1045698.n5.nabble.com/Fixing-bug-8228-set-valued-function-called-in-context-that-cannot-accept-a-set-tp5785622p5785631.html
Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2014-01-07 03:18:06 Re: Get more from indices.
Previous Message Bruce Momjian 2014-01-07 02:55:32 Re: [bug fix] multibyte messages are displayed incorrectly on the client