Skip to main content
Download Databend
Latest Version: v1.2.344

What's Changed

Exciting New Features ✨

  • feat: Enable async backtrace for opendal by @Xuanwo in #14384
  • feat: Allow users to configure tcp keepalive for opendal by @Xuanwo in #14385
  • feat: Remove the need of setting allow_anonymous by @Xuanwo in #14398
  • feat: support outer to inner join by @xudong963 in #14401
  • feat: more constrain for file format string options. by @youngsofun in #14374
  • feat: support functions nvl and nvl2 by @PsiACE in #14421
  • feat: add json delete by name and index by @akoshchiy in #14397
  • feat: Add COS location support by @Xuanwo in #14435
  • feat(query): support session setting scope LOCAL by @everpcpc in #14441
  • feat: allow to config task session parameters. by @ZhiHanZ in #14446
  • feat(query): copy into allow disable_variant_check for parquet file by @b41sh in #14444
  • feat: add create or replace database support by @lichuang in #14449
  • feat: add basic support for show user functions by @PsiACE in #14440
  • feat: meta-service: customize chunk size when export by @drmingdrmer in #14467
  • feat: pushdown limit to single window by @ariesdevil in #14460
  • feat: Improve merge into performance, Update Column Only Optimization by @JackTan25 in #14429
  • feat(planner): support predicates move around by @Dousir9 in #14338
  • feat(rbac): ensure the builtin roles on auth by @flaneur2020 in #14451
  • feat: treat path in uri as prefix. by @youngsofun in #14420
  • feat: add structlog by @andylokandy in #14495
  • feat: add create or replace table support by @lichuang in #14508
  • feat: use parquet-rs as an alternative in fuse engine by @SkyFan2002 in #14268
  • feat: allow to config cloud control plane grpc timeout by @ZhiHanZ in #14522
  • feat: support window function in subquery by @xudong963 in #14518
  • chore(query): add system.tables query speed test by @TCeason in #14517
  • feat(query): agg-hashtable-singleton by @Freejww in #14524
  • feat: system table add query_log.log_type_name and cluster.cluster_id by @BohuTANG in #14545
  • feat: add column create_on for user functions table by @PsiACE in #14540
  • feat: support single join to inner join by @xudong963 in #14442
  • feat: add create or replace stage support by @lichuang in #14548
  • feat(geo): add geometry data type by @ariesdevil in #14470
  • feat(query): support early filtering for more join types by @Dousir9 in #14525
  • feat: add runtime filter stats info to profile by @xudong963 in #14569
  • feat: add create or replace connection support by @lichuang in #14580
  • feat: add create or replace user support by @lichuang in #14583
  • feat: add #- json operator by @akoshchiy in #14584
  • feat: add support for create or replace function by @PsiACE in #14581
  • feat: add create or replace stream support by @lichuang in #14596
  • feat: add create or replace view support by @lichuang in #14599
  • feat: Add KVPbApi: protobuf support for meta-service by @drmingdrmer in #14605
  • feat: use materialized cte for standard stream by @zhyass in #14561
  • feat: add create or replace file format support by @lichuang in #14611
  • feat: add create or replace agg index support by @lichuang in #14636
  • feat: add create or replace virtual column support by @lichuang in #14649
  • feat: add create or replace password policy support by @lichuang in #14654
  • feat: add create or replace masking policy support by @lichuang in #14656
  • feat: add create or replace network policy support by @lichuang in #14658
  • feat: add create or replace share endpoint support by @lichuang in #14660
  • refactor: enables the bloom runtime filter to be turned on adaptively by @xudong963 in #14686

Thoughtful Bug Fix 🔧

  • fix(sqlsmith): fix generate nested not null types caused panic by @b41sh in #14392
  • fix: optimize vacuum drop table call schema gc_drop_tables API in batch mode by @lichuang in #14395
  • fix: min/max of default col values in snapshot should adhere to rules by @dantengsky in #14368
  • fix: fix row number concat by @JackTan25 in #14416
  • fix(query): onwership/role info serialize to pb by @TCeason in #14393
  • fix: incorrect column id in inner_project schema by @SkyFan2002 in #14419
  • fix(query): fix pow and add strcmp domain by @Freejww in #14418
  • fix: stream cannot be accessed correctly by @zhyass in #14433
  • fix(query): global contain stage and udf priv by @TCeason in #14344
  • fix(query): add utf8 validation in deser string by @sundy-li in #14443
  • fix: flaky test by @zhyass in #14454
  • fix(query): config value for session settings by @everpcpc in #14475
  • fix: throw err when cast Decimal overflow by @guojidan in #14489
  • fix(query): replace mock_s3 with mock_aws by @zhang2014 in #14498
  • fix: should use is_nested while populating in-memory cache by @dantengsky in #14503
  • fix: wrong result with special stream alias by @zhyass in #14494
  • fix: fix update/delete using subquery only support boolean data type by @lichuang in #14413
  • fix(query): privilege type forward compat by @TCeason in #14501
  • fix(query): add range for memory ratio settings by @everpcpc in #14513
  • fix: refactor merge into insert spectify default values by @JackTan25 in #14477
  • fix(query): fix variant function with invalid jsonb panic by @b41sh in #14520
  • fix: Smaller random data by @JackTan25 in #14521
  • fix: Remove test by @JackTan25 in #14526
  • fix: table maybe locked when recluster by @zhyass in #14510
  • fix: fix ranking function out of bounds when calculate partition end by @ariesdevil in #14535
  • fix(query): do not check exists for unsetting by @everpcpc in #14536
  • fix(query): add warning for unset unknown setting by @everpcpc in #14537
  • fix(executor): fix some display name for profile plans by @zhang2014 in #14523
  • fix(ddl): fix create table bitmap and variant with default value by @b41sh in #14472
  • fix(executor): fix broken profile graph for cluster mode by @zhang2014 in #14554
  • fix: runtime filters add to wrong table by @xudong963 in #14552
  • fix(query): revoke need consider GrantObject::Database/Table by @TCeason in #14567
  • fix(query): fix double panic if enable_experimental_aggregate_hashtable by @zhang2014 in #14576
  • fix: fix comment for observe_append_send_spent by @domyway in #14586
  • fix: insert binary by @andylokandy in #14556
  • fix(query): fix parse unsigned integer with number by @b41sh in #14590
  • fix: incorrect schema may be used while executing replace-into by @sundy-li in #14592
  • fix(ast): unexpected cut in not null by @andylokandy in #14604
  • fix(query): try fix oom with large sort limit by @zhang2014 in #14629
  • fix: otlp logger runtime for graceful shutdown by @everpcpc in #14539
  • fix(executor): fix broken profile graph for cluster mode by @zhang2014 in #14666
  • fix: Use stat instead of list for checking storage by @Xuanwo in #14680
  • fix: fix get by keypath with null value by @b41sh in #14684
  • fix(query): account_admin should support grant ownership to new role after drop an created role by @TCeason in #14597
  • fix(query): fix unnest variant array panic by @b41sh in #14688
  • fix(query): Pass ci Test when enable enable_experimental_aggregate_hashtable . by @sundy-li in #14544

Code Refactor 🎉

  • refactor: StringType::Scalar: Vec<u8> -> String by @andylokandy in #14349
  • refactor: Add trait FromToProtoEnum by @drmingdrmer in #14423
  • refactor: add kv-api::Key::ValueType by @drmingdrmer in #14425
  • refactor: drop unused blocks when using ranking window function by @ariesdevil in #14428
  • refactor(executor): refactor processor profiling by @zhang2014 in #14377
  • refactor(executor): remove old profile framework by @zhang2014 in #14468
  • refactor: replace OneTable with DummyTableScan by @xudong963 in #14461
  • refactor: remove udf from system functions table by @PsiACE in #14471
  • refactor: Using reqwest-hickory-resolver as global dns client by @Xuanwo in #14476
  • refactor: meta-service: purge log in another task by @drmingdrmer in #14519
  • refactor: meta-service purge log in small chunks to avoid blocking by @drmingdrmer in #14527
  • refactor(query): account_admin role generate in query by @TCeason in #14514
  • refactor(query): disallowed tokio::spawn method by @zhang2014 in #14563
  • refactor: refine UdfMgr by @drmingdrmer in #14589
  • refactor: get_udf() does not need to specify Seq by @drmingdrmer in #14613
  • refactor: Add KVPbApi::list_pb(), simplify UdfMgr::get_udfs() by @drmingdrmer in #14623
  • refactor: Simplify UdfMgr::add_udf() by @drmingdrmer in #14631
  • refactor: UdfApi::drop_udf() return the dropped record instead of returning ErrorCode by @drmingdrmer in #14640
  • refactor(query): support additional param to set the error rate in approx_count_distinct function by @sundy-li in #14609
  • refactor: Remove UdfApi, use UdfMgr directly by @drmingdrmer in #14642
  • refactor(query): disallowed tokio spawn and block_on by @zhang2014 in #14639
  • refactor(executor): add graph information to prepare adding points by @dqhl76 in #14681

Build/Testing/CI Infra Changes 🔌

  • ci: fix previous tag for nightly release by @everpcpc in #14478

Others 📒

  • chore: upgrade crate shlex to version 1.3.0 by @dantengsky in #14404
  • chore: move meta-data type Id from crate meta-api to meta-app by @drmingdrmer in #14408
  • chore: Add debug log for read parts numbers by @Xuanwo in #14396
  • chore(planner): fix push down filter scan by @Dousir9 in #14415
  • chore: modify the max block count in compact by @zhyass in #14424
  • chore: enable new setting data_retention_time_in_days by @dantengsky in #14402
  • chore: fix cache variable name by @xx01cyx in #14430
  • chore: remove binary collatoin by @andylokandy in #14409
  • chore: bump rust toolchain for dev container by @leiysky in #14436
  • chore: bump rust version of build container by @leiysky in #14437
  • chore: fix build tool installation by @leiysky in #14438
  • chore: bump rust toolchain to nightly-2024-01-23 by @leiysky in #14434
  • chore: Forbidden non equal merge into distributed by @JackTan25 in #14426
  • chore(query): reduce get ownership by @TCeason in #14427
  • chore: simplify IndexScalar by @andylokandy in #14432
  • chore: make cost factor configurable by @leiysky in #14445
  • chore: set peer_start to current row when do ranking functions by @ariesdevil in #14450
  • chore: only wrap logical get with distinct to eliminate duplicates rows for subquery in single mode by @xudong963 in #14452
  • chore: support mark join commutation and fix left mark join by @xudong963 in #14455
  • chore(query): add buffer size in spill write by @sundy-li in #14466
  • chore: avoid wildcard match on data type by @andylokandy in #14457
  • chore: fix cyclic deps by @SkyFan2002 in #14483
  • chore(query): fix hash join spill block size by @Dousir9 in #14484
  • chore(query): bump backtrace-rs version by @zhang2014 in #14485
  • chore: correct ci-benchmark TPC-H Q5 by @Dousir9 in #14491
  • chore: update Domain::Map by @andylokandy in #14314
  • chore(query): update opendal version and add retry io timeout by @zhang2014 in #14496
  • chore(executor): add unit for profile statistics by @zhang2014 in #14499
  • chore: clean license message by @ZhiHanZ in #14509
  • chore: support row fetcher with window function by @ariesdevil in #14492
  • chore(query): mark obsoleted session settings in config by @everpcpc in #14512
  • chore: remove unused codes by @zhyass in #14511
  • chore: sleep 5ms before next batch purge by @drmingdrmer in #14530
  • chore(query): make column as an optional keyword in add/modify/drop by @sundy-li in #14533
  • chore: fix openraft version: use v0.9.0-alpha.5 instead of v0.9.0-alpha.4 by @drmingdrmer in #14538
  • chore(query): need refactor system table test into benchmark by @TCeason in #14546
  • chore: refactor pattern plan with Matcher by @leiysky in #14549
  • chore: remove get_table_index method by @xudong963 in #14557
  • chore: make runtime filter for broadcast rework by @xudong963 in #14559
  • chore(ci): add system tables/columns benchmark cloud by @TCeason in #14555
  • chore: format reuse.benchmark_query_meta.yml by @dantengsky in #14575
  • chore: improve parallel run for merge into by @JackTan25 in #14574
  • chore(executor): using human format for explain analyze profile by @zhang2014 in #14578
  • chore(ci): fix benchmark labels for local by @everpcpc in #14603
  • chore: add error message on refresh table info by @flaneur2020 in #14606
  • chore: refine hash join code by @Dousir9 in #14571
  • chore(ci): fix benchmark scripts by @everpcpc in #14608
  • chore: make materialized cte scan_progress accurate by @xudong963 in #14602
  • chore: Bump OpenDAL to pinned tag version by @Xuanwo in #14601
  • chore(ci): benchmark system table query speed with a large test data by @TCeason in #14612
  • chore(ci): load benchmark data from hits_100m_obfuscated_v1 by @everpcpc in #14619
  • chore(ci): remove dummy dataset for benchmark by @everpcpc in #14620
  • chore(ci): fix hits benchmark schema by @everpcpc in #14621
  • chore(ci): tmp disable local hits benchmark by @everpcpc in #14625
  • chore(ci): fix internal test reduce bendsql warn by @TCeason in #14627
  • chore(ci): fix download benchmark results by @everpcpc in #14628
  • chore(ci): fix get dataset from benchmark result file by @everpcpc in #14630
  • chore: add table index to explain join by @xudong963 in #14632
  • chore(ci): fix download benchmark result by @everpcpc in #14633
  • chore(ci): fix new line in benchmark comment by @everpcpc in #14638
  • chore(query): improve hash join code by @Dousir9 in #14614
  • chore: reduce small block writes (improve merge into write performance) by @JackTan25 in #14637
  • chore: move KVPbApi impl to seperate files by @drmingdrmer in #14634
  • chore(ci): fix comment benchmark result by @everpcpc in #14643
  • chore: refine plan id generation by @leiysky in #14644
  • chore(ci): fix runner provider for release benchmark by @everpcpc in #14646
  • chore(meta): remove tenant for table info by @zhang2014 in #14647
  • chore(ci): fix artifacts for benchmark archive by @everpcpc in #14652
  • chore: remove spawn_blocking for merge into and replace into by @JackTan25 in #14664
  • chore(query): update async trait version by @zhang2014 in #14667
  • chore: add dev deps for proj crate by @ariesdevil in #14670
  • chore: add dev dep sqlite binary for proj crate by @ariesdevil in #14673
  • chore(executor): remove useless warn log by @zhang2014 in #14672
  • chore: install liblzma-dev for build-tool by @everpcpc in #14678
  • chore: upgrade arrow-format by @ariesdevil in #14675
  • chore: optimize q17 join order by @xudong963 in #14624
  • chore(query): max_decoding_message_size by @sundy-li in #14687

New Contributors

  • @xx01cyx made their first contribution in #14430
  • @domyway made their first contribution in #14586

Full Changelog: https://github.com/datafuselabs/databend/releases/tag/v1.2.344

Download BendSQL
Latest Version: v0.13.2

What's Changed

  • fix(driver): don't call wake_by_ref in Poll::Pending by @sundy-li in #350
  • chore: bump version to 0.13.2 by @everpcpc in #351

Full Changelog: https://github.com/datafuselabs/bendsql/releases/tag/v0.13.2