Hi út 5. 1. 2021 v 20:32 odesílatel Dmitry Dolgov <9erthali...@gmail.com> napsal:
> > On Mon, Jan 04, 2021 at 06:56:17PM +0100, Pavel Stehule wrote: > > po 4. 1. 2021 v 14:58 odesílatel Dmitry Dolgov <9erthali...@gmail.com> > > napsal: > > postgres=# update foo set a['c']['c'][10] = '10'; > > postgres=# update foo set a['c'][10][10] = '10'; > > Yeah, there was one clumsy memory allocation. On the way I've found and > fixed another issue with jsonb generation, right now I don't see any > other problems. But as my imagination, despite all the sci-fi I've read > this year, is apparently not so versatile, I'll rely on yours, could you > please check this version again? > this case should to raise exception - the value should be changed or error should be raised postgres=# insert into foo values('{}'); INSERT 0 1 postgres=# update foo set a['a'] = '100'; UPDATE 1 postgres=# select * from foo; ┌────────────┐ │ a │ ╞════════════╡ │ {"a": 100} │ └────────────┘ (1 row) postgres=# update foo set a['a'][1] = '-1'; UPDATE 1 postgres=# select * from foo; ┌────────────┐ │ a │ ╞════════════╡ │ {"a": 100} │ └────────────┘ (1 row) Regards Pavel