1.0.1 • Published 2 years ago

chdb-node v1.0.1

Weekly downloads
-
License
AGPLv3
Repository
-
Last release
2 years ago

chDB-node

chdb-node

chDB nodejs bindings for fun and hacking.

Status

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

  • :wave: C/Node developer? Jump in and help us evolve this prototype into a stable module!

Examples

Query Constructor

const chdb = require('chdb-node');
var result;

// Query (ephemeral)
const db = new chdb.db('CSV') // format
result = db.query("SELECT version()", "TabSeparated");
console.log(result)

// Query Session (persistent)
const dbdisk = new chdb.db('CSV', '/tmp/mysession') // format, storage path
dbdisk.session("CREATE FUNCTION IF NOT EXISTS hello AS () -> 'chDB'");
result = dbdisk.session("SELECT hello()", "TabSeparated"); // optional format override
console.log(result)

Query (query, format)

const chdb = require('chdb-node').chdb;
var result = chdb.Execute('SELECT version()', 'CSV');
console.log(result) // 23.6.1.1

Session (query, format, path)

const chdb = require('chdb-node').chdb;
chdb.Session("CREATE FUNCTION IF NOT EXISTS hello AS () -> 'chDB'")
var result =  = chdb.Session("SELECT hello();")
console.log(result) // chDB

Sessions persist table data to disk. You can specify path to implement auto-cleanup strategies:

const temperment = require('temperment');
const tmp = temperment.directory();
chdb.Session("CREATE FUNCTION IF NOT EXISTS hello AS () -> 'chDB'", "CSV", tmp)
var result =  = chdb.Session("SELECT hello();")
console.log(result) // chDB
tmp.cleanup.sync();

⚠️ Session folders are persistent and NOT automatically cleaned

1.0.1

2 years ago

0.11.4

2 years ago

0.11.5

2 years ago

0.11.6

2 years ago

0.7.0

2 years ago