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
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
discord9
ac6d68aa2d
fix: simp expr recursively ( #7523 )
...
* fix: simp expr recursively
Signed-off-by: discord9 <discord9@163.com >
* test: some simple constant folding case
Signed-off-by: discord9 <discord9@163.com >
* fix: literal ts cast to UTC
Signed-off-by: discord9 <discord9@163.com >
* fix: patch merge scan batch col tz instead
Signed-off-by: discord9 <discord9@163.com >
* test: fix
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-01-07 09:22:26 +00:00
discord9
6501b0b13c
feat: MergeScan print input ( #6563 )
...
* feat: MergeScan print input
Signed-off-by: discord9 <discord9@163.com >
* test: fix ut
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-07-21 06:40:15 +00:00
Yingwen
0e249f69cd
fix: don't transform Limit in TypeConversionRule, StringNormalizationRule and DistPlannerAnalyzer ( #5472 )
...
* fix: do not transform exprs in the limit plan
* chore: keep some logs for debug
* feat: workaround for limit in other rules
* test: add sqlness tests for offset 0
* chore: add fixme
2025-02-05 11:30:24 +00:00
314f2704d4
build(deps): update datafusion to latest and arrow to 51.0 ( #3661 )
...
* chore: update datafusion
* update sqlness case of time.sql
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix: adjust range query partition
* fix: hisogram incorrect result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix: ignore filter pushdown temporarily
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix: update limit sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix: histogram with wrong distribution
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix: update negative ordinal sqlness case
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* feat: bump df to cd7a00b
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* resolve conflicts
* ignore test_range_filter
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix promql exec panic
* fix "select count(*)" exec error
* re-enable the "test_range_filter" test since the filter push down seems not necessary to be removed
* fix: range query schema error
* update sqlness results
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* resolve conflicts
* update datafusion, again
* fix pyo3 compile error, and update some sqlness results
* update decimal sqlness cases
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix: promql literal
* fix udaf tests
* fix filter pushdown sqlness tests
* fix?: test_cast
* fix: rspy test fail due to datafusion `sin` signature change
* rebase main to see if there are any failed tests
* debug ci
* debug ci
* debug ci
* enforce input partition
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* debug ci
* fix ci
* fix ci
* debug ci
* debug ci
* debug ci
* fix sqlness
* feat: do not return error while creating a filter
* chore: remove array from error
* chore: replace todo with unimplemented
* Update src/flow/clippy.toml
Co-authored-by: Yingwen <realevenyag@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: WUJingdi <taylor-lagrange@qq.com >
Co-authored-by: discord9 <discord9@163.com >
Co-authored-by: evenyag <realevenyag@gmail.com >
Co-authored-by: tison <wander4096@gmail.com >
2024-04-18 12:07:18 +00:00
Ruihang Xia and Yingwen
10ecc30817
feat: pushdown aggr, limit and sort plan ( #2495 )
...
* check partition for aggr plan
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* handle empty partition rule
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove CheckPartition option
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update some valid sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* opt-out promql plan and update sqlness
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix limit
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix insert select subquery
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update unit test result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix typo
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Update src/query/src/dist_plan/analyzer.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-09-28 06:35:45 +00:00
Ruihang Xia and Yingwen
5bd80a74ab
feat: prepare for implementing considering partition key in the distributed planner ( #2000 )
...
* basic impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix frontend logic
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add sqlness test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* check substrait compatibility before pushdown
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* going to revert some rules
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix test and clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix compile error
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix typo
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove println
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Apply suggestions from code review
Co-authored-by: Yingwen <realevenyag@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-07-31 12:36:23 +00:00
LFC
ff2784da0f
test: add SELECT ... LIMIT ... test cases for distributed mode ( #1419 )
2023-04-18 23:05:43 +08:00
LFC
184ca78a4d
revert: removed all "USE"s in sqlness tests introduced in #922 ( #938 )
2023-02-03 15:44:58 +08:00
LFC
af935671b2
feat: support "use" in GRPC requests ( #922 )
...
* feat: support "use catalog and schema"(behave like the "use" in MySQL) in GRPC requests
* fix: rebase develop
2023-02-02 20:02:56 +08:00
dennis zhuang
9428e70971
feat: integration test ( #770 )
...
* feat: add insert test cases
* fix: update results after rebase develop
* feat: supports unsigned integer types and big_insert test
* test: add insert_invalid test
* feat: supports time index constraint for bigint type
* chore: time index column at last
* test: adds more order, limit test
* fix: style
* feat: adds numbers table in standable memory catalog mode
* feat: enable fail_fast and test_filter in sqlness
* feat: add more tests
* fix: test_filter
* test: add alter tests
* feat: supports if_not_exists when create database
* test: filter_push_down and catalog test
* fix: compile error
* fix: delete output file
* chore: ignore integration test output in git
* test: update all integration test results
* fix: by code review
* chore: revert .gitignore
* feat: sort the show tables/databases results
* chore: remove issue link
* fix: compile error and code format after rebase
* test: update all integration test results
2023-01-10 18:15:50 +08:00