discord9 and Ning Sun
94d7e2c7fc
feat!: upgrade DataFusion to 55 ( #8555 )
...
* feat!: upgrade DataFusion dependencies to 55
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* refactor: migrate DataFusion 55 APIs
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: preserve table function planning behavior
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: preserve PostgreSQL query compatibility
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: preserve distributed execution plan behavior
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: cover DataFusion 55 behavior regressions
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: update DataFusion 55 SQLness expectations
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: complete DataFusion 55 test API migration
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: address DataFusion 55 CI regressions
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: address remaining DataFusion 55 regressions
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: adapt latest base code to DataFusion 55
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: normalize environment-specific DataFusion 55 plans
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: align final DataFusion 55 expectations
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: isolate DataFusion 55 regression cases
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: preserve empty result schema in timestamp widening
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: preserve JSON source column order
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* chore: use released DataFusion 55 integrations
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: adapt latest execution plan mock to DataFusion 55
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: pin DataFusion recursive schema and date repairs
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix(promql): align dictionary temporality match keys
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: retain Greptime DataFusion fork behaviors on version 55
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: restore ordinary function error expectations
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: refresh distributed count compatibility plan
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix(query): adapt last-row cast hint to DataFusion 55
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: refresh instant last-row empty results for Arrow 59
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* style: simplify DataFusion expression visitor imports
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: restore sorting and PostgreSQL column-order assertions
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix(function): restore primitive numeric coercion signatures
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* refactor(function): share geo integer signature types
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: cover timestamp widening overflow boundaries
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: fix decimal coercion regression imports
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix(function): preserve scalar count_hash NULL state semantics
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: simplify decimal clamp case type inference
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: retain historical count_hash wrapper result
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: restore timestamp widening equality and IN pruning
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: carry upstream aggregate dynamic filter correctness fix
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: carry upstream null and predicate simplification fixes
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: restore baseline JSON ordering expectations
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: restore histogram JSON ordering expectations
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: refresh empty PromQL range result schemas
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: align native timestamp plan with DF55 decimal display
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: refresh native timestamp SQLness results for DF55
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: regenerate NULL sample empty result headers for DF55
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: use DF55 child replacement API in timestamp regressions
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: expose pushed scan dynamic filters to DF55 producers
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: encode string-backed PostgreSQL OID aliases in binary results
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: verify REGPROC binary and text over PostgreSQL protocol
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: register real PostgreSQL catalogs in server fixtures
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: complete DF55 expression inventories for custom query plans
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: correct RangeSelect expression fixture and column identities
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* ci: wait for Kafka WAL helper deployment rollout
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* test: update custom storage empty result headers
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: require exact row counts in scan statistics
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
* fix: suppress deprecated partition_statistics warning in test
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
---------
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
Co-authored-by: Ning Sun <sunng@protonmail.com >
2026-09-15 11:42:38 +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
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
d3cc1b1888
feat(flow): stabilize eval interval scheduling ( #8360 )
...
* feat(flow): stabilize eval interval scheduling
Signed-off-by: discord9 <discord9@163.com >
* fix(flow): satisfy eval schedule clippy
Signed-off-by: discord9 <discord9@163.com >
* test(flow): trim eval schedule coverage
Signed-off-by: discord9 <discord9@163.com >
* test(flow): cover stable eval scheduling
Signed-off-by: discord9 <discord9@163.com >
* fix(flow): reserve scheduled runtime hint
Signed-off-by: discord9 <discord9@163.com >
* test(flow): trim sqlness result eof
Signed-off-by: discord9 <discord9@163.com >
* fix(flow): harden eval schedule edges
Signed-off-by: discord9 <discord9@163.com >
* fix(flow): address scheduled flow review
Signed-off-by: discord9 <discord9@163.com >
* fix(flow): clean scheduled config handling
Signed-off-by: discord9 <discord9@163.com >
* test(flow): add eval interval compat case
Signed-off-by: discord9 <discord9@163.com >
* test(flow): cover show create flow in compat
Signed-off-by: discord9 <discord9@163.com >
* fix(flow): drop scheduled time from flow context
Signed-off-by: discord9 <discord9@163.com >
* test(flow): assert scheduled now binding
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-29 09:55:27 +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
QuakeWang and dennis zhuang
e8a86a4273
feat: expose flownode addrs in information_schema flows ( #7992 )
...
* feat: expose flownode addrs in information_schema flows
Signed-off-by: QuakeWang <1677980708@qq.com >
* fix: always include flownode addrs
Signed-off-by: QuakeWang <1677980708@qq.com >
* test: split flownode_addrs sqlness cases by mode
Signed-off-by: QuakeWang <1677980708@qq.com >
* test: fix flow_tql sqlness snapshots
Signed-off-by: QuakeWang <1677980708@qq.com >
* test: fix sqlness information_schema snapshot
Signed-off-by: QuakeWang <1677980708@qq.com >
---------
Signed-off-by: QuakeWang <1677980708@qq.com >
Co-authored-by: dennis zhuang <killme2008@gmail.com >
2026-04-22 07:06:44 +00:00
discord9
d1151b665b
feat: flow tql cte ( #7702 )
...
* feat: flow tql cte
Signed-off-by: discord9 <discord9@163.com >
* fix: creating flow TQL CTE source tables lose cte part in query
Signed-off-by: discord9 <discord9@163.com >
* test: update sqlness result
Signed-off-by: discord9 <discord9@163.com >
* chore
Signed-off-by: discord9 <discord9@163.com >
* fix: properly canonicalize ident
Signed-off-by: discord9 <discord9@163.com >
* feat: even stricter check
Signed-off-by: discord9 <discord9@163.com >
* chore: sqlness update
Signed-off-by: discord9 <discord9@163.com >
* chore: after rebase fix
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-03-06 03:36:42 +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
Ruihang Xia
db46849f40
feat: track flow source tables for TQL and info schema ( #7697 )
...
* feat: track flow source tables for TQL and info schema
* handle schema matcher
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* sqlness tests
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* cover __name__ case
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-02-11 03:19:09 +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
discord9 and Ruihang Xia
085e9dfc7b
fix: use phy table when need fitler by tsid/table id ( #7609 )
...
* fix: use phy table when need fitler by tsid/table id
Signed-off-by: discord9 <discord9@163.com >
* feat: add subquery alias
Signed-off-by: discord9 <discord9@163.com >
* test: update after alias
Signed-off-by: discord9 <discord9@163.com >
* test: sort&redact
Signed-off-by: discord9 <discord9@163.com >
* test: per review
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2026-01-26 06:11:16 +00:00
564cc0c750
feat: table/column/flow COMMENT ( #7060 )
...
* initial impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* simplify impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* sqlness test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* avoid unimplemented panic
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* validate flow
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix table column comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* table level comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* simplify table info serde
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* don't txn
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove empty trait
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* wip: procedure
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update proto
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* grpc support
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Apply suggestions from code review
Co-authored-by: dennis zhuang <killme2008@gmail.com >
Co-authored-by: LFC <990479+MichaelScofield@users.noreply.github.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* try from pb struct
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* doc comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* check unchanged fast case
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* tune errors
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix merge error
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* use try_as_raw_value
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: dennis zhuang <killme2008@gmail.com >
Co-authored-by: LFC <990479+MichaelScofield@users.noreply.github.com >
2025-12-10 15:08:47 +00:00
dennis zhuang and Copilot
1f91422bae
feat!: improve mysql/pg compatibility ( #7315 )
...
* feat(mysql): add SHOW WARNINGS support and return warnings for unsupported SET variables
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* feat(function): add MySQL IF() function and PostgreSQL description functions for connector compatibility
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: show tables for mysql
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: partitions table in information_schema and add starrocks external catalog compatibility
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* refactor: async udf
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: set warnings
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* feat: impl pg_my_temp_schema and make description functions simple
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* test: add test for issue 7313
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* feat: apply suggestions
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: partition_expression and partition_description
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: test
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: unit tests
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: saerch_path only works for pg
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* feat: improve warnings processing
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: warnings while writing affected rows and refactor
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: improve ShobjDescriptionFunction signature
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* refactor: array_to_boolean
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-01 20:41:14 +00:00
discord9
6a3791ab31
fix(flow): promql auto create table ( #6867 )
...
* fix: non aggr prom ql auto create table
Signed-off-by: discord9 <discord9@163.com >
* feat: val column use any name
Signed-off-by: discord9 <discord9@163.com >
* feat: check if it's tql src table
Signed-off-by: discord9 <discord9@163.com >
* test: check sink table is tql-able
Signed-off-by: discord9 <discord9@163.com >
* test: sqlness redacted
Signed-off-by: discord9 <discord9@163.com >
* fix: sql also handle no aggr case
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-09-02 08:54:16 +00:00
discord9
367a25af06
feat: flow prom ql auto sink table is also promql-able ( #6852 )
...
* feat: flow prom ql auto sink table is also promql-able
Signed-off-by: discord9 <discord9@163.com >
* fix: gen create table expr without aggr/projection outermost
Signed-off-by: discord9 <discord9@163.com >
* test: update non-aggr testcase
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-08-29 12:16:03 +00:00
discord9
8452a9d579
feat(flow): add eval interval option ( #6623 )
...
* feat: add flow eval interval
Signed-off-by: discord9 <discord9@163.com >
* feat: tql flow must have eval interval
Signed-off-by: discord9 <discord9@163.com >
* chore: clippy
Signed-off-by: discord9 <discord9@163.com >
* test: update sqlness
Signed-off-by: discord9 <discord9@163.com >
* wip
Signed-off-by: discord9 <discord9@163.com >
* wip
Signed-off-by: discord9 <discord9@163.com >
* feat: check for now func
Signed-off-by: discord9 <discord9@163.com >
* refactor: use ms instead
Signed-off-by: discord9 <discord9@163.com >
* fix: not panic&proper simplifier
Signed-off-by: discord9 <discord9@163.com >
* test: update to fix
Signed-off-by: discord9 <discord9@163.com >
* feat: not allow month in interval
Signed-off-by: discord9 <discord9@163.com >
* test: update remov months
Signed-off-by: discord9 <discord9@163.com >
* refactor: per review
Signed-off-by: discord9 <discord9@163.com >
* chore: after rebase fix
Signed-off-by: discord9 <discord9@163.com >
* feat: use seconds and add to field instead
Signed-off-by: discord9 <discord9@163.com >
* chore: aft rebase fix
Signed-off-by: discord9 <discord9@163.com >
* fix: add check for month
Signed-off-by: discord9 <discord9@163.com >
* chore: fmt
Signed-off-by: discord9 <discord9@163.com >
* refactor: per review
Signed-off-by: discord9 <discord9@163.com >
* refactor: rm clone per review
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-08-27 09:44:32 +00:00