|From:||Andrew Dunstan <andrew(dot)dunstan(at)2ndquadrant(dot)com>|
|To:||Dmitry Dolgov <9erthalion6(at)gmail(dot)com>|
|Cc:||Oleg Bartunov <obartunov(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>|
|Subject:||Re: [PATCH] few fts functions for jsonb|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
On 03/21/2017 06:28 PM, Dmitry Dolgov wrote:
> > On 21 March 2017 at 03:03, Andrew Dunstan
> <mailto:andrew(dot)dunstan(at)2ndquadrant(dot)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
|Next Message||Michael Banck||2017-03-23 22:06:46||Re: Logical replication existing data copy|
|Previous Message||Michael Paquier||2017-03-23 22:00:36||Re: pg_dump, pg_dumpall and data durability|