Databend is an open source elastic and reliable Modern Cloud Data Warehouse, it offers blazing fast query and combines elasticity, simplicity, low cost of the cloud, built to make the Data Cloud easy.

Big changes

Below is a list of some major changes that we don't want you to miss.

Features

RFC

CTE

  • support common table expression in planner (#6056)

share

  • add alter share tenants sql (#7044)
  • add desc share sql (#7105)
  • add show shares sql (#7145)
  • add get_grant_tenants_of_share and get_grant_privileges_of_object api (#7157)

planner

  • support explain raw query (#7079)
  • support tuple map access pushdown to storage (#7080)
  • support explain syntax (#7124)

query

  • parquet schema case in-sensitive match #7045

new expression

  • support 3 args function (#7075)
  • add a helper trait ColumnFrom (#7067)
  • add arithmetics functions (#7096 & #7140)

Improvement

meta

  • add defensive check to raft-store (#7125)
  • get_share_grant_objects API should return name instead of id (#7088)
  • refactor show share api (#7142)

query

  • predicate push down support multi expressions (#7078)
  • use common hashtable to store the numeric distinct state (#7135)
  • improve performance of aggregate function distinct (#7110)

workspace

  • reorg workspace, a basic structure (#7074)

Build/Testing/CI

  • add logictest in cluster mode (#7099)
  • add part of crdb logictest suites (#7154)

Bug fixes

meta

  • when handling append-entries, if prev_log_id is purged, it should not delete any logs (#7113)

planner

  • fix left join using() return error result (#7086)
  • fix ColumnPruner finds wrong smallest column index (#7097)

processor

  • use flight do_exchange replace flight do_put (#7025)
  • try fix invalid physical exchange plan for http handle (#7095)

handle

  • streaming mysql resultset (#7022)

News

Let's take a look at what's new at Datafuse Labs & Databend each week.

common table expressions

Databend supports common table expressions (CTEs) and allows you to use a WITH clause to define one or multiple named temporary result sets that are used by the query that follows. The "temporary" means that the result sets will be not permanently stored anywhere in the database schema. They act as temporary views that are only available to the query that follows.

Learn more: https://databend.rs/doc/reference/sql/query-syntax/dml-with

crates

  • openraft has released v0.7.0, which includes a number of refactorings and reliability improvements, and adds examples of rocksdb and sled.
  • opendal has just added support for Google Cloud Storage and released 0.13.0. Recent improvements include a new Builder with sync support and some useful layers.
  • The v0.2.0 release of opensrv supports streaming writes to mysql result sets and simplifies metadata for clickhouse.

Changelogs

You can check the changelogs of Databend nightly to learn about our latest developments.

Contributors

Thanks a lot to the contributors for their excellent work this week.

andylokandyb41shBohuTANGClSlaiddantengskydrmingdrmer
andylokandyb41shBohuTANGClSlaiddantengskydrmingdrmer
e1ijah1everpcpcgaoxingeIDJackKikkonleiysky
e1ijah1everpcpcgaoxingeIDJackKikkonleiysky
lichuangmergify[bot]PsiACEsandfleesoyeric128sundy-li
lichuangmergify[bot]PsiACEsandfleesoyeric128sundy-li
Xuanwoxudong963ZeaLoVezhang2014
Xuanwoxudong963ZeaLoVezhang2014

Meet Us

Please join the DatafuseLabs Community if you are interested in Databend.

We are looking forward to seeing you try our code. We have a strong team behind you to ensure a smooth experience in trying our code for your projects. If you are a hacker passionate about database internals, feel free to play with our code.

You can submit issues for any problems you find. We also highly appreciate any of your pull requests.