Skip to main content

This Week in Databend #134

Databend is a modern cloud data warehouse, serving your massive-scale analytics needs at low cost and complexity. Open source alternative to Snowflake. Also available in the cloud: .

What's New

Stay informed about the latest features of Databend.

Supporting Multi-Statement Transactions

Databend now supports basic multi-statement transaction capabilities.

The use cases for multi-statement transactions include:

  • Performing DML changes on multiple tables within a single transaction.
  • Executing changes on a single table in multiple stages based on intermediate computations.
INSERT INTO t_append_only VALUES(4), (5);
INSERT INTO t_consume_append_only_1 SELECT a FROM s_append_only;
INSERT INTO t_append_only VALUES(6), (7);

If you would like to learn more, please contact the Databend team or refer to the resources listed below:

Code Corner

Discover some fascinating code snippets or projects that showcase our work or learning journey.

crabml - Reimplementation of GGML in Rust

crabml is an experimental project in progress, essentially a reimplementation of GGML in Rust. It allows for efficient inference on budget hardware.

Created by Databend team member flaneur2020, it already supports inference for the Llama 3B model quantized to Q8_0.


We have also made these improvements to Databend that we hope you will find helpful:

  • Added support for generating data of binary and geometry types in SQLsmith.
  • Integrated hash join with the new filter framework.
  • Added support for verbose output mode of EXPLAIN, providing more relational attribute information and statistics.
  • Improved analyze table, supporting the query of incremental blocks for fuse tables.

What's Up Next

We're always open to cutting-edge technologies and innovative ideas. You're more than welcome to join the community and bring them to Databend.

Supporting PRQL Dialect

PRQL stands for Pipelined Relational Query Language and is pronounced "Prequel". PRQL is also readable and declarative; however, unlike SQL, it supports concepts such as variables and functions.

Here's an example of PRQL:

from track_plays
filter plays > 10_000 # Readable numbers
filter (length | in 60..240) # Ranges with `..`
filter recorded > @2008-01-01 # Simple date literals
filter released - recorded < 180days # Nice interval literals
sort {-length} # Concise order direction

PRQL can be compiled into universal SQL that is parseable by an AST using prqlc, and Databend plans to leverage this to provide support for PRQL.

Issue #14811 | Feature: prql dialect support

Please let us know if you're interested in contributing to this feature, or pick up a good first issue at to get started.

New Contributors

We always open arms to everyone and can't wait to see how you'll help our community grow and thrive.


You can check the changelog of Databend Nightly for details about our latest developments.

Full Changelog:


A total of 23 contributors participated

We are very grateful for the outstanding work of the contributors.