v1.2.452
What's Changed
Exciting New Features โจ
- feat(query): implement ST_GEOMPOINTFROMGEOHASH by @kkk25641463 in #15182
- feat(rbac): drop role will transfer role owns object to account_admin by @TCeason in #15154
- feat(query): implement ST_MAKEPOLYGON by @kkk25641463 in #15194
- feat: distinguish early close from kill/cancel with new LogType::Closed. by @youngsofun in #15206
- feat: add EXECUTE IMMEDIATE statement by @andylokandy in #15144
- feat(http): get client ip from headers by @flaneur2020 in #15205
- feat(query): support alter table comment by @TCeason in #15227
- feat(query): match function support multiple fields with boost by @b41sh in #15196
- feat: support insert with cte by @xudong963 in #15241
- feat: add setting
script_max_steps
by @andylokandy in #15244 - feat: atomic CTAS by @dantengsky in #15186
- feat(query): integrate "like" to filter execution by @Dousir9 in #15233
- feat(query): add user option: disabled by @TCeason in #15249
- feat(query): Inverted index support set filters and index record options by @b41sh in #15254
- feat: add sequence meta api by @lichuang in #15247
- feat(query): add new setting parse_datetime_ignore_remainder. by @TCeason in #15260
- feat: http handler response add field
has_result_set
and stateStarting
. by @youngsofun in #15258 - feat: support cte in update selection by @xudong963 in #15276
- feat: impl create dynamic table sql parser and planner by @zhyass in #15250
- feat: support cte in delete by @xudong963 in #15284
- feat(query): implement ST_ASGEOJSON by @kkk25641463 in #15214
- feat(query): support
map_keys
andmap_values
function by @b41sh in #15291 - feat(query): implement TO_GEOMETRY/TRY_TO_GEOMETRY function by @kkk25641463 in #15302
- feat(query): 14925, support udf wasm by @shamb0 in #15107
- feat(query): top k syntax support by @TCeason in #15318
- feat(query): implement st_asewkb/st_aswkb/st_asewkt/st_aswkt/st_geohash by @kkk25641463 in #15325
- feat(query): support with clause in copy into by @sundy-li in #15343
- feat(query): inverted index support json type by @b41sh in #15267
- feat(query): support compute quota feature by @zhang2014 in #15336
- feat: Introduce enterprise storage quota feature by @Xuanwo in #15338
- feat(query): inverted index use empty position data when query not contain phrase terms by @b41sh in #15362
- feat(query): implement ST_DIMENSION function by @kkk25641463 in #15347
- feat(query): implement ST_ENDPOINT by @kkk25641463 in #15366
- feat(query): implement ST_POINTN by @kkk25641463 in #15373
- feat(query): support explain insert with insert source by @TCeason in #15357
- feat(query): implement ST_SRID by @kkk25641463 in #15377
- feat(query): implement ST_X/ST_Y/ST_STARTPOINT by @kkk25641463 in #15384
- feat: Add: stream based snapshot API install_snapshot_v2() to meta-service by @drmingdrmer in #15395
Thoughtful Bug Fix ๐ง
- fix(query): set setting case insensitive by @TCeason in #15199
- fix(query): show grants panic when role/user has immute db/table privilege by @TCeason in #15188
- fix: geos-sys compile error #15200 by @drmingdrmer in #15209
- fix(query): alter modify col comment need modify when type not modify by @TCeason in #15217
- fix(query): fix negative session_running_acquired_queries by @zhang2014 in #15223
- fix: fix map get return double nested nullable by @ariesdevil in #15230
- fix: show locks in current tenant by @zhyass in #15252
- fix: solve some inconsistencies between code and comments by @YichiZhang0613 in #15229
- fix: fix delete from subquery and one more condition bug by @lichuang in #15279
- fix(query): fix udf name with upper case letters by @b41sh in #15300
- fix: don't constant fold giant expr by @andylokandy in #15311
- fix(query): fix decimal op loss precision by @sundy-li in #15313
- fix(query): NDJSON copy into allow cast bool and number to string by @b41sh in #15308
- fix: incorrect overlap checking (replace into) by @dantengsky in #15315
- fix(typo): refering -> referring by @andylokandy in #15323
- fix: insert Plan should not have schema. by @youngsofun in #15330
- fix(executor): queries exeuctor points calc incorrectly by @dqhl76 in #15349
- fix(query): show processlit host is null in HTTPQuery by @TCeason in #15363
- fix: check all partitions for small files instead of the last only. by @youngsofun in #15360
- fix: structlog should print non-zero-rooted tree by @andylokandy in #15370
- fix: when listing-kv, limit the right bound if possible by @drmingdrmer in #15372
- fix: list stage returns at most 15000 files. by @youngsofun in #15385
- fix(query): spill block need consider scalar by @TCeason in #15387
- fix: Respond with
SnapshotMismatch
error instead of internal error by @drmingdrmer in #15391 - fix: solve some inconsistencies between code and comments by @YichiZhang0613 in #15394
Code Refactor ๐
- refactor(query): remove useless code (system.tracing) by @zhang2014 in #15185
- refactor: explain merge into by @xudong963 in #15195
- refactor: simplify
DatabaseFactory
, just static dispatch by @drmingdrmer in #15203 - refactor(query): move api and metrics to servers mod by @zhang2014 in #15210
- refactor: add view system tables by @TCeason in #15184
- refactor: introduce
UninitTenant
andTIdentRaw
by @drmingdrmer in #15207 - refactor: define DatabaseNameIdent with TIdent by @drmingdrmer in #15235
- refactor: ScalarVisitor refactor push_down_prewhere by @TCeason in #15215
- refactor: replace String with Tenant in xxxPlan by @drmingdrmer in #15240
- refactor: avoid using PREFIX directly. use method to build list-prefix by @drmingdrmer in #15243
- refactor: remove unused
list_all_tables()
by @drmingdrmer in #15251 - refactor: remove kvapi::Key impl for String by @drmingdrmer in #15253
- refactor: grant_ownership retry logic by @TCeason in #15275
- refactor: Extract
kvapi::KeyCodec
trait fromkvapi::Key
by @drmingdrmer in #15262 - refactor: Introduce generic parameter
N
toTIdent
by @drmingdrmer in #15271 - refactor: define
ShareConsumer
withTIdent
by @drmingdrmer in #15280 - refactor: define VirtualColumnNameIdent with TIdent by @drmingdrmer in #15285
- refactor: define DbIdListKey with TIdent, and rename it to DatabaseIdHistoryIdent by @drmingdrmer in #15287
- refactor: define TenantQuotaIdent with TIdent by @drmingdrmer in #15289
- refactor: Define TableLockKey with TIdent by @drmingdrmer in #15319
- refactor: TIdent add a flag to indicate if the tenant should be encoded into key by @drmingdrmer in #15321
- refactor: define BackgroundJobIdIdent with TIdent, with HAS_TENANT disabled by @drmingdrmer in #15327
- refactor: http handler check has_result_set() before get schema of plan. by @youngsofun in #15329
- refactor: Define DataMaskIdIdent with TIdent by @drmingdrmer in #15331
- refactor: add right bound when listing expired keys to avoid unnecessary data copy by @drmingdrmer in #15334
- refactor: Upgrade Openraft to 0.9.7 by @drmingdrmer in #15339
- refactor: improve install-snapshot performance by @drmingdrmer in #15345
- refactor: move snapshot building io to other task. by @drmingdrmer in #15351
- refactor: only has password policy update user login res by @TCeason in #15356
- refactor: Define TenantOwnershiptObject with TIdent by @drmingdrmer in #15358
- refactor: define TenantUserIdent with TIdent by @drmingdrmer in #15361
- refactor: session_ctx.client_ip refactor to Option by @TCeason in #15368
- refactor: move DirName to separate file; add peek() to KeyParser by @drmingdrmer in #15365
- refactor: Define StageFileIdent with TIdent by @drmingdrmer in #15371
- refactor: remove stage use stream to avoid OOM. by @youngsofun in #15378
- refactor: sync create inverted index by @b41sh in #15379
- refactor: dispatch load to 16 threads when installing snapshot by @drmingdrmer in #15381
- refactor: get_table_by_id() returns an
Option<Seqv<TableMeta>>
by @drmingdrmer in #15388 - refactor: remove get_table_name_by_id() by @drmingdrmer in #15389
Others ๐
- chore(executor): add time limit daemon for queries executor by @dqhl76 in #15174
- chore(query): max_running_queries from 0 to 8, enable the max running queries by @zhang2014 in #15190
- chore(query): add session_running_acquired_queries metric by @zhang2014 in #15193
- chore(executor): add end_of_stream flag for executor stream by @zhang2014 in #15202
- chore(planner): refine explain read size by @Dousir9 in #15204
- chore: change parquet_fast_read_bytes setting from 0 to 16MB by @BohuTANG in #15212
- chore(planner): fix decorrelate exists subquery by @Dousir9 in #15208
- chore: old op LogicalGet modify to new op name Scan by @TracyZYJ in #15222
- chore(query): parser error need to log error by @sundy-li in #15219
- chore: vacuum drop table for external location table by @BohuTANG in #15220
- chore(query): fix nullable array domain by @sundy-li in #15224
- chore(query): add query queued duration for query log by @zhang2014 in #15225
- chore(query): remove useless function map:get by @sundy-li in #15245
- chore: update sqllogictests crate to 0.19.1 by @finchxx in #15242
- chore(query): support like push down not by @Dousir9 in #15268
- chore(executor): add node level error tracking by @dqhl76 in #15239
- chore(query): refine set sql_dialect error message by @Dousir9 in #15282
- chore(query): bump arrow-udf to extra lib by @sundy-li in #15283
- chore(planner): improve delete explain by @Dousir9 in #15290
- chore: Enhance Flexibility of Dynamic Table Creation by Allowing Options in Any Order by @zhyass in #15297
- chore: add license to cargo.toml by @BohuTANG in #15299
- chore(planner): fix can_filter_null by @Dousir9 in #15298
- chore: improve distributed plan by @xudong963 in #15296
- chore(query): simplify stage list by @sundy-li in #15303
- chore: enable distributed optimization for subquery in delete by @xudong963 in #15288
- chore: correct stream error message by @zhyass in #15309
- chore: tune auto-compact parameters triggered by insertions by @dantengsky in #15261
- chore(query): improve delete pruner by @sundy-li in #15316
- chore(planner): fix merge into statistics by @Dousir9 in #15320
- chore(planner): add disable merge into join reorder settings by @Dousir9 in #15322
- chore: fix
RulePushDownLimitWindow
id by @xudong963 in #15326 - chore(query): add merge ratio in sort spill by @sundy-li in #15332
- chore: refine runtime filter log by @xudong963 in #15335
- chore: add err message to help capture new agg ht hang by @Freejww in #15344
- chore: enhance runtime filter log by @xudong963 in #15350
- chore(planner): support fast return for hash join spill by @Dousir9 in #15364
- chore(ci): fix flaky test; by @TCeason in #15369
- chore: add more thest to prefix_right_bound() by @drmingdrmer in #15374
- chore: purge inverted index by @dantengsky in #15354
- chore(query): reuse the script runtime during pipeline builder by @sundy-li in #15375
- chore: adjust row count assertion in table compaction by @dantengsky in #15380
- chore: if a txn log is too long, display only the first 5 items by @drmingdrmer in #15392
- chore: Fix opendal upstream commit missing by @Xuanwo in #15393
New Contributors
- @finchxx made their first contribution in #15242
- @YichiZhang0613 made their first contribution in #15229
- @shamb0 made their first contribution in #15107
Full Changelog: v1.2.410...v1.2.452