Skip to content

Releases: chdb-io/chdb

v2.0.0b0

01 Jul 14:51
Compare
Choose a tag to compare

Highlight

  • 🚀 87x performance boost query on Pandas DataFrame, See Benchmark

  • ⬆️ Upgrade ClickHouse engine to 24.5

  • 🐍 Query on Pandas DataFrame, ArrowTable, Dict or Any Python object Directly!

import chdb
import pandas as pd
df = pd.DataFrame(
    {
        "a": [1, 2, 3, 4, 5, 6],
        "b": ["tom", "jerry", "auxten", "tom", "jerry", "auxten"],
    }
)

chdb.query("SELECT b, sum(a) FROM Python(df) GROUP BY b ORDER BY b").show()

Changes

  • Use in-process instead of embedded by @auxten in #222
  • 226 crash on mergetree background task cleanup by @auxten in #227
  • Replace icu with utf8proc by @auxten in #228
  • Start agg step stream according to agg_col_cost and group_by_keys_cost by @auxten in #230
  • Fix various issues like 190, 229 by @auxten in #231
  • Before 2.0 release Patch #1 by @auxten in #232
  • Fix python version check in CMakeLists.txt by @auxten in #233
  • Fix mistake config.h by @auxten in #234
  • Add tests on query python objects by @auxten in #235
  • Add docs for Python Table Engine by @auxten in #238

Full Changelog: v1.4.1...v2.0.0b0

v1.4.1

05 Jun 12:59
f14db2c
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.3.0...v1.4.1

v1.4.0

05 Jun 09:02
66ac8e9
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.3.0...v1.4.0

v1.3.0

20 Mar 12:02
Compare
Choose a tag to compare

What's Changed

  • Add show for result by @auxten in #194
    # You do not need something like
    # ret = chdb.query("SELECT 123")
    # print(ret)
    # just
    chdb.query("SELECT 123").show()
  • Allow path in dbapi connect by @nevinpuri in #176
    from chdb import dbapi
    conn = dbapi.connect(path=test_state_dir)
    cur = conn.cursor()
    cur.execute("CREATE DATABASE e ENGINE = Atomic;")
    cur.execute(
        "CREATE TABLE e.hi (a String primary key, b Int32) Engine = MergeTree ORDER BY a;"
    )
    cur.execute("INSERT INTO e.hi (a, b) VALUES (%s, %s);", ["he", 32])
    
    cur.close()
    conn.close()
    
    conn2 = dbapi.connect(path=test_state_dir)
    cur2 = conn2.cursor()
    cur2.execute("SELECT * FROM e.hi;")
    row = cur2.fetchone()
    self.assertEqual(("he", 32), row)
  • Now, SET clause will work through chdb session! by @auxten in #207
    from chdb import session as chs
    se = chs.Session()
    se.query("SET input_format_csv_skip_first_lines = 1")
    se.query("SELECT * FROM `some dirty csv`").show()
  • Add test cases for materialize view by @auxten in #201
  • Fix DB-API test rerun issue by @auxten in #208

New Contributors

Full Changelog: v1.2.1...v1.3.0

v1.2.1

03 Feb 04:46
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.2.0...v1.2.1

v1.2.0

10 Jan 06:42
c69b269
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.1.0...v1.2.0

v1.1.0

21 Dec 11:04
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.0.2...v1.1.0

v1.0.2

12 Dec 03:58
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.0.1...v1.0.2

v1.0.1

10 Dec 14:10
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: https://github.com/chdb-io/chdb/commits/v1.0.1

v1.0.0

01 Dec 16:59
Compare
Choose a tag to compare
  • ⭐ chdb 1.0.0 (celebration release)

Celebrating the work of @auxten @lmangani @laodouya @nmreadelf and all the community members supporting the project ❤️

chdb-1k-stars