On Sun, Nov 4, 2012 at 12:49 PM, Pavel Stehule <pavel.steh...@gmail.com>wrote:

> Hello
>
> here is patch, that enables using a variadic parameter modifier for
> variadic "any" function.
>
> Motivation for this patch is consistent behave of "format" function,
> but it fixes behave of all this class variadic functions.
>
> postgres=> -- check pass variadic argument
> postgres=> select format('%s, %s', variadic array['Hello','World']);
>     format
> ──────────────
>  Hello, World
> (1 row)
>
> postgres=> -- multidimensional array is supported
> postgres=> select format('%s, %s', variadic
> array[['Nazdar','Svete'],['Hello','World']]);
>             format
> ───────────────────────────────
>  {Nazdar,Svete}, {Hello,World}
> (1 row)
>
> It respect Tom's comments - it is based on short-lived FmgrInfo
> structures, that are created immediately before function invocation.
>
> Note: there is unsolved issue - reusing transformed arguments - so it
> is little bit suboptimal for VARIADIC RETURNING MultiFuncCall
> functions, where we don't need to repeat a unpacking of array value.
>
> Regards
>
> Pavel
>

Hi Pavel.

I am trying to review this patch and on my work computer everything
compiles and tests perfectly. However, on my laptop, the regression tests
don't pass with "cache lookup failed for type XYZ" where XYZ is some number
that does not appear to be any type oid.

I don't really know where to go from here. I am asking that other people
try this patch to see if they get errors as well.

Vik

PS: I won't be able to answer this thread until Tuesday.

Reply via email to