st 9. 9. 2020 v 23:04 odesílatel Justin Pryzby <pry...@telsasoft.com> napsal:
> On Wed, Aug 05, 2020 at 04:04:22PM +0200, Dmitry Dolgov wrote: > > > On Sun, Aug 02, 2020 at 12:50:12PM +0200, Pavel Stehule wrote: > > > > > > > > > Maybe this could be salvaged by flushing 0005 in its current form > and > > > > > having the jsonb subscript executor do something like "if the > current > > > > > value-to-be-subscripted is a JSON array, then try to convert the > textual > > > > > subscript value to an integer". Not sure about what the error > handling > > > > > rules ought to be like, though. > > > > > > > > I'm fine with the idea of separating 0005 patch and potentially > prusuing > > > > it as an independent item. Just need to rebase 0006, since Pavel > > > > mentioned that it's a reasonable change he would like to see in the > > > > final result. > > > > > > +1 > > > > Here is what I had in mind. Worth noting that, as well as the original > > This seems to already hit a merge conflict (8febfd185). > Would you re-rebase ? > This can be easy fixed. Maybe I found a another issue. create table foo(a jsonb); postgres=# select * from foo; ┌───────────────────────────────────────────────────────────────────┐ │ a │ ╞═══════════════════════════════════════════════════════════════════╡ │ [0, null, null, null, null, null, null, null, null, null, "ahoj"] │ └───────────────────────────────────────────────────────────────────┘ (1 row) It is working like I expect but postgres=# truncate foo; TRUNCATE TABLE postgres=# insert into foo values('[]'); INSERT 0 1 postgres=# update foo set a[10] = 'ahoj'; UPDATE 1 postgres=# select * from foo; ┌──────────┐ │ a │ ╞══════════╡ │ ["ahoj"] │ └──────────┘ (1 row) Other parts look well. The plpgsql support is not part of this patch, but it can be the next step. Implemented feature is interesting enough - it is a simple user friendly interface for work with jsonb and in future with other types. Regards Pavel > -- > Justin >