Re: array support patch phase 1 patch - Mailing list pgsql-patches

From Tom Lane
Subject Re: array support patch phase 1 patch
Date
Msg-id 26678.1054480253@sss.pgh.pa.us
Whole thread Raw
In response to Re: array support patch phase 1 patch  (Joe Conway <mail@joeconway.com>)
Responses Re: array support patch phase 1 patch  (Joe Conway <mail@joeconway.com>)
Re: array support patch phase 1 patch  (Joe Conway <mail@joeconway.com>)
List pgsql-patches
Joe Conway <mail@joeconway.com> writes:
> +     /* last check -- polymorphic types? */
> +     if (IsPolymorphicCoercible(arg1 , arg2))
> +         return optup;

That is surely not what you intended.  The test must be whether arg1 and
arg2 are (separately) coercible to the operator's two input types.
Moreover, the test must not be symmetric, any more than
IsBinaryCoercible is.  You can coerce int[] to ANYARRAY but not vice
versa.

A bigger problem is that I doubt this will actually work.  Most of the
places that call compatible_oper will then proceed to call the function
from specialized code that does not bother with consing up an expression
tree --- so a polymorphic function is going to fail anyway...

            regards, tom lane

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Simple LRU for clog and (later) subtrans
Next
From: Joe Conway
Date:
Subject: Re: array support patch phase 1 patch