Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/chdb-io/chdb-bun

bun.sh bindings for chDB, an embedded SQL Engine powered by ClickHouse
https://github.com/chdb-io/chdb-bun

bun chdb clickhouse ffi-bindings

Last synced: about 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        



[![chDB-bun](https://github.com/chdb-io/chdb-bun/actions/workflows/bun-test.yml/badge.svg)](https://github.com/chdb-io/chdb-bun/actions/workflows/bun-test.yml)

# chdb-bun
Experimental [chDB](https://github.com/chdb-io/chdb) FFI bindings for the [bun runtime](https://bun.sh)
### Status

- experimental, unstable, subject to changes
- requires [`libchdb`](https://github.com/chdb-io/chdb) on the system
- requires `gcc` or `clang`

#### Build binding
```bash
bun run build
bun run example.ts
```

#### Usage

#### Query(query, *format) (ephemeral)
```javascript
import { query } from 'chdb-bun';

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

#### Session.Query(query, *format)
```javascript
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
```