Re: Re: [SQL] querying with index on jsonb slower than standard column. Why? - Mailing list pgsql-performance

From Tom Lane
Subject Re: Re: [SQL] querying with index on jsonb slower than standard column. Why?
Date
Msg-id 8867.1418420650@sss.pgh.pa.us
Whole thread Raw
In response to Re: Re: [SQL] querying with index on jsonb slower than standard column. Why?  (Josh Berkus <josh@agliodbs.com>)
Responses Re: Re: [SQL] querying with index on jsonb slower than standard column. Why?
Re: Re: [SQL] querying with index on jsonb slower than standard column. Why?
List pgsql-performance
Josh Berkus <josh@agliodbs.com> writes:
> Yeah, I believe the core problem is that Postgres currently doesn't have
> any way to have variadic return times from a function which don't match
> variadic input types.  Returning a value as an actual numeric from JSONB
> would require returning a numeric from a function whose input type is
> text or json.  So a known issue but one which would require a lot of
> replumbing to fix.

Well, it'd be easy to fix if we were willing to invent distinct operators
depending on which type you wanted out (perhaps ->> for text output as
today, add ->># for numeric output, etc).  Doesn't seem terribly nice
from a usability standpoint though.

The usability issue could be fixed by teaching the planner to fold a
construct like (jsonb ->> 'foo')::numeric into (jsonb ->># 'foo').
But I'm not sure how we do that except in a really ugly and ad-hoc
fashion.

            regards, tom lane


pgsql-performance by date:

Previous
From: Josh Berkus
Date:
Subject: Re: Re: [SQL] querying with index on jsonb slower than standard column. Why?
Next
From: Claudio Freire
Date:
Subject: Re: Re: [SQL] querying with index on jsonb slower than standard column. Why?