Yingwen
0a002f4d65
feat: support per-region write buffer limits ( #8473 )
...
* feat(mito): add per-region write buffer limit
Signed-off-by: evenyag <realevenyag@gmail.com >
* feat(mito): add default region write buffer size
Signed-off-by: evenyag <realevenyag@gmail.com >
* docs: expand configuration change checklist
Signed-off-by: evenyag <realevenyag@gmail.com >
* test: cover table write buffer size option
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito): refine region write buffer checks
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito): keep region-stalled writes queued
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito): allow zero region write buffer size
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito): validate region state before write stall
Signed-off-by: evenyag <realevenyag@gmail.com >
* fix(mito): reject writes beyond region hard limit
Signed-off-by: evenyag <realevenyag@gmail.com >
* docs: update example
Signed-off-by: evenyag <realevenyag@gmail.com >
---------
Signed-off-by: evenyag <realevenyag@gmail.com >
2026-07-15 07:31:25 +00:00
discord9
6e8bd8a5f9
test: add legacy JSON2 non-append compat case ( #8513 )
...
* test: add legacy json2 non-append compat case
Signed-off-by: discord9 <discord9@163.com >
* Apply suggestions from code review
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
---------
Signed-off-by: discord9 <discord9@163.com >
Co-authored-by: dennis zhuang <killme2008@gmail.com >
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-07-15 03:01:35 +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
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
Weny Xu
7039e54835
fix: require metasrv GC for repartition ( #8497 )
...
* fix: require GC for repartition
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: update sqlness result
Signed-off-by: WenyXu <wenymedia@gmail.com >
* test: enable GC for repartition integration tests
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-07-14 12:04:03 +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
discord9
b411c6265c
test: add json2 variant payload compat case ( #8459 )
...
* test: add json2 variant payload compat case
Signed-off-by: discord9 <discord9@163.com >
* test: refine json2 variant compat case
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-13 02:46:33 +00:00
discord9
02283b6ba0
test(perf): add remote write storage inspection ( #8444 )
...
* feat: add remote write value distributions
Signed-off-by: discord9 <discord9@163.com >
* test: extend remote write value distributions
Signed-off-by: discord9 <discord9@163.com >
* test: inspect remote write parquet storage
Signed-off-by: discord9 <discord9@163.com >
* test: normalize remote write perf fixtures
Signed-off-by: discord9 <discord9@163.com >
* test: add heavy remote write perf case
Signed-off-by: discord9 <discord9@163.com >
* test: use head greptime for read bench
Signed-off-by: discord9 <discord9@163.com >
* test: keep heavy remote write case local
Signed-off-by: discord9 <discord9@163.com >
* test: tune remote write perf smoke case
Signed-off-by: discord9 <discord9@163.com >
* test: fix query fixture import style
Signed-off-by: discord9 <discord9@163.com >
* test: cover remote write value distributions
Signed-off-by: discord9 <discord9@163.com >
* test: add integer counter perf case
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-10 12:27:27 +00:00
jeremyhi
03b304522f
refactor: model distributed inspect fan-in as exec ( #8447 )
...
* refactor: model distributed inspect fan-in as exec
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: harden distributed inspect exec fan-in
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: show distributed inspect scan in plans
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: stabilize distributed inspect sqlness
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: apply sqlness replacement to inspect explain
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: redact inspect repartition plan
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
---------
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2026-07-10 08:53:23 +00:00
discord9
ff2fa71d50
fix: repartition subset partition key joins ( #8460 )
...
Signed-off-by: discord9 <discord9@163.com >
2026-07-10 06:10:28 +00:00
LFC
6ae687dc8e
refactor: optimize json2 write ( #8393 )
...
refactor: optimize json2 write performance
Signed-off-by: luofucong <luofc@foxmail.com >
2026-07-09 07:08:57 +00:00
discord9
81e32eb1b5
test: add auto flush interval compat case ( #8448 )
...
Signed-off-by: discord9 <discord9@163.com >
2026-07-09 03:06:14 +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
12f83828b1
feat: add Prom remote-write query regression scenario ( #8413 )
...
* feat: add Prom remote-write query regression scenario
Signed-off-by: discord9 <discord9@163.com >
* test: add high-cardinality remote-write query case
Signed-off-by: discord9 <discord9@163.com >
* feat: chunk remote-write query regression loads
Signed-off-by: discord9 <discord9@163.com >
* test: use multi-day remote-write regression case
Signed-off-by: discord9 <discord9@163.com >
* fix: address query regression review comments
Signed-off-by: discord9 <discord9@163.com >
* ci: allow large query regression comments
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-07 07:58:56 +00:00
sribatsha dash
8f5d681e4b
feat: support ALTER TABLE SET auto_flush_interval ( #8403 )
...
* feat: support ALTER TABLE SET auto_flush_interval
Closes #8394 .
Add a new SetRegionOption::AutoFlushInterval variant so that the
per-table auto flush interval can be changed on existing tables
via 'ALTER TABLE t SET ...', following up the CREATE TABLE path
from #8357 .
- region_request.rs: parse 'auto_flush_interval' with humantime and
map it to the new variant.
- metadata.rs: persist the value (or remove it, if None) in
TableOptions.extra_options using the same humantime string format
the engine already expects.
- handle_alter.rs: apply the new interval in
handle_alter_region_options_fast (no memtable flush needed, same
pattern as Ttl) and group the variant with Ttl/Twsc in
new_region_options_on_empty_memtable.
Tests:
- Two unit tests in metadata.rs covering set and unset-to-None.
- A new sqlness case alter_auto_flush_interval.sql covering
create-then-alter, alter-then-alter, invalid duration, and
alter on a table that already had auto_flush_interval at create
time.
Signed-off-by: srivtx <crypticcc101@gmail.com >
* fix: validate auto_flush_interval > 0 in ALTER SET path
Gemini code assist flagged that the request parser accepted a zero
duration, leaving the rejection to the downstream RegionOptions
validation which only fires on next flush. Reject it at parse time
so users get the error immediately at the ALTER TABLE statement.
Also add a '0s' error case to the sqlness test.
Signed-off-by: srivtx <crypticcc101@gmail.com >
* fix: handle SET 'auto_flush_interval' = NULL and add checked-in .result
Address the rest of fengjiachun's review on #8403 :
1. Empty value in ALTER SET clears the override (parallels Ttl).
'ALTER TABLE t SET ... = NULL' comes through as value = ''; we
now return AutoFlushInterval(None) so the override is removed
from TableOptions.extra_options, matching the Ttl pattern.
2. Add a unit test in region_request.rs covering the four cases
(valid, empty-clears, zero-rejected, garbage-rejected).
3. Generate and check in alter_auto_flush_interval.result via
'cargo sqlness-runner bare -t alter_auto_flush_interval'. Both
the standalone and distributed sqlness jobs now pass locally,
and the test extension covers the NULL-clears path end to end.
Signed-off-by: srivtx <crypticcc101@gmail.com >
---------
Signed-off-by: srivtx <crypticcc101@gmail.com >
2026-07-07 07:34:05 +00:00
fys
63cc232339
chore: add sqlness regression for timestamp precision comparison ( #8424 )
...
* test: add sqlness regression for timestamp precision comparison
* add result
2026-07-07 06:45:55 +00:00
discord9
c8c7e77cc3
test: add ssts limit compat case ( #8427 )
...
Signed-off-by: discord9 <discord9@163.com >
2026-07-07 03:41:22 +00:00
discord9
1d819a3982
test: add comment metadata compat case ( #8402 )
...
Signed-off-by: discord9 <discord9@163.com >
2026-07-07 02:27:55 +00:00
jeremyhi
5bcc2e9d6b
fix: global limit for distributed inspect streams ( #8412 )
...
* fix: global limit for distributed inspect streams
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: honor tighter filter fetch under global limit
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: restore distribution after global limit
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: preserve inherited distribution for global limit
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
* fix: propagate inherited hash partitioning
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
---------
Signed-off-by: jeremyhi <fengjiachun@gmail.com >
2026-07-06 07:02:54 +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
discord9
c44f8da646
feat: add query regression perf harness ( #8406 )
...
* feat: add query regression perf harness
Signed-off-by: discord9 <discord9@163.com >
* feat: extend query regression cases
Signed-off-by: discord9 <discord9@163.com >
* ci: harden query regression workflows
Signed-off-by: discord9 <discord9@163.com >
* fix: address query regression review comments
Signed-off-by: discord9 <discord9@163.com >
* ci: limit query regression PR triggers
Signed-off-by: discord9 <discord9@163.com >
* ci: run full query regression case set
Signed-off-by: discord9 <discord9@163.com >
* refactor: model query regression scenarios
Signed-off-by: discord9 <discord9@163.com >
* fix: avoid unenforced query regression thresholds
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-03 09:09:01 +00:00
discord9
424e400c80
test: add flow scheduled now compat case ( #8400 )
...
Signed-off-by: discord9 <discord9@163.com >
2026-07-03 06:31:40 +00:00
Weny Xu
2dc6addb66
feat: report region query stats in heartbeat ( #8401 )
...
* feat: report region read load in heartbeat
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: expose region query stats in information schema
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: update sqlness result
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: record region query stats on stream drop
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: keep region query cpu stats in nanoseconds
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-07-03 06:11:57 +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
6b587eb0a5
test: add recent sqlness compat cases ( #8395 )
...
* test: add recent sqlness compat cases
Signed-off-by: discord9 <discord9@163.com >
* test: add more sqlness compat cases
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-02 03:13:53 +00:00
discord9
5f6b88b782
fix(flow): bind scheduled now in dist plan ( #8389 )
...
Signed-off-by: discord9 <discord9@163.com >
2026-07-01 10:56:30 +00:00
discord9
88d20d8c93
test: choose compat runner cli args by version ( #8376 )
...
* test: use legacy rpc args in compat runner
Signed-off-by: discord9 <discord9@163.com >
* test: detect compat runner grpc cli args
Signed-off-by: discord9 <discord9@163.com >
* ci: run compat on ready pr open
Signed-off-by: discord9 <discord9@163.com >
* test: choose compat cli args by version
Signed-off-by: discord9 <discord9@163.com >
* test: address compat arg test review
Signed-off-by: discord9 <discord9@163.com >
* test: fix compat runner comment typo
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-07-01 07:29:32 +00:00
fys
1fea548c17
feat(json2): reject non-object JSON values on write ( #8381 )
...
* feat: disable non object json write
* remove unused code
* fix: sqlness test
* simply code
* add comment
* remove unused unit test
* fix: cargo fmt
* fix: unit test
* fix: unit test
2026-07-01 03:12:09 +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
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
16b60fe847
ci: add sqlness compat smoke ( #8370 )
...
* ci: add sqlness compat smoke
Signed-off-by: discord9 <discord9@163.com >
* ci: limit compat smoke pull request trigger
Signed-off-by: discord9 <discord9@163.com >
* ci: run compat smoke in merge queue
Signed-off-by: discord9 <discord9@163.com >
* ci: configure compat version window
Signed-off-by: discord9 <discord9@163.com >
* ci: move compat smoke logic into script
Signed-off-by: discord9 <discord9@163.com >
* ci: expand compat version window
Signed-off-by: discord9 <discord9@163.com >
* ci: rename compat job for recent releases
Signed-off-by: discord9 <discord9@163.com >
* ci: report compat test failures
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-29 08:18:28 +00:00
shuiyisong
59d40c39b1
feat: prw_v2 initial commit with sample ingestion ( #8361 )
...
* chore: add v2 entrance
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: decode request
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: implement remote write v2 for samples
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: add tests
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: remove hand-written proto
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: refactor
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 >
* fix: merge tests
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: add source version field
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: fix CR issues
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: test
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* fix: sqlness
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: update proto
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
* chore: update proto
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
---------
Signed-off-by: shuiyisong <xixing.sys@gmail.com >
2026-06-29 03:15:41 +00:00
discord9
16a2b18c2b
test: add sqlness compatibility runner ( #8334 )
...
* test: add sqlness compatibility runner
Signed-off-by: discord9 <discord9@163.com >
* fix: update remote dyn filter request
Signed-off-by: discord9 <discord9@163.com >
* fix: satisfy compat runner clippy
Signed-off-by: discord9 <discord9@163.com >
* test: add legacy jsonb compatibility case
Signed-off-by: discord9 <discord9@163.com >
* test: align legacy jsonb compat assertion
Signed-off-by: discord9 <discord9@163.com >
* fix: align remote dyn filter proto fields
Signed-off-by: discord9 <discord9@163.com >
* test: simplify compat topology and SQL handling
Signed-off-by: discord9 <discord9@163.com >
* fix: switch compat runner to target binary
Signed-off-by: discord9 <discord9@163.com >
* test: drop compat SQLNESS comment handling
Signed-off-by: discord9 <discord9@163.com >
* test: support sqlness commands in compat
Signed-off-by: discord9 <discord9@163.com >
* test: fix compat protocol reconnect
Signed-off-by: discord9 <discord9@163.com >
* test: filter compat cases by version
Signed-off-by: discord9 <discord9@163.com >
* test: add merge mode compat case
Signed-off-by: discord9 <discord9@163.com >
* test: harden compat runner setup
Signed-off-by: discord9 <discord9@163.com >
* test: address compat review follow-ups
Signed-off-by: discord9 <discord9@163.com >
* test: tighten compat case validation
Signed-off-by: discord9 <discord9@163.com >
* test: require explicit compat expectations
Signed-off-by: discord9 <discord9@163.com >
* test: generate missing compat snapshots
Signed-off-by: discord9 <discord9@163.com >
* test: add compat dry run
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-26 04:15: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
Weny Xu
b01ee594f3
feat: add repartition column hint ( #8291 )
...
* feat: add repartition column hint option
Signed-off-by: WenyXu <wenymedia@gmail.com >
* feat: support altering repartition column hint
Signed-off-by: WenyXu <wenymedia@gmail.com >
* chore: update sqlness result
Signed-off-by: WenyXu <wenymedia@gmail.com >
* fix: reject time index repartition hint
Signed-off-by: WenyXu <wenymedia@gmail.com >
* refactor: treat rename table as metadata-only alter
Signed-off-by: WenyXu <wenymedia@gmail.com >
---------
Signed-off-by: WenyXu <wenymedia@gmail.com >
2026-06-16 09:04:52 +00:00
discord9
f6f56e6bc5
fix!: fence scoped flow repair snapshots ( #8277 )
...
* fix: fence scoped flow repair snapshots
Signed-off-by: discord9 <discord9@163.com >
* test: trim duplicate flow task tests
Signed-off-by: discord9 <discord9@163.com >
* test: moreless
Signed-off-by: discord9 <discord9@163.com >
* refactor: simplify flow query failure fallback
Signed-off-by: discord9 <discord9@163.com >
* test: update need eval interval
Signed-off-by: discord9 <discord9@163.com >
* docs: for helper fn
Signed-off-by: discord9 <discord9@163.com >
* chore: less test
Signed-off-by: discord9 <discord9@163.com >
* refactor: per review
Signed-off-by: discord9 <discord9@163.com >
* test: update for eval interval
Signed-off-by: discord9 <discord9@163.com >
* fix: consume dirty windows after successful query
Signed-off-by: discord9 <discord9@163.com >
* test: rm useless tests
Signed-off-by: discord9 <discord9@163.com >
* test: standalone seq&rm dead if
Signed-off-by: discord9 <discord9@163.com >
* chore: move to pending window instead
Signed-off-by: discord9 <discord9@163.com >
* chore: mark full also call abandon_fenced_repair
Signed-off-by: discord9 <discord9@163.com >
* chore: instant for pending fenced repair
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-12 13:27:12 +00:00
discord9
7ec89dcf80
test: redact dynamic filter in order_by sqlness ( #8286 )
...
Signed-off-by: discord9 <discord9@163.com >
2026-06-12 11:14:27 +00:00
discord9
2febea6ec3
test: add rebuild index coverage ( #8175 )
...
* test: basic rebuild index test
Signed-off-by: discord9 <discord9@163.com >
* test: address rebuild index review comments
Signed-off-by: discord9 <discord9@163.com >
* test: update build index restart expected output
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-11 14:03:24 +00:00
dennis zhuang
ca21c9f048
fix!: correct information_schema index metadata ( #8275 )
...
fix: correct information_schema index metadata
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2026-06-11 01:36:23 +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
dennis zhuang
e403133eb2
feat: add information_schema statistics table ( #8253 )
...
* feat: add information_schema statistics table
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: use index-local sequence in statistics
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: ordinal_position for pk
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* fix: statistics.nullable uses empty string for non-nullable columns
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2026-06-08 12:52:02 +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
dennis zhuang
d6c37778ae
feat: table semantic layer information_schema view (Phase 3) ( #8240 )
...
* feat: table semantic layer information_schema view (Phase 3)
Add `information_schema.table_semantics`, a queryable view over the table
semantic layer. One row per table that carries at least one
`greptime.semantic.*` option: the signal-agnostic keys
(signal_type/source/pipeline/metadata_quality) are promoted to columns and
the remaining signal-specific keys are folded into a `semantic_options`
JSON string. Tables with no semantic key are excluded.
Stacked on Phase 2.
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: address PR review on table_semantics
- fold JSON serialization failure into None instead of unwrap/panic
- drop per-row Vec allocation in predicate eval; use a fixed array
- align RFC view name with the shipped `table_semantics`
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
* chore: update results
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
---------
Signed-off-by: Dennis Zhuang <killme2008@gmail.com >
2026-06-05 08:16:41 +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
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
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
discord9
d304df6e75
fix: run eval-interval flow without time window ( #8231 )
...
* fix: run eval-interval flow without time window
Signed-off-by: discord9 <discord9@163.com >
* test: cover eval-interval flow join query
Signed-off-by: discord9 <discord9@163.com >
* fix: address eval interval flow review comments
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-03 13:06:22 +00:00
QuakeWang
ca07a53deb
feat: support CSV copy skip bad records ( #8198 )
...
* feat: support CSV copy headers and skip bad records
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
* refactor: reuse CSV skippable error helper
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
* fix: address CSV skip bad records review
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
* docs: clarify CSV skip bad records performance tradeoff
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
---------
Signed-off-by: QuakeWang <wangfuzheng0814@foxmail.com >
2026-06-03 12:11:02 +00:00
discord9
7f76ad5439
feat: validate batching flow sink schema on create ( #8176 )
...
* feat: check schema on create
Signed-off-by: discord9 <discord9@163.com >
* chore: update sqlness
Signed-off-by: discord9 <discord9@163.com >
* fix(flow): avoid duplicate fields when matching sink schema
Signed-off-by: discord9 <discord9@163.com >
* fix: null handling
Signed-off-by: discord9 <discord9@163.com >
* chore: per review
Signed-off-by: discord9 <discord9@163.com >
* chore: debug log
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-02 08:24:50 +00:00
discord9
28fd796f4e
fix(flow): harden incremental read correctness ( #8196 )
...
* fix(flow): harden incremental read correctness
Signed-off-by: discord9 <discord9@163.com >
* fix(flow): propagate dirty window options
Signed-off-by: discord9 <discord9@163.com >
* test: more
Signed-off-by: discord9 <discord9@163.com >
* chore: test config api
Signed-off-by: discord9 <discord9@163.com >
* refactor: split gen
Signed-off-by: discord9 <discord9@163.com >
* chore: per review
Signed-off-by: discord9 <discord9@163.com >
* fix: allowlist key
Signed-off-by: discord9 <discord9@163.com >
---------
Signed-off-by: discord9 <discord9@163.com >
2026-06-01 02:48:00 +00:00