Skip to main content

Databend Releases

This page provides information about recent features, enhancements, and bug fixes for Databend.

Apr 8, 2024 (v1.2.410)

What's Changed

Exciting New Features ✨

  • feat(query): support settings admin api for global level settings by @zhang2014 in #14901
  • feat: add a new ratio config instead of table_data_deserialized_data_bytes by @chienguo in #14896
  • feat(ast): add parser for script by @andylokandy in #14891
  • feat: support cross join spilling by @xudong963 in #14887
  • feat: add more function alias names by @sundy-li in #14924
  • feat(query): support spill for new agg hashtable by @Freejww in #14905
  • feat(query): Support refresh inverted index by @b41sh in #14912
  • feat: ndjson support option null_if. by @youngsofun in #14938
  • feat(query): add statement_queued_timeout_in_seconds setting for queries queue by @zhang2014 in #14945
  • feat: change tracking enabled table support merge into by @zhyass in #14900
  • feat: histogram aggregate function by @suimenno3002 in #14839
  • feat(query): add metrics for session queue manager by @everpcpc in #14966
  • feat(query): add error_or function by @sundy-li in #14980
  • feat: purge duplicated files (copy into table) by @dantengsky in #14962
  • feat(query): support parse mulity modify column? ty by @TracyZYJ in #14979
  • feat: support prql by @ncuwaln in #14922
  • chore(query): support domain contains in string type by @sundy-li in #15023
  • feat(query): check view's inner table privilege when create or alter view by @TCeason in #14986
  • feat: add buffer for spiller by @xudong963 in #15021
  • feat: add show views & desc view by @blackstar-baba in #14926
  • feat: support pagination on task_history by @ZhiHanZ in #15047
  • feat(ast): add parser for template sql by @andylokandy in #15026
  • refactor: SHOW GRANTS should not display drop on table/database by @TCeason in #14931
  • feat(query): Support query match inverted index by @b41sh in #14997
  • feat: Implement concurrent stat by @Xuanwo in #15083
  • feat(metasrv): add network metrics rpc_delay_ms by @everpcpc in #15084
  • feat: create stream at navigation point by @zhyass in #15062
  • feat(query): implement st_makeline() function by @kkk25641463 in #15059
  • feat(planner): improve push down filter join by @Dousir9 in #14872
  • feat: support otel context propagation for databend-query by @ZhiHanZ in #15096
  • feat(query): add query_result_cache_min_execute_secs by @sundy-li in #15101
  • feat(query): Support hook refresh inverted index after insert by @b41sh in #15094
  • feat: time travel support at stream by @zhyass in #15116
  • feat(query): implement st_geometryfromewkb function by @kkk25641463 in #15118
  • feat: refactor ndjson input format. by @youngsofun in #14943
  • feat(script): add script compiler by @andylokandy in #15113
  • feat: support multi-table insert by @SkyFan2002 in #15002
  • feat(query): to_timestamp support parser string to ts without timezone by @TCeason in #15131
  • feat: Enhance show views by @blackstar-baba in #15109
  • feat: support expr in values clause of multi table insert by @SkyFan2002 in #15147
  • feat(query): implement ST_GEOMFROMGEOHASH by @kkk25641463 in #15156
  • feat(query): show create table support display inverted index by @b41sh in #15169
  • feat(query): support CHANGES clause by @zhyass in #15163
  • feat: add inverted index pruning status by @BohuTANG in #15175
  • feat: Support to add random seed on random engine by @blackstar-baba in #15167
  • feat(planner): push down not in filter expression by @Dousir9 in #15168
  • feat: time travel support at offset by @zhyass in #15177

Thoughtful Bug Fix 🔧

  • fix(ci): fix internal benchmark by @TCeason in #14897
  • fix: Display of merge into .. insert * by @dantengsky in #14892
  • fix: check_and_upgrade_to_pb() should return MetaError, add quota by @drmingdrmer in #14899
  • fix: Display of compact AST by @SkyFan2002 in #14914
  • fix(query): fix native topk_sorter by @sundy-li in #14939
  • fix: stream source can't get the same tablemeta by @zhyass in #14935
  • fix: cluster table with change tracking enabled append panic by @zhyass in #14956
  • fix: enable runtime filter when join_spilling_memory_ratio !=0 by @xudong963 in #14959
  • fix: fix stream explain bug for merge into by @JackTan25 in #14969
  • fix(query): Need return error udf_name when derialize from pb failed. by @TCeason in #14964
  • fix: try fix compute stddev for decimal type overflow by @ariesdevil in #14952
  • fix: csv read error with skip_header. by @youngsofun in #14981
  • fix: fix incorrect agg spill in new agg hashtable by @Freejww in #14995
  • fix: wrong row id by @youngsofun in #15018
  • fix: trim leading '/'s for files specified in copy opt by @dantengsky in #15056
  • fix: stream get wrong result if change tracking is changed by @zhyass in #15072
  • fix(ast): fix incorrect display for ast (part 1) by @andylokandy in #15069
  • fix: privilege check for insert statement by @SkyFan2002 in #15075
  • fix(query): fix attach_query_str by @sundy-li in #15066
  • fix: fix plan_sql error can not write query_log by @BohuTANG in #15077
  • fix: improve error hints when select * from xx.yy by @ZhengLin-Li in #14663
  • fix: Support udf for copy table by @JackTan25 in #15078
  • fix(ast): fix incorrect display for ast (part 2) by @andylokandy in #15076
  • fix: make block data type be consistent with hash method by @xudong963 in #15089
  • fix: add prql description by @ncuwaln in #15091
  • fix: sqllogicaltest datatype mismatch in expr_in_window.test by @c8ef in #15090
  • fix: schema mismatch in named_window_basic.test by @c8ef in #15099
  • fix: test duplicate in window_basic.test by @c8ef in #15100
  • fix(query): verify_privilege need check privilege one by one by @TCeason in #15105
  • fix(query):user option DEFAULT_ROLE ignore ascii_case by @TCeason in #15137
  • fix(query): tuple field name can not contain special char by @TCeason in #15126
  • fix(query): new agg hashtable hung with little data on singleton by @Freejww in #15140
  • fix(query): show query with name consider quote by @TCeason in #15138
  • fix: forbid end at stream syntax by @zhyass in #15173
  • fix(storage): Don't return empty credential while loading failed by @Xuanwo in #15181

Code Refactor 🎉

  • refactor: upgrade to openraft 0.9.0 by @drmingdrmer in #14907
  • refactor: use kvapi::Key to define meta-service key for QuotaMgr by @drmingdrmer in #14915
  • refactor: reduce hash join build spilling files by @xudong963 in #14919
  • refactor: define kvapi::Key for PasswordPolicyMgr by @drmingdrmer in #14920
  • refactor: reduce meta call by @TCeason in #14917
  • refactor: add NetworkPolicyIdent as NetworkPolicy meta-service key by @drmingdrmer in #14933
  • refactor: http handler plan sql async. by @youngsofun in #14908
  • refactor: Add TIdent for all meta-service key that share the same form of <PREFIX>/<TENANT>/<NAME> by @drmingdrmer in #14940
  • refactor: add generic CrudMgr to implement various simple CRUD manager by @drmingdrmer in #14988
  • refactor(query): use project plan for copy into select by @zhang2014 in #14977
  • refactor: use CrudMgr to impl PasswordPolicyMgr by @drmingdrmer in #14994
  • refactor: Add ExistError and UnknownError, TenantResource does not need to define error type any more by @drmingdrmer in #14996
  • refactor: Use CrudMgr to impl FileFormatMgr by @drmingdrmer in #14999
  • refactor: Use CrudMgr to impl ConnectionMgr by @drmingdrmer in #15003
  • refactor(query): add copy into location physical plan by @zhang2014 in #15010
  • refactor(query): csv reader support prefetch by @youngsofun in #14983
  • refactor: alter view only need to modify table option by @TCeason in #15012
  • refactor: truncate support build pipeline by @zhyass in #15027
  • refactor: move id-generator from crate meta-api to meta-app by @drmingdrmer in #15036
  • refactor: remove innecessary serde by @drmingdrmer in #15037
  • refactor(query): use scan table physical plan for copy into table from stage by @zhang2014 in #15016
  • refactor: remove innecessary serde by @drmingdrmer in #15040
  • refactor: remove innecessary serde by @drmingdrmer in #15042
  • refactor: spead up csv reader. by @youngsofun in #15043
  • refactor(query): remove metrics if moved to the profile by @zhang2014 in #15054
  • refactor: reduce hash join probe spilled files by @xudong963 in #14942
  • refactor: separate key and value: add BackgroundTaskCreator by @drmingdrmer in #15063
  • refactor: remove serde from CatalogId and CatalogNameIdent by @drmingdrmer in #15068
  • refactor: remove serde from kvapi::Key types by @drmingdrmer in #15070
  • refactor: use type Tenant for BackgroundJobIdent.tenant by @drmingdrmer in #15074
  • refactor: BackgroundTaskIdent use Tenant by @drmingdrmer in #15080
  • refactor: make the block pruning more clear by @BohuTANG in #15079
  • refactor: change PartInfo is_lazy to LazyLevel by @BohuTANG in #15081
  • refactor: QueryFragmentsPlanPacket should include just setting changes by @drmingdrmer in #15095
  • refactor(executor): refactor queries executor to prepare by @dqhl76 in #14965
  • refactor: show grants support display ObjectId by @TCeason in #15064
  • refactor: replace NonEmptyString with Tenant by @drmingdrmer in #15103
  • refactor: replace String with Tenant by @drmingdrmer in #15119
  • refactor: use TIdent to unify kvapi key def for MaskPolicyTableIdListIdent and DataMaskNameIdent by @drmingdrmer in #15123
  • refactor: remove count-table for tenant. It is not used at all by @drmingdrmer in #15134
  • refactor: use Tenat in VirtualColumnNameIdent by @drmingdrmer in #15135
  • refactor(query): record physical plan level metrics into profiling log by @zhang2014 in #15092
  • refactor: define ShareEndpointIdent with TIdent by @drmingdrmer in #15136
  • refactor: add peer info to network error context by @drmingdrmer in #15139
  • refactor: add Tenant to ShareConsumer by @drmingdrmer in #15142
  • chore: client should not depend on the final response. by @youngsofun in #15146
  • refactor(executor): globalize QueriesPipelineExecutor creation method by @dqhl76 in #15129
  • refactor(planner): remove statistics collection from bind phase by @Dousir9 in #15112
  • refactor(query): only intercept dml and queries in queries queue by @zhang2014 in #15143
  • refactor: user can execute show grants query itself by @TCeason in #15149
  • refactor: generate inverted indexs for each blocks by @b41sh in #15150
  • refactor: remove dependency on parquet2: Part I by @SkyFan2002 in #15158
  • refactor: use Tenant for ListBackgroundTasksReq by @drmingdrmer in #15176
  • refactor: move TIdent into separate files by @drmingdrmer in #15179

Others 📒

  • chore(storage): split mutation_log file by @zhyass in #14903
  • chore(query): create user/role name can not contain single/double quote by @TCeason in #14902
  • chore(ci): benchmark local need set meta client timeout by @TCeason in #14910
  • chore: extend time tolerance for meta-service test by @drmingdrmer in #14927
  • chore: add step logs for hash join build side by @xudong963 in #14930
  • chore: use shorter name for management API by @drmingdrmer in #14937
  • chore(ci): add pr summary check by @everpcpc in #14944
  • chore(ci): fix set failure for pr check by @everpcpc in #14946
  • chore(ci): fix description check by @everpcpc in #14947
  • chore(ci): fix event for pr assistant by @everpcpc in #14948
  • chore(query): improve push_column_with_selection by @Dousir9 in #14954
  • chore(query): add disable system tables by @zhang2014 in #14958
  • chore(planner): fix distributed query plan by @Dousir9 in #14951
  • chore: tweak txn syntax by @SkyFan2002 in #14960
  • chore(query): add settings level for admin api by @zhang2014 in #14967
  • chore(ast): CreatOption::None -> CreateOption::Create by @andylokandy in #14941
  • chore: improve histogram‘s implement and comments by @suimenno3002 in #14976
  • chore: number range for settings by @BohuTANG in #14985
  • chore: group limit optimization in new hashtable by @sundy-li in #14989
  • chore: add integration test for runtime filter by @xudong963 in #14992
  • chore: upgrade openraft to 0.9.1 by @drmingdrmer in #15006
  • chore: max_running_queries from 8 to 0, disable the max running queries by @BohuTANG in #15013
  • chore: tweak deletion batch size & log messages by @dantengsky in #15005
  • chore: rollback partial tests by @JackTan25 in #15015
  • chore: add benchmark for loading data on cloud by @everpcpc in #15017
  • chore: add a setting for inlist to join by @xudong963 in #15024
  • chore: unify TIdent key format by @drmingdrmer in #15025
  • chore: the fist http resp wait longer to tolerant old bendsql clients. by @youngsofun in #15022
  • chore: add log about presign elapsed by @flaneur2020 in #14990
  • chore: fix sql seq for benchmark report by @everpcpc in #15030
  • chore: print query detail for bench & fix prepare database for load bench by @everpcpc in #15032
  • chore: default enalbe merge into by @BohuTANG in #15034
  • chore: run load test with new label by @everpcpc in #15035
  • chore(query): add spill profile for join by @zhang2014 in #15044
  • chore(http): tune log on getting /v1/query/:id/kill by @flaneur2020 in #14987
  • chore: default enable aggregate/sort/join spill by @BohuTANG in #15038
  • chore: do not drop database first for bench by @everpcpc in #15041
  • chore(query): improve group by @sundy-li in #15031
  • chore(planner): fix invalid aggregate physical plan by @Dousir9 in #15046
  • chore: adjust the default value for table lock timeout by @zhyass in #15055
  • chore: use Tenant::new_literal() and new_nonempty() to avoid creating empty Tenant by @drmingdrmer in #15061
  • chore(ci): fix benchmark job dependency by @everpcpc in #15087
  • chore: remove rebinding merge into for insert-only by @xudong963 in #15086
  • chore: clean z3 and meta dir by @zhyass in #15098
  • chore(executor): remove duplicate profile statistics by @zhang2014 in #15115
  • chore(query): errorcode use snake shape format by @TCeason in #15122
  • chore: treat seq as place holder when navigate by @zhyass in #15124
  • chore(planner): make optimize function async by @Dousir9 in #15121
  • chore: adjust stack size of flaky ut by @SkyFan2002 in #15130
  • chore: to avoid UT stackoverflow, disable async_backtrace of TypeChecker::resolve by @dantengsky in #15133
  • chore(query): refactor new transform partition bucket for new aggregation hashtable by @Freejww in #15093
  • chore: enable inlist to join in cluster by @xudong963 in #15108
  • chore: remove no longer used message encoding benchmark by @dantengsky in #15148
  • chore(query): fix order for scalar cmp with null by @sundy-li in #15145
  • chore: fix typos by @Dousir9 in #15153
  • chore(query): use i64 min max value as histogram bucket min max limit by @zhang2014 in #15152
  • chore(query): turn on new agg hashtable by @Freejww in #15155
  • chore(query): row-fetcher-cache by @sundy-li in #15159
  • chore: add CopyInto to query queue by @BohuTANG in #15160
  • chore: refine the query/02_function to query/functions by @BohuTANG in #15161
  • chore: refine the query queue is_heavy_action func by @BohuTANG in #15166
  • chore: fix window plan in lazy topn by @sundy-li in #15165
  • chore(deps): bump h2 from 0.3.24 to 0.3.26 by @dependabot in #15172
  • chore(query): fix boolean type comparison by @Dousir9 in #15171
  • chore: return inserted rows for each table in multi table insert by @SkyFan2002 in #15178

New Contributors

  • @suimenno3002 made their first contribution in #14839
  • @ncuwaln made their first contribution in #14922
  • @blackstar-baba made their first contribution in #14926
  • @kkk25641463 made their first contribution in #15059
  • @c8ef made their first contribution in #15090

Full Changelog: https://github.com/datafuselabs/databend/compare/v1.2.371...v1.2.410

Mar 11, 2024 (v1.2.371)

What's Changed

Exciting New Features ✨

  • feat: add div0 divnull method by @sundy-li in #14693
  • feat(query): grant object visibility check by @TCeason in #14458
  • feat: add a new kvapi::Key type: Tenant by @drmingdrmer in #14704
  • feat(query): privilege access check need consider if exists by @TCeason in #14700
  • feat: add kvapi::Value to define meta-service value behavior by @drmingdrmer in #14708
  • feat(geo): support geometry type for create table by @ariesdevil in #14615
  • feat(query): support vacuum temporary files by @zhang2014 in #14690
  • feat: add parent() method to kvapi::Key to describe the hierarchical structure of meta-service data by @drmingdrmer in #14716
  • feat(query): integrate hash join with new filter framework by @Dousir9 in #14689
  • feat: add kvapi::ValueType::dependency_keys() to retrieve relation such as table-name-to-table-id and table-id-to-table-meta by @drmingdrmer in #14735
  • feat: support multi-statement transactions by @SkyFan2002 in #14562
  • feat: DESC[RIBE][TABLE] name by @dracoooooo in #14736
  • feat(query): new implementation of analyze table by @sundy-li in #14725
  • feat: add Analyze for merge into by @JackTan25 in #14763
  • feat(executor): implement time slicing for shared executor scheduling across queries by @dqhl76 in #14770
  • feat(sqlsmith): Support generating binary and geometry values by @b41sh in #14758
  • feat: get_client_info() returns the server time in milliseconds by @drmingdrmer in #14805
  • feat: http handler txn support. by @youngsofun in #14802
  • feat(planner): implement explain query in verbose mode by @leiysky in #14801
  • feat: add new string view type [part 1] by @ariesdevil in #14662
  • feat: upgrade arrow to version 50 by @sundy-li in #14784
  • feat(query): introduce arrow-udf-js by @sundy-li in #14799
  • feat: support left-related join spilling by @xudong963 in #14828
  • feat: impl like selectivity compution by probability predication by @xudong963 in #14846
  • feat: add vacuum table result table by @lichuang in #14830
  • feat(query): read write inverted index by @b41sh in #14827
  • feat: change tracking enabled table support replace into by @zhyass in #14831
  • feat: support notification syntax with rpc, and support task error notification integration by @ZhiHanZ in #14845
  • feat: support right-related join spilling by @xudong963 in #14853
  • feat: add vacuum table dry run result table by @lichuang in #14851
  • feat: add transaction and mutli-line SQL script support for task by @ZhiHanZ in #14865
  • feat: add vacuum drop table dry run result table by @lichuang in #14870
  • feat(query): support variant is_type functions by @b41sh in #14876
  • feat(query): support queries queue by @zhang2014 in #14878
  • feat(query): create drop inverted index by @b41sh in #14859
  • feat(query): show grants support mget table/db name by table/db id. by @TCeason in #14862

Thoughtful Bug Fix 🔧

  • fix: do compact first , then do sort for cluster table by @JackTan25 in #14707
  • fix(query): filter response session settings with ScopeLevel::Session by @everpcpc in #14702
  • fix: fix create or replace table as select bug by @lichuang in #14730
  • fix: check if global memory is negative by @xudong963 in #14733
  • fix: Don't return empty credentail if load failed by @Xuanwo in #14734
  • fix: wrong result for CSV EMPTY_FIELD_AS = STRING. by @youngsofun in #14744
  • fix: fix create or replace stage bug by @lichuang in #14745
  • fix: force attachment to use EmptyFieldAs::FieldDefault. by @youngsofun in #14767
  • fix: fix create or replace stage bug, only remove dir when success by @lichuang in #14766
  • fix(planner): use correct alias for column reference in select clause by @leiysky in #14775
  • fix(executor): queries pipeline executor schedule incorrectly by @dqhl76 in #14787
  • fix: fix hash join spilling hang and add more tests by @xudong963 in #14794
  • fix(ast): add missing #[drive(skip)] by @andylokandy in #14823
  • fix: Transaction state is not changed correctly when returning error in commit statement by @SkyFan2002 in #14824
  • fix(query): today, yesterday, tomorrow need consider tz by @TCeason in #14841
  • fix: flaky sqllogic test by @zhyass in #14848
  • fix: fix wrong results for left join spilling by @xudong963 in #14860
  • fix: allow insert in multiline statment by @andylokandy in #14882
  • fix: rewrite ifnull and nvl as coalesce by @PsiACE in #14877
  • fix: fix incorrect schema in window expr in subquery with lazy_materialization by @ariesdevil in #14895

Code Refactor 🎉

  • refactor: new impl for loading CSV. by @youngsofun in #14645
  • refactor: add UdfError::Exist by @drmingdrmer in #14691
  • refactor: remove kvapi::Key prefix const by @drmingdrmer in #14701
  • refactor: add Humanizer traits for operator display by @leiysky in #14718
  • refactor: schema_api::update_mask_policy by @drmingdrmer in #14724
  • refactor: rename ShareAccountNameIdent::acount to tenant; remove unused serde derive by @drmingdrmer in #14722
  • refactor: support decimal for quantile_cont by @ariesdevil in #14726
  • refactor(query): refactor runtime part 4 by @zhang2014 in #14728
  • refactor(query): migrate profile to common base by @zhang2014 in #14739
  • refactor: refactor hash join spill probe side by @xudong963 in #14743
  • refactor(storage): treat the standard stream as append only when only insertion by @zhyass in #14748
  • refactor: Add RoleGrantee to provide meta-service key for RoleMgr by @drmingdrmer in #14752
  • refactor: upgrade Openraft v0.9.0-alpha.5..v0.9.0-alpha.6 by @drmingdrmer in #14769
  • refactor: hash join build spilling by @xudong963 in #14768
  • refactor: Add RoleIdent to define kvapi::Key to access roles in meta-service by @drmingdrmer in #14772
  • refactor: make IndexNameIdent.tenant a Tenant struct by @drmingdrmer in #14776
  • refactor: refactor join spilling settings by @xudong963 in #14781
  • refactor: add TenantUserIdent as meta-service key to access user data by @drmingdrmer in #14793
  • refactor(executor): tracking memory for plan level by @zhang2014 in #14747
  • refactor(ast): rename CreateOption::CreateIfNotExists(false) -> CreateOption::None by @andylokandy in #14795
  • refactor(ast): refine crate structure by @andylokandy in #14803
  • refactor: upgrade Openraft to v0.9.0-alpha.7 by @drmingdrmer in #14809
  • refactor: tenant is not allowed to be empty by @drmingdrmer in #14815
  • refactor(ast): add derive-visitor for expr and query by @andylokandy in #14814
  • refactor(ast): add derive-visitor for Statement by @andylokandy in #14822
  • refactor: remove backward compatibility for data version V0 by @drmingdrmer in #14818
  • refactor: use relative expire time ttl to replace expire_at, tolerate query-meta time drift by @drmingdrmer in #14807
  • refactor: upgrade openraft v0.9.0-alpha.7 to v0.9.0-alpha.8 by @drmingdrmer in #14832
  • refactor: enable feature flag openraft:storage-v2 by @drmingdrmer in #14838
  • refactor: use NonEmptyString to access UDFMgr. by @drmingdrmer in #14844
  • refactor: use NonEmptyString for creating StageMgr by @drmingdrmer in #14850
  • refactor: add StageIdent and StageFileIdent by @drmingdrmer in #14863
  • refactor: use KVPbApi to simplify StageMgr by @drmingdrmer in #14871
  • refactor: use NonEmptyString to create Settings by @drmingdrmer in #14875
  • refactor: enable openraft feature flag generic-snapshot-data by @drmingdrmer in #14881
  • refactor: use SettingIdent to build string key to access settings by @drmingdrmer in #14883
  • refactor(ast): migrate to derive-visitor by @andylokandy in #14829
  • refactor(ast): remove databend-common-functions dependency by @andylokandy in #14893

Build/Testing/CI Infra Changes 🔌

  • ci: add tests for transaction. by @youngsofun in #14826
  • ci: fix clippy tests. by @youngsofun in #14855

Others 📒

  • chore: add plan id for mutations by @JackTan25 in #14685
  • chore: install sqlite3 for build-tool by @ariesdevil in #14695
  • chore: install libsqlite3 for build-tool by @ariesdevil in #14696
  • chore: minor refactor of adjust_bloom_runtime_filter by @xudong963 in #14697
  • chore: extract common functions from metactl by @drmingdrmer in #14698
  • chore(query): support custom query graceful shutdown timeout by @zhang2014 in #14712
  • chore(query): improve new filter execution by @Dousir9 in #14715
  • chore: add metrics for compact and recluster by @zhyass in #14717
  • chore: static features for async-compression deps by @everpcpc in #14711
  • chore: remove stream pruner by @zhyass in #14723
  • chore(query): improve aggregate unary function by @sundy-li in #14729
  • chore: polish error message. by @youngsofun in #14737
  • chore: rename by @JackTan25 in #14740
  • chore: refactor RoleMgr by @drmingdrmer in #14741
  • chore: build-tool base for both arm64 & amd64 by @everpcpc in #14751
  • chore: fix setup protoc aarch64 by @everpcpc in #14754
  • chore: fix compile error by @SkyFan2002 in #14753
  • chore: change build image to debian/alpine by @everpcpc in #14755
  • chore(ci): fix LIBCLANG_PATH for alpine build-tool by @everpcpc in #14764
  • chore(query): fix location ver by @sundy-li in #14762
  • chore(query): add max_running_query_execute_time for http status by @zhang2014 in #14750
  • chore(query): support string eq int by @sundy-li in #14759
  • chore: add more transaction test by @SkyFan2002 in #14746
  • chore(ci): change build runner with target by @everpcpc in #14761
  • chore: fix build for cloud by @everpcpc in #14773
  • chore(query): use create_time of process info for http status by @zhang2014 in #14777
  • chore: show create table with location by @ariesdevil in #14778
  • chore(query): add drop guard for impl drop trait by @zhang2014 in #14783
  • chore(ci): fix target for release by @everpcpc in #14785
  • chore(query): remove codes of storage/parquet2 by @sundy-li in #14305
  • chore: patch z3-sys & add musl build to ci by @everpcpc in #14786
  • chore: fix musl build dockerfile by @everpcpc in #14790
  • chore: release add musl targets by @everpcpc in #14791
  • chore(test): reduce the number of tables in large join test by @Dousir9 in #14797
  • chore: add Date Type for runtime filter by @JackTan25 in #14780
  • chore: rename update_star_columns by @JackTan25 in #14806
  • chore(query): add unit test for mem stat by @zhang2014 in #14812
  • chore(ci): include nohup.out in failure artifact by @everpcpc in #14820
  • chore: remove unused package patch by @everpcpc in #14821
  • chore(ci): fix upload/download sha256sums artifacts by @everpcpc in #14833
  • chore(ci): fix release artifacts conflict by @everpcpc in #14834
  • chore(ci): fix artifacts for benchmark by @everpcpc in #14837
  • chore: tolerate inaccuracy of expire time for test by @drmingdrmer in #14836
  • chore(query): modify new_agg_hashtable payload transmission method on singleton and support new_agg_hashtable on cluster by @Freejww in #14798
  • chore: Enable stage table distributed by @JackTan25 in #14847
  • chore: disable inlist to subquery under cluster by @xudong963 in #14864
  • chore(query): enable fast return for cluster hash join by @Dousir9 in #14854
  • chore: log txn id for multi stmt transaction by @SkyFan2002 in #14861
  • chore: improve tolerance for expire test test_kv_read_v1_on_follower by @drmingdrmer in #14868
  • chore: open join spilling by default by @xudong963 in #14843
  • chore: increase tolerance for expiration test by @drmingdrmer in #14880

New Contributors

  • @dracoooooo made their first contribution in #14736

Full Changelog: https://github.com/datafuselabs/databend/compare/v1.2.344...v1.2.371

Feb 22, 2024 (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