@@ -260,27 +260,30 @@ QUERY PLAN
260
260
BEGIN; :ANALYZE UPDATE lazy_decompress SET value = 3.14 WHERE value = 0; ROLLBACK;
261
261
QUERY PLAN
262
262
Custom Scan (HypertableModify) (actual rows=0 loops=1)
263
+ Batches filtered: 6
263
264
-> Update on lazy_decompress (actual rows=0 loops=1)
264
265
Update on _hyper_X_X_chunk lazy_decompress_1
265
266
-> Result (actual rows=0 loops=1)
266
267
-> Seq Scan on _hyper_X_X_chunk lazy_decompress_1 (actual rows=0 loops=1)
267
268
Filter: (value = '0'::double precision)
268
- (6 rows)
269
+ (7 rows)
269
270
270
271
BEGIN; :ANALYZE UPDATE lazy_decompress SET value = 3.14 WHERE value = 0 AND device='d1'; ROLLBACK;
271
272
QUERY PLAN
272
273
Custom Scan (HypertableModify) (actual rows=0 loops=1)
274
+ Batches filtered: 6
273
275
-> Update on lazy_decompress (actual rows=0 loops=1)
274
276
Update on _hyper_X_X_chunk lazy_decompress_1
275
277
-> Result (actual rows=0 loops=1)
276
278
-> Seq Scan on _hyper_X_X_chunk lazy_decompress_1 (actual rows=0 loops=1)
277
279
Filter: ((value = '0'::double precision) AND (device = 'd1'::text))
278
- (6 rows)
280
+ (7 rows)
279
281
280
282
-- 1 batch decompression
281
283
BEGIN; :ANALYZE UPDATE lazy_decompress SET value = 3.14 WHERE value = 2300; ROLLBACK;
282
284
QUERY PLAN
283
285
Custom Scan (HypertableModify) (actual rows=0 loops=1)
286
+ Batches filtered: 5
284
287
Batches decompressed: 1
285
288
Tuples decompressed: 1000
286
289
-> Update on lazy_decompress (actual rows=0 loops=1)
@@ -289,11 +292,12 @@ QUERY PLAN
289
292
-> Seq Scan on _hyper_X_X_chunk lazy_decompress_1 (actual rows=1 loops=1)
290
293
Filter: (value = '2300'::double precision)
291
294
Rows Removed by Filter: 999
292
- (9 rows)
295
+ (10 rows)
293
296
294
297
BEGIN; :ANALYZE UPDATE lazy_decompress SET value = 3.14 WHERE value > 3100 AND value < 3200; ROLLBACK;
295
298
QUERY PLAN
296
299
Custom Scan (HypertableModify) (actual rows=0 loops=1)
300
+ Batches filtered: 5
297
301
Batches decompressed: 1
298
302
Tuples decompressed: 1000
299
303
-> Update on lazy_decompress (actual rows=0 loops=1)
@@ -302,11 +306,12 @@ QUERY PLAN
302
306
-> Seq Scan on _hyper_X_X_chunk lazy_decompress_1 (actual rows=99 loops=1)
303
307
Filter: ((value > '3100'::double precision) AND (value < '3200'::double precision))
304
308
Rows Removed by Filter: 901
305
- (9 rows)
309
+ (10 rows)
306
310
307
311
BEGIN; :ANALYZE UPDATE lazy_decompress SET value = 3.14 WHERE value BETWEEN 3100 AND 3200; ROLLBACK;
308
312
QUERY PLAN
309
313
Custom Scan (HypertableModify) (actual rows=0 loops=1)
314
+ Batches filtered: 5
310
315
Batches decompressed: 1
311
316
Tuples decompressed: 1000
312
317
-> Update on lazy_decompress (actual rows=0 loops=1)
@@ -315,7 +320,7 @@ QUERY PLAN
315
320
-> Seq Scan on _hyper_X_X_chunk lazy_decompress_1 (actual rows=101 loops=1)
316
321
Filter: ((value >= '3100'::double precision) AND (value <= '3200'::double precision))
317
322
Rows Removed by Filter: 899
318
- (9 rows)
323
+ (10 rows)
319
324
320
325
-- check GUC is working, should be 6 batches and 6000 tuples decompresed
321
326
SET timescaledb.enable_dml_decompression_tuple_filtering TO off;
@@ -337,57 +342,62 @@ RESET timescaledb.enable_dml_decompression_tuple_filtering;
337
342
BEGIN; :ANALYZE DELETE FROM lazy_decompress WHERE value = 0; ROLLBACK;
338
343
QUERY PLAN
339
344
Custom Scan (HypertableModify) (actual rows=0 loops=1)
345
+ Batches filtered: 6
340
346
-> Delete on lazy_decompress (actual rows=0 loops=1)
341
347
Delete on _hyper_X_X_chunk lazy_decompress_1
342
348
-> Seq Scan on _hyper_X_X_chunk lazy_decompress_1 (actual rows=0 loops=1)
343
349
Filter: (value = '0'::double precision)
344
- (5 rows)
350
+ (6 rows)
345
351
346
352
BEGIN; :ANALYZE DELETE FROM lazy_decompress WHERE value = 0 AND device='d1'; ROLLBACK;
347
353
QUERY PLAN
348
354
Custom Scan (HypertableModify) (actual rows=0 loops=1)
355
+ Batches filtered: 6
349
356
-> Delete on lazy_decompress (actual rows=0 loops=1)
350
357
Delete on _hyper_X_X_chunk lazy_decompress_1
351
358
-> Seq Scan on _hyper_X_X_chunk lazy_decompress_1 (actual rows=0 loops=1)
352
359
Filter: ((value = '0'::double precision) AND (device = 'd1'::text))
353
- (5 rows)
360
+ (6 rows)
354
361
355
362
-- 1 batch decompression
356
363
BEGIN; :ANALYZE DELETE FROM lazy_decompress WHERE value = 2300; ROLLBACK;
357
364
QUERY PLAN
358
365
Custom Scan (HypertableModify) (actual rows=0 loops=1)
366
+ Batches filtered: 5
359
367
Batches decompressed: 1
360
368
Tuples decompressed: 1000
361
369
-> Delete on lazy_decompress (actual rows=0 loops=1)
362
370
Delete on _hyper_X_X_chunk lazy_decompress_1
363
371
-> Seq Scan on _hyper_X_X_chunk lazy_decompress_1 (actual rows=1 loops=1)
364
372
Filter: (value = '2300'::double precision)
365
373
Rows Removed by Filter: 999
366
- (8 rows)
374
+ (9 rows)
367
375
368
376
BEGIN; :ANALYZE DELETE FROM lazy_decompress WHERE value > 3100 AND value < 3200; ROLLBACK;
369
377
QUERY PLAN
370
378
Custom Scan (HypertableModify) (actual rows=0 loops=1)
379
+ Batches filtered: 5
371
380
Batches decompressed: 1
372
381
Tuples decompressed: 1000
373
382
-> Delete on lazy_decompress (actual rows=0 loops=1)
374
383
Delete on _hyper_X_X_chunk lazy_decompress_1
375
384
-> Seq Scan on _hyper_X_X_chunk lazy_decompress_1 (actual rows=99 loops=1)
376
385
Filter: ((value > '3100'::double precision) AND (value < '3200'::double precision))
377
386
Rows Removed by Filter: 901
378
- (8 rows)
387
+ (9 rows)
379
388
380
389
BEGIN; :ANALYZE DELETE FROM lazy_decompress WHERE value BETWEEN 3100 AND 3200; ROLLBACK;
381
390
QUERY PLAN
382
391
Custom Scan (HypertableModify) (actual rows=0 loops=1)
392
+ Batches filtered: 5
383
393
Batches decompressed: 1
384
394
Tuples decompressed: 1000
385
395
-> Delete on lazy_decompress (actual rows=0 loops=1)
386
396
Delete on _hyper_X_X_chunk lazy_decompress_1
387
397
-> Seq Scan on _hyper_X_X_chunk lazy_decompress_1 (actual rows=101 loops=1)
388
398
Filter: ((value >= '3100'::double precision) AND (value <= '3200'::double precision))
389
399
Rows Removed by Filter: 899
390
- (8 rows)
400
+ (9 rows)
391
401
392
402
-- check GUC is working, should be 6 batches and 6000 tuples decompresed
393
403
SET timescaledb.enable_dml_decompression_tuple_filtering TO off;
0 commit comments