On 03/21/2017 06:28 PM, Dmitry Dolgov wrote:
> > On 21 March 2017 at 03:03, Andrew Dunstan
> <andrew.duns...@2ndquadrant.com
> <mailto:andrew.duns...@2ndquadrant.com>> wrote:
> >
> > However, I think it should probably be broken up into a couple of
> pieces -
> > one for the generic json/jsonb transforms infrastructure (which probably
> > needs some more comments) and one for the FTS functions that will
> use it.
> Sure, here are two patches with separated functionality and a bit more
> commentaries for the transform functions.

I'm not through looking at this. However, here are a few preliminary

  * we might need to rationalize the header locations a bit
  * iterate_json(b) and transform_json(b) are a bit too generally named.
    Really what they do is iterate over or transform string values in
    the json(b). They ignore / preserve the structure, keys, and
    non-string scalar values in the json(b). A general iterate or
    transform function would be called in effect with a stream of all
    the elements in the json, not just scalar strings.
  * Unless I'm missing something the iterate_json(b)_values return value
    is ignored. Instead of returning the state it looks to me like it
    should return nothing and be declared as void instead of void *
  * transform_jsonb and transform_json are somewhat asymmetrical. The
    latter should probably return a text* instead of a StringInfo, to be
    consistent with the former.



Andrew Dunstan                https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to