Re: PG 12 hstore creation cast issue

Wells Oliver <[email protected]> Wed, 30 Oct 2019 10:57:19 -0700
Newsgroups gmane.comp.db.postgresql.admin
Message-ID <CAOC+FBX00Hjb6gS01buETuOAo9n4fpoBT5gcjQJGP+hHVKUwow@mail.gmail.com>
Yeah. Dang, hoist by own convenience petard. My own doing, folks.

Appreciate the detail.

On Wed, Oct 30, 2019 at 10:55 AM Tom Lane <[email protected]> wrote:

> Wells Oliver <[email protected]> writes:
> > We have this kind of code that worked in 9.6:
>
> > select hstore(array['foo'], array[1.0::numeric]);
>
> > But now yields:
>
> > ERROR:  function hstore(text[], numeric[]) does not exist
> > LINE 1: select hstore(array['foo'], array[1.0::numeric]);
> >                ^
> > HINT:  No function matches the given name and argument types. You might
> > need to add explicit type casts.
>
> > Is there a way to create hstores with numeric types as data? Does
> > everything need to be cast as text?
>
> For me, that query fails that way in 9.6 too.  This is unsurprising
> because the only two-argument variants of hstore() are
>
>         hstore(text, text)
>         hstore(text[], text[])
>
> both in 9.6 and current.  I suppose that this case was getting
> covered by one of those implicit casts you got rid of, allowing
> numeric[] to be silently cast to text[].
>
>                         regards, tom lane
>


-- 
Wells Oliver
[email protected] <[email protected]>