discord9
4402f638cd
fix: distinct respect in range ( #5015 )
...
* fix: distinct respect in range
* tests: sqlness
* chore: newline
2024-11-18 12:11:07 +00:00
Yingwen
2f2b4b306c
feat!: implement interval type by multiple structs ( #4772 )
...
* define structs and methods
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* feat: re-implement interval types in time crate
* feat: use new
* feat: interval value
* feat: query crate interval
* feat: pg and mysql interval
* chore: remove unused imports
* chore: remove commented codes
* feat: make flow compile but may not work
* feat: flow datetime
* test: fix some tests
* test: fix some flow tests(WIP)
* chore: some fix test&docs
* fix: change interval order
* chore: remove unused codes
* chore: fix cilppy
* chore: now signature change
* chore: remove todo
* feat: update error message
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: discord9 <discord9@163.com >
2024-10-14 03:09:03 +00:00
Yingwen
3e17c09e45
feat: skip caching uncompressed pages if they are large ( #4705 )
...
* feat: cache each uncompressed page
* chore: remove unused function
* chore: log
* chore: log
* chore: row group pages cache kv
* feat: also support row group level cache
* chore: fix range count
* feat: don't cache compressed page for row group cache
* feat: use function to get part
* chore: log whether scan is from compaction
* chore: avoid get column
* feat: add timer metrics
* chore: Revert "feat: add timer metrics"
This reverts commit 4618f57fa2ba13b1e1a8dec83afd01c00ae4c867.
* feat: don't cache individual uncompressed page
* feat: append in row group level under append mode
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* chore: fetch pages cost
* perf: yield
* Update src/mito2/src/sst/parquet/row_group.rs
* refactor: cache key
* feat: print file num and row groups num in explain
* test: update sqlness test
* chore: Update src/mito2/src/sst/parquet/page_reader.rs
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2024-09-10 11:52:16 +00:00
Yingwen
f382a7695f
perf: reduce lock scope and improve log ( #4453 )
...
* feat: refine logs for scan
* feat: improve build parts and unordered scan metrics
* feat: change to debug log
* fix: release lock before reading part
* test: replace region id
* test: fix sqlness
* chore: add todo
Co-authored-by: dennis zhuang <killme2008@gmail.com >
---------
Co-authored-by: dennis zhuang <killme2008@gmail.com >
2024-07-31 04:07:34 +00:00
Ruihang Xia
a7aa556763
feat: output multiple partition in MergeScanExec ( #4227 )
...
* feat: output multiple partition in MergeScanExec
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix range manipulate
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-06-28 13:45:22 +00:00
LFC
cc2f7efb98
chore: bump datafusion version to fix last_value regression ( #4169 )
...
* chore: bump datafusion version to fix `last_value` regression
* fix: resolve PR comments
* fix ci
2024-06-19 07:47:17 +00:00
Yingwen
fe74efdafe
feat: Implement memtable range ( #4162 )
...
* refactor: RangeBase
* feat: memtable range
* feat: scanner use mem range
* feat: remove base from mem range context
* feat: impl ranges for memtables
* chore: fix warnings
* refactor: make predicate cheap to clone
* refactor: MemRange -> MemtableRange
* feat: pub empty memtable to fix warnings
* test: fix sqlness result
2024-06-18 22:25:19 +00:00
Yingwen
65f8b72d34
feat: Implement RegionScanner for SeqScan ( #4060 )
...
* feat: ordered builder wip
* feat: impl RegionScanner for SeqScan
* feat: implement scan_partition and build_stream
* chore: return SeqScan as RegionScanner
* fix: group parts
* feat: split parts
* chore: reader metrics
* chore: metrics
* chore: remove unused codes
* chore: support holding a group of ranges in ScanPart
* feat: group ScanParts to ScanParts
* feat: impl SeqScanner again
* chore: observe build cost in ScannerMetrics
* chore: fix compiler warnings
* style: fix clippy
* docs: update config docs
* chore: forward DisplayAs to scanner
* test: update sqlness tests
* chore: update debug fmt
* chore: custom debug for timestamp
fix test compiling issue with common-macro when running
cargo nextest -p common-time
* chore: update debug format
* feat: update fmt for scan part
* chore: fix warning
* fix: sanitize parallelism
* feat: split parts
* test: fix config api test
* feat: update logs
* chore: Revert "chore: remove unused codes"
This reverts commit b548b30a01eeded59b1a0a8d89f9293ca63afc41.
* chore: Revert "docs: update config docs"
This reverts commit a7997e78d6ddcf635560574de8c1948c495bdd12.
* feat: each partition scan files in parallel
* test: fix config api test
* docs: fix typo
* chore: address comments, simplify tests
* feat: global semaphore
* feat: always spawn task
* chore: simplify default explain output format
* handle output partiton number is 0
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix typo
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-06-12 08:21:30 +00:00
Ruihang Xia
c2218f8be8
build(deps): bump datafusion 20240528 ( #4061 )
...
* build(deps): bump datafusion 20240528
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* another update
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update expected sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix first/last value
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* reformat comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix remaining errors
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* revert toml format
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix pyo3 feature
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove dead code
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Apply suggestions from code review
Co-authored-by: Jeremyhi <jiachun_feng@proton.me >
* format file
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Jeremyhi <jiachun_feng@proton.me >
2024-06-01 14:03:00 +00:00
Yingwen
179c8c716c
feat: Adds RegionScanner trait ( #3948 )
...
* feat: define region scanner
* feat: single partition scanner
* feat: use single partition scanner
* feat: implement ExecutionPlan wip
* feat: mito engine returns single partition scanner
* feat: implement DisplayAs for region server
* feat: dummy table provider use handle_partitioned_query()
* test: update sqlness test
* feat: table provider use ReadFromRegion
* refactor: remove StreamScanAdapter
* chore: update lock
* style: fix clippy
* refactor: remove handle_query from the RegionEngine trait
* chore: address CR comments
* refactor: rename methods
* refactor: rename ReadFromRegion to RegionScanExec
2024-05-20 11:52:00 +00:00
WU Jingdi
e2a1cb5840
feat: support evaluate expr in range query param ( #3823 )
...
* feat: support evaluate expr in range query param
* chore: fix comment
* chore: fix code comment
* fix: disbale now in duration param
2024-05-17 08:31:55 +00:00
Ruihang Xia
aec5cca2c7
feat: support distributed EXPLAIN ANALYZE ( #3908 )
...
* feat: fetch and pass per-plan metrics
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* impl DistAnalyzeExec
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness results
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix typo
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix typo again
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Update src/query/src/analyze.rs
Co-authored-by: Jeremyhi <jiachun_feng@proton.me >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Jeremyhi <jiachun_feng@proton.me >
2024-05-10 12:31:29 +00:00
Ruihang Xia
e84b1eefdf
perf: optimize count(*) ( #3845 )
...
* perf: optimize count(*)
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fallback to count(1) for temporary table
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* handle alias expr in range plan
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* handle subquery alias
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* rename file
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-04-30 10:10:11 +00:00
LFC
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
WU Jingdi
fb4da05f25
fix: adjust fill behavior of range query ( #3489 )
2024-03-13 09:20:34 +00:00
WU Jingdi
8c37c3fc0f
feat: support first_value/last_value in range query ( #3448 )
...
* feat: support `first_value/last_value` in range query
* chore: add sqlness test on `count`
* chore: add test
2024-03-11 01:30:39 +00:00
dennis zhuang
7323e9b36f
feat: change Range Query’s default align behavior aware of timezone ( #3219 )
...
* feat: change Range Query’s default align behavior to 1970-01-01 00:00:00 aware of timezone
* test: test with +23:00 timezone
2024-01-24 08:17:57 +00:00
WU Jingdi
d180e41230
fix: change range query time slot to [align_ts, align_ts + range) ( #2938 )
2023-12-19 02:35:14 +00:00
WU Jingdi
4383a69876
fix!: remove range calendar as To option ( #2940 )
...
fix: remove range calendar as `To` option
2023-12-18 07:48:49 +00:00
WU Jingdi
806400caff
feat: add align to / interval support in range query ( #2842 )
...
* feat: add align to / interval support in range query
* chore: fix ci
* chore: simplify `parse_duration_expr`
* chore: change s to ms
2023-12-04 08:00:41 +00:00
Ruihang Xia
56fc77e573
fix: add missing error display message ( #2791 )
...
* fix: add missing error display message
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 >
2023-11-23 02:59:49 +00:00
WU Jingdi
91820a8006
fix: empty by in range query ( #2770 )
...
* fix: empty by in range query
* Apply suggestions from code review
---------
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2023-11-17 11:18:14 +00:00
WU Jingdi
bbaae9223a
feat: enable empty range by ( #2697 )
2023-11-06 03:45:33 +00:00
WU Jingdi
d2f3793d15
fix: explain range query ( #2664 )
...
* fix: explain range query
* chore: add comment
2023-10-30 13:21:25 +00:00
Ruihang Xia
5d8b0e8154
chore: bump dependencies ( #2659 )
...
* fix all hard error
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix nextest
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* trivial changes
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix order by
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix sql keyword and data type
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix range exec's input partitioning
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix cover input type
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix explain analyze
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update distributed mode sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix lints
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update locks
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* downgrade dlv-list
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-10-26 12:24:14 +00:00
Ning Sun
0fbde48655
feat: hide internal error and unknown error message from end user ( #2544 )
...
* feat: use fixed error message for unknown error
* feat: return fixed message for internal error as well
* chore: include status code in error message
* test: update tests for asserts of error message
* feat: change status code of some datafusion error
* fix: make CollectRecordbatch an query error
* test: update sqlness results
2023-10-23 03:07:35 +00:00
WU Jingdi
46e106bcc3
feat: allow nest range expr in Range Query ( #2557 )
...
* feat: eable range expr nest
* fix: change range expr rewrite format
* chore: organize range query tests
* chore: change range expr name(e.g. MAX(v) RANGE 5s FILL 6)
* chore: add range query test
* chore: fix code advice
* chore: fix ca
2023-10-18 07:03:26 +00:00