Josh Berkus <josh@xxxxxxxxxxxx> 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 -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance