@@ -123,3 +123,120 @@ SELECT id, key, pg_column_size(value::text) FROM test_jsonb_toaster, jsonb_each(
123
123
(100 rows)
124
124
125
125
DROP TABLE test_jsonb_toaster;
126
+ create table test_jsonbz_arr (id int, js jsonb toaster jsonb_toaster);
127
+ insert into test_jsonbz_arr
128
+ select
129
+ j id,
130
+ jsonb_build_object(
131
+ 'a', jsonb_agg(repeat('a', pow(2, 6 + i)::int)),
132
+ 'b', 'foo'
133
+ ) js
134
+ from
135
+ generate_series(0, 19) j,
136
+ generate_series(0, j) i
137
+ group by j
138
+ order by j;
139
+ update test_jsonbz_arr set js = jsonb_set(js, '{a,0}', to_jsonb(repeat('b', 64)));
140
+ select id, js->'a'->>0 from test_jsonbz_arr order by id;
141
+ id | ?column?
142
+ ----+------------------------------------------------------------------
143
+ 0 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
144
+ 1 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
145
+ 2 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
146
+ 3 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
147
+ 4 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
148
+ 5 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
149
+ 6 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
150
+ 7 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
151
+ 8 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
152
+ 9 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
153
+ 10 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
154
+ 11 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
155
+ 12 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
156
+ 13 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
157
+ 14 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
158
+ 15 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
159
+ 16 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
160
+ 17 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
161
+ 18 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
162
+ 19 | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
163
+ (20 rows)
164
+
165
+ update test_jsonbz_arr set js = jsonb_set(js, '{a,0}', to_jsonb(repeat('c', 64)));
166
+ select id, js->'a'->>0 from test_jsonbz_arr order by id;
167
+ id | ?column?
168
+ ----+------------------------------------------------------------------
169
+ 0 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
170
+ 1 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
171
+ 2 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
172
+ 3 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
173
+ 4 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
174
+ 5 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
175
+ 6 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
176
+ 7 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
177
+ 8 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
178
+ 9 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
179
+ 10 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
180
+ 11 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
181
+ 12 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
182
+ 13 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
183
+ 14 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
184
+ 15 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
185
+ 16 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
186
+ 17 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
187
+ 18 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
188
+ 19 | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
189
+ (20 rows)
190
+
191
+ update test_jsonbz_arr set js = jsonb_set(js, '{a,0}', to_jsonb(repeat('d', 65)));
192
+ select id, js->'a'->>0 from test_jsonbz_arr order by id;
193
+ id | ?column?
194
+ ----+-------------------------------------------------------------------
195
+ 0 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
196
+ 1 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
197
+ 2 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
198
+ 3 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
199
+ 4 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
200
+ 5 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
201
+ 6 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
202
+ 7 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
203
+ 8 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
204
+ 9 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
205
+ 10 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
206
+ 11 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
207
+ 12 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
208
+ 13 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
209
+ 14 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
210
+ 15 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
211
+ 16 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
212
+ 17 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
213
+ 18 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
214
+ 19 | ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
215
+ (20 rows)
216
+
217
+ update test_jsonbz_arr set js = jsonb_set(js, '{a,0}', to_jsonb(repeat('e', 65)));
218
+ select id, js->'a'->>0 from test_jsonbz_arr order by id;
219
+ id | ?column?
220
+ ----+-------------------------------------------------------------------
221
+ 0 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
222
+ 1 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
223
+ 2 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
224
+ 3 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
225
+ 4 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
226
+ 5 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
227
+ 6 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
228
+ 7 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
229
+ 8 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
230
+ 9 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
231
+ 10 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
232
+ 11 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
233
+ 12 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
234
+ 13 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
235
+ 14 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
236
+ 15 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
237
+ 16 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
238
+ 17 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
239
+ 18 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
240
+ 19 | eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
241
+ (20 rows)
242
+