shuiyisong
b86da3d35f
feat: support raw OTLP delta metrics ( #8970 )
...
* feat: support raw OTLP delta metrics
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: fmt
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* test(promql): update sqlness results for normalized label matching
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: derive temporality label from default column prefix
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* test(promql): add analyze coverage for delta temporality
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix(promql): scope label alignment to temporality marker
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: handle count-only histograms and vector broadcasts
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: exclude temporality marker from entity descriptions
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: use a fixed label for OTLP aggregation temporality
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix(promql): preserve mixed-range semantics for raw delta
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2026-09-03 09:28:11 +00:00
shuiyisong
c4dafb5826
fix(promql): resolve derived labels in aggregation arithmetic ( #8994 )
...
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2026-09-01 13:03:00 +00:00
shuiyisong
82444635f5
feat: support quantile and fraction queries on mixed histograms ( #8874 )
...
* fix: test
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: remove try_build_float_literal
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: remove NonCommutative
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: NaN
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: add comments
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* test(query): cover frontend-only histogram fold planning
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix(promql): ignore unparseable histogram bucket labels
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: typo
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: sqlness
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2026-08-24 12:45:35 +00:00
Yingwen
76924c2d36
feat(mito2): introduce two-phase metric series scans ( #8826 )
...
* feat(mito2): add two-phase series scan
Signed-off-by: evenyag <realevenyag@gmail.com >
* docs: regenerate configuration reference
Signed-off-by: evenyag <realevenyag@gmail.com >
* test(sqlness): update series scan explain results
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: update config API expectation
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito2): bound two-phase series discovery
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito2): avoid candidate distribution deadlock
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore(mito2): remove obsolete dead code allowances
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito2): share series scan memory pool
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-08-14 06:32:17 +00:00
jeremyhi
764c93bf43
perf(query): choose bounded CTE as hash join build side ( #8807 )
...
* fix(query): choose bounded CTE as hash join build side
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* perf(query): remove join estimate cap
* test(compat): accept repartition in analyze plan
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
---------
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2026-08-13 10:51:53 +00:00
discord9
a7590f8174
perf(promql): avoid repeated scans in sliding range evaluation ( #8646 )
...
* perf(promql): use two pointers for sliding range boundaries
Replace the stale cursor heuristic in RangeManipulateStream::calculate_range
with monotonic left/right cursors. The old path rescanned each evaluation
window (O(E x samples-per-window)) and could lose valid samples after sparse
gaps or trailing empty windows. The two pointers keep strict monotonic
progress, reducing boundary generation to O(N + E) while preserving
(curr-range, curr] semantics, start/end shortening, and empty-window output.
Controlled release benchmarks (fixed CPU, ABBA):
- Public RangeManipulate wall time: ~28% faster at 1m/15s, ~66% at 5m/15s,
~96% at 1h/15s.
- Warmed distributed TQL ANALYZE 1h queries: ~17-21% faster end to end;
shorter windows stayed within run-order noise.
Signed-off-by: discord9 <discord9@163.com >
* perf(promql): specialize changes/resets with adaptive edge counting
The generic range_fn macro slices, downcasts, and rescans every overlapping
window for changes() and resets(). Replace the macro path for these two
functions with hand-written UDF wrappers backed by a shared private
edge-count kernel: direct raw-offset scans when requested edges are few,
otherwise one global u64 edge prefix so each window is answered by a prefix
difference.
Behavior is preserved bit-for-bit, including raw null-buffer values, NaN
semantics, signed zero, infinities, empty/singleton windows, independent
timestamp/value offsets, arbitrary window layouts, and exact DataFusion
error messages. The shared proc macro, planner, serializer, and other range
functions are untouched.
Controlled release benchmarks (fixed CPU, ABBA):
- Dense sliding windows (k=4/20/240): 91.7-95.6% less public UDF wall time.
- Low-coverage fallback (N=4096, 8 windows): 73.9-74.4% faster.
- Warmed distributed TQL ANALYZE 5m/1h changes/resets: 12.1-19.7% client
and 12.0-20.9% server latency improvement; controls stayed within drift.
Signed-off-by: discord9 <discord9@163.com >
* ci(query-regression): include PromQL range boundary case in defaults
An audit of historical query-regression runs found zero range-query
coverage: all 208 PromQL ANALYZE samples were bare selectors, so range
evaluation could regress without CI noticing. Wire the
promql_range_boundary case (introduced in #8646 ) into DEFAULT_CASES so
label-triggered runs measure the range path. The case is cheap: a ~0.3s
synthetic fixture and about a minute of query execution per base/candidate
pass.
Signed-off-by: discord9 <discord9@163.com >
* chore(promql): address sliding range review nits
Move test-only imports into their test modules and remove the unused
pre-specialization changes and resets helpers.
Signed-off-by: discord9 <discord9@163.com >
* style(promql): apply pinned rustfmt
Signed-off-by: discord9 <discord9@163.com >
* test(promql): cover sparse range results
Share the changes and resets test scaffolding while keeping their behavior
oracles independent. Add an end-to-end sqlness regression for sparse samples,
empty intermediate windows, and a valid trailing sample.
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-08-03 06:53:21 +00:00
Ruihang Xia
0479c05092
perf: preserve dictionary-encoded query labels ( #8541 )
...
* perf: preserve dictionary-encoded query labels
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix(client): skip dictionary Flight batches
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix(servers): decode dictionary labels in HTTP output
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* test(mito2): support dictionary tags in series scans
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix(servers): preserve dictionary child nulls in SQL
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix(promql): compare dictionary tags by logical nulls
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix(query): keep dictionary tags within query paths
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* refactor(query): scope PK dictionary encoding to reads
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix(query): preserve pushdown for dictionary labels
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix(query): handle dictionary labels in query operators
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix(query): complete label type matching
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix(query): align dictionary query schemas
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix(query): decode incompatible OR labels
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix(query): preserve dictionary partition pruning
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix: handle dictionary query edge cases
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix: import dictionary downcast macro
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-07-17 13:57:10 +00:00
discord9
a598690bf7
fix(promql): handle missing labels in or matching ( #8504 )
...
* fix(promql): handle missing labels in or matching
Signed-off-by: discord9 <discord9@163.com >
* test(promql): streamline or matching coverage
Signed-off-by: discord9 <discord9@163.com >
* fix(promql): preserve unmatched rhs series in or
Signed-off-by: discord9 <discord9@163.com >
* perf(promql): stream union distinct inputs
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-16 02:29:43 +00:00
discord9
2123108db0
fix(promql): preserve ordinary NaN samples ( #8494 )
...
* fix(promql): distinguish stale markers from NaN
Signed-off-by: discord9 <discord9@163.com >
* fix(promql): preserve ordinary NaN samples
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-15 01:54:49 +00:00
shuiyisong
d667728fde
chore!: update promql-parser to v0.10.0, remove holt_winters ( #8457 )
...
* chore: update promql parser and fix compile
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: sqlness
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: cr issue
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: cr issue
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2026-07-13 03:27:06 +00:00
fys
3bf8b9722d
feat(json2): validate append mode for tables with JSON2 columns ( #8434 )
...
* feat: validate append mode for JSON2 tables
* fix: cr by codex
* fix: unit test
* fix: validate JSON2 append_mode for all ALTER TABLE operations
2026-07-08 03:33:36 +00:00
discord9
4f5dccf6bb
fix(query): push down PromQL cast filters ( #8407 )
...
* fix(query): push down PromQL cast filters
Signed-off-by: discord9 <discord9@163.com >
* test(query): cover cast preimage pushdown
Signed-off-by: discord9 <discord9@163.com >
* test(query): expand cast preimage coverage
Signed-off-by: discord9 <discord9@163.com >
* test(query): compare cast normalization rules
Signed-off-by: discord9 <discord9@163.com >
* test(query): update cast pushdown sqlness plans
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-03 09:10:00 +00:00
jeremyhi
fc7a9bf56d
fix: handle PromQL time binary aggregation ( #8398 )
...
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2026-07-02 11:18:58 +00:00
discord9
9cf071808a
fix(query): run optimizer rules before MergeScan ( #8339 )
...
* fix(query): push down join filters before MergeScan
Signed-off-by: discord9 <discord9@163.com >
* fix(query): run optimizer before MergeScan pushdown
Signed-off-by: discord9 <discord9@163.com >
* fix(query): narrow pre-MergeScan filter pushdown
Signed-off-by: discord9 <discord9@163.com >
* fix(query): refine pre-MergeScan optimizer prepass
Signed-off-by: discord9 <discord9@163.com >
* fix(query): satisfy predicate extractor clippy
Signed-off-by: discord9 <discord9@163.com >
* test(query): cover pre-MergeScan optimizer edges
Signed-off-by: discord9 <discord9@163.com >
* test(query): cover set comparison prepass
Signed-off-by: discord9 <discord9@163.com >
* fix(query): guard remote scan filter pushdown
Signed-off-by: discord9 <discord9@163.com >
* fix(query): preserve subquery planning errors
Signed-off-by: discord9 <discord9@163.com >
* fix(query): preserve usable scan predicates
Signed-off-by: discord9 <discord9@163.com >
* fix(query): simplify scan predicate extraction
Signed-off-by: discord9 <discord9@163.com >
* fix(query): keep scan filter extraction scoped
Signed-off-by: discord9 <discord9@163.com >
* docs(query): explain pre-MergeScan optimizer
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-23 12:15:40 +00:00
Ruihang Xia
428cd8137d
feat: identify noneffective binary modifiers ( #8230 )
...
* perf(promql): use tsid for full-label modifier joins
* fix(promql): collect narrow range joins by tsid
* verify on for both sides
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* check if tsid exists
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* correct behavior
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-06-05 08:44:50 +00:00
Ruihang Xia
edd563d2e1
feat: join simplifier for promql binary op ( #8211 )
...
* basic impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* refactor, remove shallow methods
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* more sqlness cases
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* clear ctx
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* prefix leaf aliase
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-06-04 08:13:24 +00:00
Ruihang Xia
85ae29cb0c
perf: collect narrow binary join ( #8193 )
...
* perf(promql): collect narrow binary join build side
* fix projection
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* finalize
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* rename mod
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-05-28 11:30:30 +00:00
Yingwen
9487e2c3ca
fix: divide series for subquery output ( #8173 )
...
* fix: divide series for subquery output
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: propagate time index lookup error in prom_call_manipulate
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-05-27 07:10:24 +00:00
Yingwen
a25152664b
fix: qualify HistogramFold schema ( #8157 )
...
* test: add regression test for binary op on histogram_quantile (#8144 )
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: preserve column qualifiers in HistogramFold output schema (#8144 )
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-05-25 07:40:48 +00:00
LFC
43225a8eee
feat: introducing "JSON2" type ( #7965 )
...
Signed-off-by: luofucong <luofc@foxmail.com >
2026-04-15 03:38:01 +00:00
Ruihang Xia
3fe8a61fad
perf: join metrics tables on the tsid key whenever possible ( #7927 )
...
* feat: prefilter flat parquet scans by primary key
* perf: skip redundant series divide repartitions
* perf: optimize tsid promql join planning
* perf: preserve tsid distribution through merge scans
* perf: remove redundant tsid join repartitions
* fix multi-field join case
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Revert "feat: prefilter flat parquet scans by primary key"
This reverts commit 767c3b44c8 .
* simplification
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* isolate rule into a dedicated mod
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove rule
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* more sqlness cases
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix filter join case
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix: normalize sqlness repartition input count
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix: normalize sqlness partition count in promql regression
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix: normalize sqlness hash partition fanout
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* simplification
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-04-14 19:43:58 +00:00
Ruihang Xia
59dd418629
feat: simplify nested aggr inside count query ( #7859 )
...
* as optimizer rule
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* dump changes
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* perf: tighten count-count optimizer rewrite
* extend inner op set
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* simplify and more coverage
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove prom-non-null
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* preserve value column through pruning
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* more sqlness cases
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* rename
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* enforce is not null before inner aggr
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* finalize
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-03-26 00:08:38 +00:00
discord9
30e895abbe
fix: prom cast to f64 ( #7840 )
...
* fix: cast to f64
Signed-off-by: discord9 <discord9@163.com >
* test: div case
Signed-off-by: discord9 <discord9@163.com >
* test: int test
Signed-off-by: discord9 <discord9@163.com >
* chore: sqlness update
Signed-off-by: discord9 <discord9@163.com >
* chore: test
Signed-off-by: discord9 <discord9@163.com >
* chore: update test
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-03-24 06:24:52 +00:00
Ruihang Xia
39140058d0
feat: adapt new name of holt winters fn ( #7700 )
...
* feat: adapt new name of holt winters fn
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update parser
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* alias old fn name
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-03-04 23:32:37 +00:00
b2074e3863
chore: upgrade DataFusion family, again ( #7578 )
...
* chore: upgrade DataFusion family
Signed-off-by: luofucong <luofc@foxmail.com >
* chore: switch to released version of datafusion-pg-catalog
---------
Signed-off-by: luofucong <luofc@foxmail.com >
Co-authored-by: Ning Sun <sunning@greptime.com >
Co-authored-by: Ning Sun <sunng@protonmail.com >
2026-03-03 07:36:39 +00:00
fys
1aa80d9363
fix: incorrect-tql-explain result ( #7675 )
2026-02-11 02:30:15 +00:00
Ruihang Xia
4ac73a7e9e
feat: adapt prometheus 3.x selector and lookback behavior ( #7688 )
...
* feat: adapt prometheus 3.x selector and lookback behavior
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove commit hash from comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-02-10 04:00:45 +00:00
Ruihang Xia
a10d40e552
feat: adapt prometheus 3.x matrix selector behavior change ( #7671 )
...
feat: adapt prometheus 3.x matrix selector behavior
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-02-06 03:06:33 +00:00
Ruihang Xia
26f7c12ffd
fix: drop rhs columns on promql filter join ( #7665 )
...
* fix: drop rhs columns on promql filter join
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* choose instant vector to operate
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-02-04 13:12:20 +00:00
Ruihang Xia
2dc4c294cf
feat: support group by op in promql ( #7663 )
...
* feat: support group by op in promql
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* restrict to single field table
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-02-04 09:43:17 +00:00
Ruihang Xia
f9030a84c8
fix: incorrect column statistics of promql plans ( #7662 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-02-04 04:58:38 +00:00
Ruihang Xia
65f46b6a2f
feat: ensure datanode plan's dist and ordering for tsid col ( #7614 )
...
* ensure datanode plan's dist and ordering
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add one more comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-01-26 11:36:59 +00:00
Ruihang Xia
2f82e7525f
fix: correct histogram result ( #7608 )
...
correct result by removing tsid
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-01-23 07:46:46 +00:00
LFC
e64c31e59a
chore: upgrade DataFusion family ( #7558 )
...
* chore: upgrade DataFusion family
Signed-off-by: luofucong <luofc@foxmail.com >
* use main proto
Signed-off-by: luofucong <luofc@foxmail.com >
* fix ci
Signed-off-by: luofucong <luofc@foxmail.com >
---------
Signed-off-by: luofucong <luofc@foxmail.com >
2026-01-14 14:02:31 +00:00
Yingwen
4b3bd7317b
feat: add per-partition convert, result cache metrics ( #7539 )
...
* fix: show convert cost in explain analyze verbose
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: increase puffin metadata cache metric
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: add result cache hit/miss to filter metrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: print flat format in debug
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: update sqlness test
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: make scan cost contains part/reader build cost
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect divider cost
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: remove unused field in ScannerMetrics
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat: collect metadata read bytes
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: collect read metrics in get_parquet_meta_data
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-01-13 09:17:09 +00:00
Ruihang Xia and Ning Sun
9a4b7cbb32
feat: bump promql-parser to v0.7.1 ( #7521 )
...
* feat: bump promql-parser to v0.7.0
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add sqlness tests
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update other sqlness results
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Update tests/cases/standalone/common/tql/case_sensitive.result
Co-authored-by: Ning Sun <sunng@protonmail.com >
* remove escape on greptimedb side
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update to v0.7.1
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove unused deps
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Ning Sun <sunng@protonmail.com >
2026-01-07 07:23:40 +00:00
Ruihang Xia
e0697790e6
chore: sort histogram sqlness result ( #7406 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-15 08:12:12 +00:00
Ruihang Xia
bd3ad60910
fix: promql offset direction ( #7392 )
...
* fix: promql offset direction
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* sort sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* commit forgotten file
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-12 07:51:35 +00:00
Ruihang Xia
cbfdeca64c
fix: promql histogram with aggregation ( #7393 )
...
* fix: promql histogram with aggregation
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update test constructors
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* sqlness tests
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* redact partition number
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-12 07:32:04 +00:00
Ruihang Xia
60f752d306
feat: run histogram quantile in safe mode for incomplete data ( #7297 )
...
* initial impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* sqlness test and fix
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* correct sqlness case
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* simplification
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* refine code and comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-12-05 09:19:21 +00:00
discord9
a9a3e0b121
fix: prom ql logical plan use column index not name ( #7109 )
...
* feat: use index not col name
Signed-off-by: discord9 <discord9@163.com >
* fix: use name without qualifier&output schema fix
Signed-off-by: discord9 <discord9@163.com >
* proto
Signed-off-by: discord9 <discord9@163.com >
* refactor: resolve column name/index
Signed-off-by: discord9 <discord9@163.com >
* pcr
Signed-off-by: discord9 <discord9@163.com >
* chore: update proto
Signed-off-by: discord9 <discord9@163.com >
* chore: update proto
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-10-22 09:04:09 +00:00
LFC
cbe0cf4a74
refactor: rewrite some UDFs to DataFusion style (part 2) ( #6967 )
...
* refactor: rewrite some UDFs to DataFusion style (part 2)
Signed-off-by: luofucong <luofc@foxmail.com >
* deal with vector UDFs `(scalar, scalar)` situation, and try getting the scalar value reference everytime
Signed-off-by: luofucong <luofc@foxmail.com >
* reduce some vector literal parsing
Signed-off-by: luofucong <luofc@foxmail.com >
* fix ci
Signed-off-by: luofucong <luofc@foxmail.com >
---------
Signed-off-by: luofucong <luofc@foxmail.com >
2025-09-18 06:37:27 +00:00
dennis zhuang
1234911ed3
refactor: query config options ( #6781 )
...
* feat: refactor columnar and vector conversion
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* feat: initialize config options from query context
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: failure tests
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: revert ColumnarValue::try_from_vector
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2025-09-01 07:00:26 +00:00
Ruihang Xia
288f69a30f
fix: plan disorder from upgrading datafusion ( #6787 )
...
* fix: plan disorder from upgrading datafusion
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness again
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-08-23 12:29:47 +00:00
Ruihang Xia
7e573e497c
feat: simplify more regex patterns in promql ( #6747 )
...
* feat: simplify more regex patterns in promql
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add sqlness cases
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness case
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-08-20 18:51:10 +00:00
yihong and Ruihang Xia
7402320abc
fix: time() function should the same as behavior prometheus ( #6704 )
...
* fix: close issue_6701 phase 1 make it return now
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: tests
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: make tests stable
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: drop useless tests
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: address comments
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: close issue_6701 phase 1 make it return now
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: tests
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: make tests stable
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: drop useless tests
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: address comments
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: make time() real right
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: fix tests
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* add two sqlness cases
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* simplify impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2025-08-20 03:05:21 +00:00
yihong
56f5ccf823
fix: support unknown for timestamp function ( #6708 )
...
* fix: support unknown for timestamp function
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: some sqlness now no error
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: make clippy happy
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: address comments
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: address comments
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
---------
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
2025-08-14 02:56:33 +00:00
yihong and Jiachun Feng
f0bec4940f
fix: two label_replace different from promql ( #6720 )
...
* fix: two label_replace different from promql
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: address comments
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
Co-authored-by: Jiachun Feng <jiachun_feng@proton.me >
* fix: another address
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
---------
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
Co-authored-by: Jiachun Feng <jiachun_feng@proton.me >
2025-08-13 06:27:49 +00:00
yihong and Jiachun Feng
5eb491df12
fix: label_join should work with unknown ( #6714 )
...
* fix: label_join should work with unknown
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: address comments
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
Co-authored-by: Jiachun Feng <jiachun_feng@proton.me >
* fix: address forget comments
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
---------
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
Co-authored-by: Jiachun Feng <jiachun_feng@proton.me >
2025-08-13 03:45:40 +00:00
Ruihang Xia
2992e70393
fix: correct offset's symbol ( #6728 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-08-13 03:20:47 +00:00