LFC
529f046110
refactor: json2 v2 storage layout ( #8979 )
...
* refactor: json2 v2 storage layout
Signed-off-by: luofucong <luofc@foxmail.com >
* resolve PR comments
Signed-off-by: luofucong <luofc@foxmail.com >
* fix ci
Signed-off-by: luofucong <luofc@foxmail.com >
* rethinking when "needs_remainder"
Signed-off-by: luofucong <luofc@foxmail.com >
* restore "ReadColumns"
Signed-off-by: luofucong <luofc@foxmail.com >
* resolve PR comments
Signed-off-by: luofucong <luofc@foxmail.com >
* fix ci
Signed-off-by: luofucong <luofc@foxmail.com >
---------
Signed-off-by: luofucong <luofc@foxmail.com >
2026-09-01 13:39:56 +00:00
Lei, HUANG
7539e60139
refactor: remove trivial tests ( #8877 )
...
* refactor: remove trivial tests
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
* fix: remove unused trace test import
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
---------
Signed-off-by: Lei, HUANG <ratuthomm@gmail.com >
2026-08-13 12:10:49 +00:00
Weny Xu
72f6cf09bf
refactor(procedure): centralize event context handling ( #8834 )
...
* refactor(procedure): centralize event context handling
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(meta): simplify migration trigger reason handling
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(meta): avoid cloning event context
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-08-11 09:05:26 +00:00
Yingwen
78084a9d44
feat: add admin function to discard unflushed data ( #8768 )
...
* feat: add admin function to discard unflushed data
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: cover discarding unflushed data by table
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore: fix license header
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: reject discarding logical metric table data
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: defer table name formatting in error paths
Signed-off-by: evenyag <realevenyag@gmail.com >
* chore(deps): update greptime-proto revision
Signed-off-by: evenyag <realevenyag@gmail.com >
* refactor: rename discard unflushed admin function
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-08-10 12:19:27 +00:00
Weny Xu
1f1c9270a8
feat(event): add event context to procedure events ( #8734 )
...
* feat(event): add trigger context to procedure events
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(event): fix trigger context event contracts
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event): preserve trigger context origins
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event): preserve lifecycle trigger contexts
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(meta): gate enterprise trigger imports
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(event): assert trigger contexts exactly
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(test): restore migration test literals
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(event): add trigger context to non-table ddl
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event): simplify trigger context encoding
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event): preserve auto alter trigger reason
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event): require explicit trigger context
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event): derive trigger context at ddl boundary
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event): propagate DDL trigger reasons
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(meta): resolve alter table rebase conflict
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(meta): fix alter table trigger context setup
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(meta): pass trigger context to region migration
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(event): fix unknown trigger context assertions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(meta): centralize trigger context protocol mapping
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(event): fix migration trigger context assertion
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(procedure): rename event runtime context
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event): rename trigger context
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(event): fix migration event context assertion
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-08-07 12:37:58 +00:00
jeremyhi
448f973593
fix: sandbox SQL local filesystem access ( #8708 )
...
* fix: sandbox SQL local filesystem access
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: address local file sandbox review findings
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: support Windows local copy paths
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: improve sandbox path errors
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* refactor: simplify local path error context
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* perf: stream secure filesystem listings
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* style: derive local file access default
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: improve local file access errors
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: address local file access review findings
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* test: simplify local file access coverage
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: harden sandboxed local file backends
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: reject directory copy targets before creation
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: avoid implicit string clone in file table listing
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
---------
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2026-07-31 13:23:15 +00:00
discord9
c52db42b61
test: stabilize remote dynamic filter left join e2e ( #8711 )
...
test: stabilize remote dynamic filter left join
Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com >
2026-07-31 10:56:52 +00:00
Weny Xu
7344d47756
feat(event-recorder): configure lifecycle event recording ( #8648 )
...
* refactor(event-recorder): centralize event table helpers
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(procedure): wire lifecycle event recorder
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(event-recorder): filter events by type
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event-recorder): derive event type filter default
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event-recorder): decouple frontend filtering
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: remove docs
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(event-recorder): complete configuration support
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(event-recorder): centralize filter ownership
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test(config): update event recorder snapshot
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix(frontend): decouple slow query event recorder
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-07-27 13:05:56 +00:00
discord9
b30765e5e9
fix: preserve distributed topk merge ordering ( #8432 )
...
* fix: preserve distributed topk for scalar latest
Signed-off-by: discord9 <discord9@163.com >
* fix: preserve scalar latest ordering across merge scan
Signed-off-by: discord9 <discord9@163.com >
* fix: carry merge scan ordering from planner rewrite
Signed-off-by: discord9 <discord9@163.com >
* test: cover merge scan ordering metadata
Signed-off-by: discord9 <discord9@163.com >
* test: cover merge scan partition ordering gate
Signed-off-by: discord9 <discord9@163.com >
* fix: require adjacent merge sort for ordering metadata
Signed-off-by: discord9 <discord9@163.com >
* test: update ordering sqlness plans
Signed-off-by: discord9 <discord9@163.com >
* fix: preserve distributed topk merge ordering
Signed-off-by: discord9 <discord9@163.com >
* test: cover latest per series queries
Signed-off-by: discord9 <discord9@163.com >
* test: update distributed merge sort sqlness
Signed-off-by: discord9 <discord9@163.com >
* test: cover merge scan ordering partition gate
Signed-off-by: discord9 <discord9@163.com >
* test: cover merge scan over-partition ordering
Signed-off-by: discord9 <discord9@163.com >
* test: cover distributed latest with low parallelism
Signed-off-by: discord9 <discord9@163.com >
* fix: keep distributed merge sort opaque
Signed-off-by: discord9 <discord9@163.com >
* test: assert distributed scalar latest merge sort
Signed-off-by: discord9 <discord9@163.com >
* test: clarify merge scan ordering helper
Signed-off-by: discord9 <discord9@163.com >
* fix: complete merge sort exec delegation
Signed-off-by: discord9 <discord9@163.com >
* docs: explain merge sort limit pushdown
Signed-off-by: discord9 <discord9@163.com >
* test: cover merge sort optimizer opacity
Signed-off-by: discord9 <discord9@163.com >
* docs: explain merge sort optimizer hooks
Signed-off-by: discord9 <discord9@163.com >
* test: cover merge sort optimizer hooks
Signed-off-by: discord9 <discord9@163.com >
* fix: preserve merge sort child topk
Signed-off-by: discord9 <discord9@163.com >
* test: update order by topk plan
Signed-off-by: discord9 <discord9@163.com >
* fix: recognize merge sort global fetch
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-14 12:53:07 +00:00
Yingwen
758664eefa
fix: Use prepared file locations for CSV strict headers integration test ( #8493 )
...
fix: normalize Windows COPY test paths
Signed-off-by: Codex <codex@openai.com >
2026-07-13 10:19:57 +00:00
QuakeWang
4e14ac8676
feat: add strict CSV header validation ( #8426 )
...
* feat: add strict CSV header validation
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
* style: simplify strict header parse error
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
---------
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
2026-07-10 02:15:08 +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
fys
aa563628fb
feat(json2): type hint ( #8247 )
...
* feat(json2): type hint
* test(datatypes): add JsonSettings serde round-trip test
* minor refactor
This reverts commit 7ff5a5249a09be5396536284fe822b5761ef4e6a.
* fix: code review
2026-06-30 07:37:31 +00:00
discord9
8fc5a3b1c7
feat: apply remote dynamic filters on datanode scans ( #8262 )
...
* feat: apply rdf
Signed-off-by: discord9 <discord9@163.com >
* chore: clippy
Signed-off-by: discord9 <discord9@163.com >
* fix: drop remote dyn filter fallback exec
Signed-off-by: discord9 <discord9@163.com >
* Revert "fix: drop remote dyn filter fallback exec"
This reverts commit bb757a596c3c2c078a836aa623226b7934103634.
Signed-off-by: discord9 <discord9@163.com >
* refactor: use rdf receiver logical plan instead
Signed-off-by: discord9 <discord9@163.com >
* test: update sqlness
Signed-off-by: discord9 <discord9@163.com >
* feat: rdf disable option
Signed-off-by: discord9 <discord9@163.com >
* tests: large int tests
Signed-off-by: discord9 <discord9@163.com >
* chore: clippy
Signed-off-by: discord9 <discord9@163.com >
* refactor: per review
Signed-off-by: discord9 <discord9@163.com >
* test: update prec fix
Signed-off-by: discord9 <discord9@163.com >
* fix: make receiver node works
Signed-off-by: discord9 <discord9@163.com >
* refactor: per review
Signed-off-by: discord9 <discord9@163.com >
* fix: tql disable rdf
Signed-off-by: discord9 <discord9@163.com >
* chore: rm useless joins
Signed-off-by: discord9 <discord9@163.com >
* fix: also disable in flow tql
Signed-off-by: discord9 <discord9@163.com >
* refactor: per review rm to promql
Signed-off-by: discord9 <discord9@163.com >
* chore: promql ut
Signed-off-by: discord9 <discord9@163.com >
* per review
Signed-off-by: discord9 <discord9@163.com >
* test: rm misleading&add some nested/cleanup
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-10 12:57:23 +00:00
QuakeWang
6ed67167bb
feat: support headerless CSV copy from ( #8233 )
...
* feat: support headerless CSV copy from
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
* fix: update csv copy sqlness result
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
* test: cover headerless CSV copy from
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
* test: cover headerless CSV column count mismatch
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
---------
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
2026-06-04 12:04:15 +00:00
Weny Xu
bb1de2a744
test: move CSV skip bad records coverage to integration ( #8237 )
...
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-06-04 07:58:58 +00:00
LFC
209880b991
feat: json2 flush ( #8011 )
...
Signed-off-by: luofucong <luofc@foxmail.com >
2026-04-23 03:03:37 +00:00
Ning Sun
e14404c677
chore: update rust toolchain to 2026-03-21 ( #7849 )
...
* chore: update rust toolchain to 2026-03-21
* chore: new format
* fix: lint
* chore: resolve lint issues
* chore: remove as_millis_f64
* chore: deps up
2026-03-30 12:13:14 +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
discord9
56ee8baa3f
feat: admin gc table/regions ( #7619 )
...
* feat: gc table
Signed-off-by: discord9 <discord9@163.com >
* test: admin gc
Signed-off-by: discord9 <discord9@163.com >
* chore: after rebase fix
Signed-off-by: discord9 <discord9@163.com >
* refactor: GcStats
Signed-off-by: discord9 <discord9@163.com >
* refactor: use gc ticker for admin gc
Signed-off-by: discord9 <discord9@163.com >
* fix: region routes override
Signed-off-by: discord9 <discord9@163.com >
* test: non happy path
Signed-off-by: discord9 <discord9@163.com >
* refactor: gc job report enum
Signed-off-by: discord9 <discord9@163.com >
* test: process 0 regions
Signed-off-by: discord9 <discord9@163.com >
* after rebase
Signed-off-by: discord9 <discord9@163.com >
* feat: allow manual gc to return error
Signed-off-by: discord9 <discord9@163.com >
* chore: update proto
Signed-off-by: discord9 <discord9@163.com >
* per review
Signed-off-by: discord9 <discord9@163.com >
* chore: timeout and update proto
Signed-off-by: discord9 <discord9@163.com >
* chore: udpate proto
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-03-06 08:25:44 +00:00
Weny Xu
b17947b5d8
feat: add COPY support for GCS/Azblob with OSS/GCS/Azblob integration coverage ( #7743 )
...
* feat: add gcs and azblob backends to copy datasource
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: add copy to/from oss integration coverage
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: add copy to/from gcs/azure integration coverage
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: use existing layers
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: hide `credential_path` in cli
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: remove logs
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-03-04 04:21:21 +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
38b5df574c
refactor: SQL and gRPC server handlers ( #7637 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2026-01-30 07:19:45 +00:00
discord9
00f568ed28
fix: gc update repart map properly ( #7606 )
...
* feat: update repart map
Signed-off-by: discord9 <discord9@163.com >
* fix: table id write lock
Signed-off-by: discord9 <discord9@163.com >
* chore: default value
Signed-off-by: discord9 <discord9@163.com >
* chore: config
Signed-off-by: discord9 <discord9@163.com >
* test: update repartition map
Signed-off-by: discord9 <discord9@163.com >
* fix: empty file ref set
Signed-off-by: discord9 <discord9@163.com >
* chore: per review
Signed-off-by: discord9 <discord9@163.com >
* chore: properly log error
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-01-28 04:31:19 +00:00
Weny Xu and discord9
4fb61047cb
test: add integration tests for repartition ( #7560 )
...
* test: add integration tests for mito repartition
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: update test result
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: add integration tests for metric repartition
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: correct results
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: enable tests for object store
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: add compaction and gc
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix unit test
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* more cases
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: file ref also in repart mapping
Signed-off-by: discord9 <discord9@163.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: set a longer timeout for mock metasrv channel manager
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
Signed-off-by: discord9 <discord9@163.com >
Co-authored-by: discord9 <discord9@163.com >
2026-01-22 10:14:40 +00:00
discord9
67e51b4573
feat: gc worker on dropped region ( #7537 )
...
* feat: allow clean up for dropped region
Signed-off-by: discord9 <discord9@163.com >
* clippy
Signed-off-by: discord9 <discord9@163.com >
* pcr
Signed-off-by: discord9 <discord9@163.com >
* fix: get access layer correct
Signed-off-by: discord9 <discord9@163.com >
* chore: invalid gc args
Signed-off-by: discord9 <discord9@163.com >
* chore: fix test
Signed-off-by: discord9 <discord9@163.com >
* feat: more defend check
Signed-off-by: discord9 <discord9@163.com >
* per review
Signed-off-by: discord9 <discord9@163.com >
* feat: messy impl of drop region
Signed-off-by: discord9 <discord9@163.com >
* feat: add dropped region GC handling module and integrate with GcScheduler
Signed-off-by: discord9 <discord9@163.com >
* refactor: simplify access layer creation
Signed-off-by: discord9 <discord9@163.com >
* c
Signed-off-by: discord9 <discord9@163.com >
* fix: path type
Signed-off-by: discord9 <discord9@163.com >
* feat: gc handle drop
Signed-off-by: discord9 <discord9@163.com >
* chore: use proper const
Signed-off-by: discord9 <discord9@163.com >
* fix: recursive list when check empty dir
Signed-off-by: discord9 <discord9@163.com >
* per review
Signed-off-by: discord9 <discord9@163.com >
* refactor: with gc only delete if metadata region
Signed-off-by: discord9 <discord9@163.com >
* feat: add batch_get_table_route method to SchedulerCtx and MockSchedulerCtx
Signed-off-by: discord9 <discord9@163.com >
* chore: comment
Signed-off-by: discord9 <discord9@163.com >
* refactor: retry delete method
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-01-20 11:45:37 +00:00
discord9
6487f14f70
feat: gc schd update repart mapping ( #7517 )
...
* feat(gc): batch gc now alos handle routing
Signed-off-by: discord9 <discord9@163.com >
typo
Signed-off-by: discord9 <discord9@163.com >
s
Signed-off-by: discord9 <discord9@163.com >
feat: use batch gc procedure
Signed-off-by: discord9 <discord9@163.com >
feat: cross region refs
Signed-off-by: discord9 <discord9@163.com >
feat: clean up repartition
Signed-off-by: discord9 <discord9@163.com >
chore: cleanup
Signed-off-by: discord9 <discord9@163.com >
per review
Signed-off-by: discord9 <discord9@163.com >
test: update mock test
Signed-off-by: discord9 <discord9@163.com >
refactor: rm unused
Signed-off-by: discord9 <discord9@163.com >
refactor: invert related_regions
Signed-off-by: discord9 <discord9@163.com >
clippy
Signed-off-by: discord9 <discord9@163.com >
pcr
Signed-off-by: discord9 <discord9@163.com >
chore: remove unused
Signed-off-by: discord9 <discord9@163.com >
fix: after invert fix
Signed-off-by: discord9 <discord9@163.com >
chore: rm unused
Signed-off-by: discord9 <discord9@163.com >
refactor: eff
Signed-off-by: discord9 <discord9@163.com >
docs: chore
Signed-off-by: discord9 <discord9@163.com >
* after rebase fix
Signed-off-by: discord9 <discord9@163.com >
* chore
Signed-off-by: discord9 <discord9@163.com >
* pcr
Signed-off-by: discord9 <discord9@163.com >
* fix: mssing region
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-01-12 08:28:34 +00:00
Weny Xu
f3e2d333e4
feat(repartition): implement region allocation for repartition procedure ( #7534 )
...
* refactor: rename WalOptionsAllocator to WalProvider
The name "WalOptionsAllocator" was misleading because:
- For RaftEngine variant, it doesn't actually allocate anything
- The actual allocation logic lives in KafkaTopicPool
"WalProvider" better describes its role as providing WAL options
based on the configured WAL backend (RaftEngine or Kafka).
Changes:
- Rename `WalOptionsAllocator` to `WalProvider`
- Rename `WalOptionsAllocatorRef` to `WalProviderRef`
- Rename `build_wal_options_allocator` to `build_wal_provider`
- Rename module `wal_options_allocator` to `wal_provider`
- Rename error types: `BuildWalOptionsAllocator` -> `BuildWalProvider`,
`StartWalOptionsAllocator` -> `StartWalProvider`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor(meta): extract allocator traits from TableMetadataAllocator
Refactor TableMetadataAllocator to use trait-based dependency injection
for better testability and separation of concerns.
Changes:
- Add `ResourceIdAllocator` trait to abstract ID allocation
- Add `WalOptionsAllocator` trait to abstract WAL options allocation
- Implement traits for `Sequence` and `WalProvider`
- Remove duplicate `allocate_region_wal_options` function
- Rename `table_id_sequence` to `table_id_allocator` for consistency
- Rename `TableIdSequenceHandler` to `TableIdAllocatorHandler`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(meta): add max_region_number tracking to PhysicalTableRouteValue
Add `max_region_number` field to track the highest region number ever
allocated for a table. This value only increases when regions are added
and never decreases when regions are dropped, ensuring unique region
numbers across the table's lifetime.
Changes:
- Add `max_region_number` field to `PhysicalTableRouteValue`
- Implement custom `Deserialize` for backward compatibility
- Update `update_region_routes` to maintain max_region_number
- Calculate max_region_number from region_routes in `new()`
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: extract TableRouteAllocator trait from TableMetadataAllocator
- Add TableRouteAllocator trait for abstracting region route allocation
- Implement blanket impl for all PeerAllocator types
- Add PeerAllocator impl for Arc<T> to support trait object delegation
- Update TableMetadataAllocator to use TableRouteAllocatorRef
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: rename TableRouteAllocator to RegionRoutesAllocator
- Rename table_route.rs to region_routes.rs
- Rename TableRouteAllocator trait to RegionRoutesAllocator
- Rename wal_option.rs to wal_options.rs for consistency
- Update TableMetadataAllocator to use new naming
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat(meta-srv): implement region allocation for repartition procedure
This commit implements the region allocation phase of the repartition procedure,
which handles allocating new regions when a table needs to be split into more partitions.
Key changes:
- Refactor `RegionRoutesAllocator::allocate` to accept `(region_number, partition_expr)` tuples
for more flexible region number assignment
- Simplify `AllocationPlanEntry` by removing `regions_to_allocate` and `regions_to_deallocate`
fields (now derived from source/target counts)
- Add `convert_allocation_plan_to_repartition_plan` function to handle allocation, equal,
and deallocation cases
- Fix `RepartitionPlanEntry::allocate_regions()` to return target regions (was incorrectly
returning source regions)
- Implement complete `AllocateRegion` state with:
- Region route allocation via `RegionRoutesAllocator`
- WAL options allocation via `WalOptionsAllocator`
- Operating region registration for concurrency control
- Region creation on datanodes via `CreateTableExecutor`
- Table route metadata update
- Add `TableRouteValue::max_region_number()` helper method
- Add comprehensive unit tests for plan conversion and allocation logic
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions from CR
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-01-08 11:03:58 +00:00
LFC
dc9f3a702e
refactor: explicitly define json struct to ingest jsonbench data ( #7462 )
...
ingest jsonbench data
Signed-off-by: luofucong <luofc@foxmail.com >
2025-12-24 07:30:22 +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
ee76d50569
test: gc integration test ( #7306 )
...
* test: basic infra for set gc
Signed-off-by: discord9 <discord9@163.com >
* more stuff
Signed-off-by: discord9 <discord9@163.com >
* test: basic gc integration test
Signed-off-by: discord9 <discord9@163.com >
* rm unused
Signed-off-by: discord9 <discord9@163.com >
* clippy
Signed-off-by: discord9 <discord9@163.com >
* refactor: remove loader
Signed-off-by: discord9 <discord9@163.com >
* clippy
Signed-off-by: discord9 <discord9@163.com >
* fix: allow default endpoint
Signed-off-by: discord9 <discord9@163.com >
* filter out files
Signed-off-by: discord9 <discord9@163.com >
* chore: rm minio support
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2025-12-01 04:10:42 +00:00
LFC
4a7c16586b
refactor: remove Vectors from RecordBatch completely ( #7184 )
...
* refactor: remove `Vector`s from `RecordBatch` completely
Signed-off-by: luofucong <luofc@foxmail.com >
* resolve PR comments
Signed-off-by: luofucong <luofc@foxmail.com >
* resolve PR comments
Signed-off-by: luofucong <luofc@foxmail.com >
---------
Signed-off-by: luofucong <luofc@foxmail.com >
2025-11-21 08:53:35 +00:00
LFC
b7e834ab92
refactor: convert to influxdb values directly from arrow ( #7163 )
...
* refactor: convert to influxdb values directly from arrow
Signed-off-by: luofucong <luofc@foxmail.com >
* resolve PR comments
Signed-off-by: luofucong <luofc@foxmail.com >
* resolve PR comments
Signed-off-by: luofucong <luofc@foxmail.com >
---------
Signed-off-by: luofucong <luofc@foxmail.com >
2025-11-03 07:52:37 +00:00
Weny Xu
785f9d7fd7
fix: add delays in reconcile tests for async cache invalidation ( #7147 )
...
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-10-27 08:07:51 +00:00
LFC
b53a0b86fb
feat: create table with new json datatype ( #7128 )
...
* feat: create table with new json datatype
Signed-off-by: luofucong <luofc@foxmail.com >
* resolve PR comments
Signed-off-by: luofucong <luofc@foxmail.com >
---------
Signed-off-by: luofucong <luofc@foxmail.com >
2025-10-24 02:16:49 +00:00
Weny Xu
3119464ff9
feat: introduce the Noop WAL provider for datanode ( #7105 )
...
* feat: introduce noop log store
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: update config example
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: add noop wal tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-10-20 06:13:27 +00:00
LFC and Ning Sun
8fe17d43d5
chore: update rust to nightly 2025-10-01 ( #7069 )
...
* chore: update rust to nightly 2025-10-01
Signed-off-by: luofucong <luofc@foxmail.com >
* chore: nix update
---------
Signed-off-by: luofucong <luofc@foxmail.com >
Co-authored-by: Ning Sun <sunning@greptime.com >
2025-10-11 07:30:52 +00:00
dennis zhuang
57d84b9de5
feat: supports value aliasing in TQL ( #7041 )
...
* feat: supports value aliasing in TQL
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: invalid checking
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: remove invalid checking
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* test: add explain test
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: improve parser
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* test: add explain TQL-CTE
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2025-10-11 02:49:09 +00:00
Ruihang Xia
c9377e7c5a
build: bump rust edition to 2024 ( #6920 )
...
* bump edition
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* format
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* gen keyword
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* lifetime and env var
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* one more gen fix
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* lifetime of temporaries in tail expressions
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* format again
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* clippy nested if
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* clippy let and return
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2025-09-08 02:37:18 +00:00
Weny Xu
0e962844ac
fix: fix incorrect timestamp precision in information_schema.tables ( #6872 )
...
* fix: fix incorrect timestamp precision in information_schema.tables
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: fix unit test
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-09-01 12:20:23 +00:00
Weny Xu
1d84e802d8
feat: add integration tests for table reconciliation procedures part1 ( #6705 )
...
* feat: add integration tests for table reconciliation procedures
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: apply suggestions
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2025-08-13 03:29:39 +00:00
zyy17
cc35bab5e4
feat: record the migration events in metasrv ( #6579 )
...
* feat: collect procedure event
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* feat: collect region migration events
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* test: add integration test
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* chore: fix docs error
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* chore: fix integration test error
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* chore: change status code for errors
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* refactor: add `event()` in Procedure
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* refactor: improve trait design
1. Add `user_metadata()` in `Procedure` trait;
2. Add `Eventable` trait;
Signed-off-by: zyy17 <zyylsxm@gmail.com >
* chore: polish the code
Signed-off-by: zyy17 <zyylsxm@gmail.com >
---------
Signed-off-by: zyy17 <zyylsxm@gmail.com >
2025-08-06 03:30:33 +00:00
Arshdeep
2e571e351f
fix: add map datatype conversion in copy_table_from ( #6185 ) ( #6422 )
...
Signed-off-by: Arshdeep54 <balarsh535@gmail.com >
2025-07-28 03:53:10 +00:00
Zhenchi
2298227e0c
refactor: refactor partition mod to use PartitionExpr instead of PartitionDef ( #6554 )
...
* refactor: refactor partition mod to use PartitionExpr instead of PartitionDef
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* fix snafu
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* Puts expression into PbPartition
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* address comments
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* fix compile
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* update proto
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* add serde test
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
* add serde test
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
---------
Signed-off-by: Zhenchi <zhongzc_arch@outlook.com >
2025-07-23 03:51:28 +00:00
Yingwen
2a3445c72c
fix: ignore missing columns and tables in PromQL ( #6285 )
...
* fix: handle table/column not found in or
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: update result
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: drop table after test
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: fix test cases
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix: do not return table not found error in series_query
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2025-06-16 12:15:38 +00:00
Lei, HUANG
69870e2762
fix(mito): use 1day as default time partition duration ( #6202 )
...
* fix unit tests
* fix: sqlness
* fix/default-time-window:
## Add Helper Functions and Enhance Compaction Tests
- **Refactor Compaction Logic**: Introduced helper functions `flush` and `compact` in `compaction_test.rs` to streamline compaction operations.
- **Enhance Compaction Tests**: Added a new test `test_infer_compaction_time_window` in `compaction_test.rs` to verify compaction time window inference.
- **Testing Improvements**: Added `#[cfg(test)]` attribute to `new_multi_partitions` in `time_partition.rs` to ensure it's only included in test builds.
* fix/default-time-window:
- **Refactor `TimePartition` Struct**: Removed unnecessary comments regarding `time_range` in `time_partition.rs`.
- **Enhance `TimePartitions` Functionality**: Added a method `part_duration_or_default` to provide a default partition duration in `time_partition.rs`.
- **Update SQL Test Cases**: Modified SQL operations and expected results in `scan_big_varchar.result` and `scan_big_varchar.sql` to reflect changes in data manipulation logic.
* fix/default-time-window:
### Update Time Partition Default Duration
- **Refactor Default Duration**: Introduced `INITIAL_TIME_WINDOW` constant to define the default time window duration as `Duration::from_days(1)`. This change replaces multiple instances of the hardcoded default duration across the `time_partition.rs` file.
- **Files Affected**: `time_partition.rs`
* fix/default-time-window:
## Update Partition Duration Handling
- **`time_partition.rs`**: Refactored `part_duration` to be non-optional, removing `Option` wrapper. Updated logic to use `unwrap_or` with `INITIAL_TIME_WINDOW` where necessary. Adjusted related methods and tests to accommodate this change.
- **`version.rs` (memtable and region)**: Updated handling of `part_duration` to align with changes in `time_partition.rs`, ensuring consistent use of non-optional `Duration`.
* fix/default-time-window:
### Improve Error Context in `time_partition.rs`
- Enhanced error context message in `time_partition.rs` to provide clearer information on partition time range issues, including bucket size details.
Signed-off-by: Lei, HUANG <lhuang@greptime.com >
---------
Signed-off-by: Lei, HUANG <lhuang@greptime.com >
2025-06-08 16:20:26 +00:00
LFC
d27b9fc3a1
feat: implement Arrow Flight "DoPut" in Frontend ( #5836 )
...
* feat: implement Arrow Flight "DoPut" in Frontend
* support auth for "do_put"
* set request_id in DoPut requests and responses
* set "db" in request header
2025-04-17 03:46:19 +00:00
fys
2b2ea5bf72
chore: upgrade some dependencies ( #5777 )
...
* chore: upgrade some dependencies
* chore: upgrade some dependencies
* fix: cr
* fix: ci
* fix: test
* fix: cargo fmt
2025-03-27 02:48:44 +00:00
fys
9f9307de73
refactor: make frontend instance clear ( #5754 )
...
* refactor: the startup of frontend
* remove unnecessary error type
* fix: cr
* remove unnecessary trait FrontendInstance
* fix: cr
* fix: cr
* adjust the startup order of services
2025-03-24 06:08:02 +00:00
Lin Yihai
2cbf51d0be
refactor!: Remove Value::DateTime and ValueRef::DateTime. ( #5616 )
...
* refactor: Remove Value::DateTime and ValueRef::DateTime
* fix: don't panic if arrow cast field.
* fix: map `ColumnDataType::Datetime` to `ConcreteDataType::timestamp_microsecond_datatype`
* fix: Map `ValueData::DatetimeValue` correctly.
* refactor: Replace `datetime` with `timestamp_micro_second`
2025-03-11 07:03:27 +00:00