Re: [PATCH] Generic type subscription
Dmitry Dolgov <9erthalion6@gmail.com>
From: Dmitry Dolgov <9erthalion6@gmail.com>
To: Victor Wagner <vitus@wagner.pp.ru>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2016-10-01T09:52:34Z
Lists: pgsql-hackers
Attachments
- generic_type_subscription_v2.patch (text/x-patch) patch v2
> I've tried to compile this patch with current state of master (commit
> 51c3e9fade76c12) and found out that, when configured with
--enable-cassert,
> it doesn't pass make check.
Thanks for the feedback. Yes, unexpectedly for me, `ExecEvalExpr` can return
expanded `jbvArray` and `jbvObject` instead `jbvBinary` in both cases. It's
interesting, that this doesn't break anything, but obviously violates
the `pushJsonbValueScalar` semantics. I don't think `ExecEvalExpr` should be
changed for jsonb, we can handle this situation in `pushJsonbValue`
instead. I've
attached a new version of patch with this modification.
On 27 September 2016 at 19:08, Victor Wagner <vitus@wagner.pp.ru> wrote:
> On Fri, 9 Sep 2016 18:29:23 +0700
> Dmitry Dolgov <9erthalion6@gmail.com> wrote:
>
> > Hi,
> >
> > Regarding to the previous conversations [1], [2], here is a patch
> > (with some improvements from Nikita Glukhov) for the generic type
> > subscription. It allows
> > to define type-specific subscription logic for any data type and has
> > implementations for the array and jsonb types. There are following
> > changes in this
> > patch:
>
> I've tried to compile this patch with current state of master (commit
> 51c3e9fade76c12) and found out that, when configured with
> --enable-cassert, it doesn't pass make check.
>
> LOG: server process (PID 4643) was terminated by signal 6: Aborted
> DETAIL: Failed process was running:
> update test_jsonb_subscript set test_json['a'] = '{"b":
> 1}'::jsonb;
>
>
>
> --
> Victor
>
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>
Commits
-
Throw error when assigning jsonb scalar instead of a composite object
- aa6e46daf530 14.0 landed
-
Filling array gaps during jsonb subscripting
- 81fcc72e6622 14.0 landed
-
Implementation of subscripting for jsonb
- 676887a3b0b8 14.0 landed
-
Support subscripting of arbitrary types, not only arrays.
- c7aba7c14efd 14.0 landed
-
Remove obsoleted code relating to targetlist SRF evaluation.
- ea15e18677fc 10.0 cited
-
Include <sys/select.h> where needed
- 51c3e9fade76 10.0 cited