Skip to content

bun.sh bindings for chDB, an embedded SQL Engine powered by ClickHouse

License

Notifications You must be signed in to change notification settings

chdb-io/chdb-bun

Repository files navigation

chDB-bun

chdb-bun

Experimental chDB FFI bindings for the bun runtime

Status

  • experimental, unstable, subject to changes
  • requires libchdb on the system
  • requires gcc or clang

Build binding

bun run build
bun run example.ts

Usage

Query(query, *format) (ephemeral)

import { query } from 'chdb-bun';

// Query (ephemeral)
var result = query("SELECT version()", "CSV");
console.log(result); // 23.10.1.1

Session.Query(query, *format)

import { Session } from 'chdb-bun';
const sess = new Session('./chdb-bun-tmp');

// Query Session (persistent)
sess.query("CREATE FUNCTION IF NOT EXISTS hello AS () -> 'Hello chDB'", "CSV");
var result = sess.query("SELECT hello()", "CSV");
console.log(result);

// Before cleanup, you can find the database files in `./chdb-bun-tmp`

sess.cleanup(); // cleanup session, this will delete the database