configulations for DuckDbDialect
duckdb.Database instance or a function returns a Promise of duckdb.Database instance.
Optional
oncalled when a connection is created.
duckdb.Connection instance that is created.
Promise
Mappings of table name in kysely to duckdb table expressions.
Duckdb can read external source(file, url or database) as table
like: SELECT * FROM read_json_objects('path/to/file/*.json')
.
You can use raw duckdb table expression as table name, but it may be too
long, preserving too many implementation details.
This mappings is used to replace table name string to duckdb table expression.
const dialect = new DuckDbDialect({
database: db,
tableMappings: {
person: 'read_json_object("s3://my-bucket/person.json?s3_access_key_id=key&s3_secret_access_key=secret")'
}
});
const db = new Kysely<{
person: { first_name: string, last_name: string }, // 'person' is defined in tableMappings
pet: { name: string, species: 'cat' | 'dog' }, // 'pet' is *not* defined in tableMappings
>({ dialect });
await db.selectFrom("person").selectAll().execute();
// => Executed query is: `SELECT * FROM read_json_object("s3://my-bucket/person.json?s3_access_key_id=key&s3_secret_access_key=secret");`
await db.selectFrom("pet").selectAll().execute();
// => Executed query is: SELECT * FROM pet;
Private
Readonly
configconfigulations for DuckDbDialect
duckdb.Database instance or a function returns a Promise of duckdb.Database instance.
Optional
oncalled when a connection is created.
duckdb.Connection instance that is created.
Promise
Mappings of table name in kysely to duckdb table expressions.
Duckdb can read external source(file, url or database) as table
like: SELECT * FROM read_json_objects('path/to/file/*.json')
.
You can use raw duckdb table expression as table name, but it may be too
long, preserving too many implementation details.
This mappings is used to replace table name string to duckdb table expression.
const dialect = new DuckDbDialect({
database: db,
tableMappings: {
person: 'read_json_object("s3://my-bucket/person.json?s3_access_key_id=key&s3_secret_access_key=secret")'
}
});
const db = new Kysely<{
person: { first_name: string, last_name: string }, // 'person' is defined in tableMappings
pet: { name: string, species: 'cat' | 'dog' }, // 'pet' is *not* defined in tableMappings
>({ dialect });
await db.selectFrom("person").selectAll().execute();
// => Executed query is: `SELECT * FROM read_json_object("s3://my-bucket/person.json?s3_access_key_id=key&s3_secret_access_key=secret");`
await db.selectFrom("pet").selectAll().execute();
// => Executed query is: SELECT * FROM pet;
Generated using TypeDoc
Kysely dialect for duckdb.
Quick Start and Usage Example
Please see also Kysely Docs and Duckdb Docs
Install
Basic Usage Example
reding data from json file.