Files
greptimedb/tests/cases/standalone/common/select/prune_field.result
Yingwen f02410c39b fix: disable field pruning in last non null mode (#4740)
* fix: don't prune fields in last non null mode

* test: add sqlness test for field pruning

* test: add flush

* refine implementation

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>

---------

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
Co-authored-by: Ruihang Xia <waynestxia@gmail.com>
2024-09-20 00:35:37 +00:00

70 lines
1.7 KiB
Plaintext

CREATE TABLE IF NOT EXISTS prune_field (
ts TIMESTAMP TIME INDEX,
tag UInt16,
a UInt8,
b UInt8,
PRIMARY KEY (tag)) ENGINE = mito WITH('merge_mode'='last_non_null');
Affected Rows: 0
insert into prune_field(ts, tag, a, b) values(0, 1, 1, null);
Affected Rows: 1
admin flush_table('prune_field');
+----------------------------------+
| ADMIN flush_table('prune_field') |
+----------------------------------+
| 0 |
+----------------------------------+
insert into prune_field(ts, tag, a, b) values(0, 1, null, 1);
Affected Rows: 1
admin flush_table('prune_field');
+----------------------------------+
| ADMIN flush_table('prune_field') |
+----------------------------------+
| 0 |
+----------------------------------+
select * from prune_field where a = 1;
+---------------------+-----+---+---+
| ts | tag | a | b |
+---------------------+-----+---+---+
| 1970-01-01T00:00:00 | 1 | 1 | 1 |
+---------------------+-----+---+---+
select * from prune_field where b = 1;
+---------------------+-----+---+---+
| ts | tag | a | b |
+---------------------+-----+---+---+
| 1970-01-01T00:00:00 | 1 | 1 | 1 |
+---------------------+-----+---+---+
select * from prune_field;
+---------------------+-----+---+---+
| ts | tag | a | b |
+---------------------+-----+---+---+
| 1970-01-01T00:00:00 | 1 | 1 | 1 |
+---------------------+-----+---+---+
select * from prune_field where a = 1 and b = 1;
+---------------------+-----+---+---+
| ts | tag | a | b |
+---------------------+-----+---+---+
| 1970-01-01T00:00:00 | 1 | 1 | 1 |
+---------------------+-----+---+---+
drop table prune_field;
Affected Rows: 0