模块
Typedefs
- ColumnInfo :
object
- TypeInfo :
object
- DuckDbError :
object
- HTTPError :
object
duckdb
概述: DuckDB 是一个可嵌入的 SQL OLAP 数据库管理系统
- duckdb
- ~Connection
- .run(sql, …params, callback) ⇒
void
- .all(sql, …params, callback) ⇒
void
- .arrowIPCAll(sql, …params, callback) ⇒
void
- .arrowIPCStream(sql, …params, callback) ⇒
- .each(sql, …params, callback) ⇒
void
- .stream(sql, …params)
- .register_udf(name, return_type, fun) ⇒
void
- .prepare(sql, …params, callback) ⇒
Statement
- .exec(sql, …params, callback) ⇒
void
- .register_udf_bulk(name, return_type, callback) ⇒
void
- .unregister_udf(name, return_type, callback) ⇒
void
- .register_buffer(name, array, force, callback) ⇒
void
- .unregister_buffer(name, callback) ⇒
void
- .close(callback) ⇒
void
- .run(sql, …params, callback) ⇒
- ~Statement
- ~QueryResult
- ~Database
- .close(callback) ⇒
void
- .close_internal(callback) ⇒
void
- .wait(callback) ⇒
void
- .serialize(callback) ⇒
void
- .parallelize(callback) ⇒
void
- .connect(path) ⇒
Connection
- .interrupt(callback) ⇒
void
- .prepare(sql) ⇒
Statement
- .run(sql, …params, callback) ⇒
void
- .scanArrowIpc(sql, …params, callback) ⇒
void
- .each(sql, …params, callback) ⇒
void
- .stream(sql, …params)
- .all(sql, …params, callback) ⇒
void
- .arrowIPCAll(sql, …params, callback) ⇒
void
- .arrowIPCStream(sql, …params, callback) ⇒
void
- .exec(sql, …params, callback) ⇒
void
- .register_udf(name, return_type, fun) ⇒
this
- .register_buffer(name) ⇒
this
- .unregister_buffer(name) ⇒
this
- .unregister_udf(name) ⇒
this
- .registerReplacementScan(fun) ⇒
this
- .tokenize(text) ⇒
ScriptTokens
- .get()
- .close(callback) ⇒
- ~TokenType
- ~ERROR :
number
- ~OPEN_READONLY :
number
- ~OPEN_READWRITE :
number
- ~OPEN_CREATE :
number
- ~OPEN_FULLMUTEX :
number
- ~OPEN_SHAREDCACHE :
number
- ~OPEN_PRIVATECACHE :
number
- ~Connection
duckdb~Connection
类型: duckdb
的内部类
- ~Connection
- .run(sql, …params, callback) ⇒
void
- .all(sql, …params, callback) ⇒
void
- .arrowIPCAll(sql, …params, callback) ⇒
void
- .arrowIPCStream(sql, …params, callback) ⇒
- .each(sql, …params, callback) ⇒
void
- .stream(sql, …params)
- .register_udf(name, return_type, fun) ⇒
void
- .prepare(sql, …params, callback) ⇒
Statement
- .exec(sql, …params, callback) ⇒
void
- .register_udf_bulk(name, return_type, callback) ⇒
void
- .unregister_udf(name, return_type, callback) ⇒
void
- .register_buffer(name, array, force, callback) ⇒
void
- .unregister_buffer(name, callback) ⇒
void
- .close(callback) ⇒
void
- .run(sql, …params, callback) ⇒
connection.run(sql, …params, callback) ⇒ void
运行一个SQL语句并在完成后触发回调
类型: Connection
的实例方法
参数 | 类型 |
---|---|
sql | |
…params | \* |
callback |
connection.all(sql, …params, callback) ⇒ void
运行SQL查询并为所有结果行触发回调
类型: Connection
的实例方法
参数 | 类型 |
---|---|
sql | |
…params | \* |
callback |
connection.arrowIPCAll(sql, …params, callback) ⇒ void
运行SQL查询并将结果序列化为Apache Arrow IPC格式(需要加载arrow扩展)
类型: Connection
的实例方法
参数 | 类型 |
---|---|
sql | |
…params | \* |
callback |
connection.arrowIPCStream(sql, …params, callback) ⇒
运行一个SQL查询,返回一个IpcResultStreamIterator,允许将结果流式传输到Apache Arrow IPC格式 (需要加载arrow扩展)
类型: Connection
的实例方法
返回: Promise
Param | Type |
---|---|
sql | |
…params | \* |
callback |
connection.each(sql, …params, callback) ⇒ void
运行SQL查询并为每个结果行触发回调
Kind: instance method of Connection
Param | Type |
---|---|
sql | |
…params | \* |
callback |
connection.stream(sql, …params)
Kind: instance method of Connection
Param | Type |
---|---|
sql | |
…params | \* |
connection.register_udf(name, return_type, fun) ⇒ void
注册一个用户自定义函数
类型: Connection
的实例方法
注意: 这在一定程度上遵循了 wasm udfs,但更简单,因为我们可以更清晰地传递数据
参数 |
---|
name |
return_type |
fun |
connection.prepare(sql, …params, callback) ⇒ Statement
准备一个SQL查询以供执行
Kind: instance method of Connection
Param | Type |
---|---|
sql | |
…params | \* |
callback |
connection.exec(sql, …params, callback) ⇒ void
执行一个SQL查询
Kind: instance method of Connection
Param | Type |
---|---|
sql | |
…params | \* |
callback |
connection.register_udf_bulk(name, return_type, callback) ⇒ void
注册一个用户自定义函数
Kind: instance method of Connection
参数 |
---|
name |
return_type |
callback |
connection.unregister_udf(name, return_type, callback) ⇒ void
注销用户定义的函数
Kind: instance method of Connection
Param |
---|
name |
return_type |
callback |
connection.register_buffer(name, array, force, callback) ⇒ void
注册一个缓冲区以使用Apache Arrow IPC扫描器进行扫描 (需要加载arrow扩展)
Kind: instance method of Connection
Param |
---|
name |
数组 |
force |
callback |
connection.unregister_buffer(name, callback) ⇒ void
注销缓冲区
Kind: instance method of Connection
Param |
---|
name |
callback |
connection.close(callback) ⇒ void
关闭连接
Kind: instance method of Connection
Param |
---|
callback |
duckdb~Statement
Kind: inner class of duckdb
statement.sql ⇒
类型: Statement
的实例属性
返回: 包含在语句中的 SQL
字段:
statement.get()
未实现
类型: Statement
的实例方法
statement.run(sql, …params, callback) ⇒ void
类型: Statement
的实例方法
Param | Type |
---|---|
sql | |
…params | \* |
callback |
statement.all(sql, …params, callback) ⇒ void
类型: Statement
的实例方法
Param | Type |
---|---|
sql | |
…params | \* |
callback |
statement.arrowIPCAll(sql, …params, callback) ⇒ void
类型: Statement
的实例方法
Param | Type |
---|---|
sql | |
…params | \* |
callback |
statement.each(sql, …params, callback) ⇒ void
类型: Statement
的实例方法
Param | Type |
---|---|
sql | |
…params | \* |
callback |
statement.finalize(sql, …params, callback) ⇒ void
类型: Statement
的实例方法
Param | Type |
---|---|
sql | |
…params | \* |
callback |
statement.stream(sql, …params)
Kind: instance method of Statement
Param | Type |
---|---|
sql | |
…params | \* |
statement.columns() ⇒ Array.
类型: Statement
的实例方法
返回: Array.
- - 列名和类型的数组
duckdb~QueryResult
Kind: inner class of duckdb
queryResult.nextChunk() ⇒
类型: QueryResult
的实例方法
返回: 数据块
queryResult.nextIpcBuffer() ⇒
以零拷贝方式获取Arrow IPC流的下一个结果blob的函数。 (需要加载arrow扩展)
类型: QueryResult
的实例方法
返回: 数据块
queryResult.asyncIterator()
类型: QueryResult
的实例方法
duckdb~数据库
主数据库接口
类型: duckdb
的内部属性
参数 | 描述 |
---|---|
path | 数据库文件的路径或 :memory: 用于内存数据库 |
access_mode | 访问模式 |
config | 配置对象 |
callback | 回调函数 |
- ~Database
- .close(callback) ⇒
void
- .close_internal(callback) ⇒
void
- .wait(callback) ⇒
void
- .serialize(callback) ⇒
void
- .parallelize(callback) ⇒
void
- .connect(path) ⇒
Connection
- .interrupt(callback) ⇒
void
- .prepare(sql) ⇒
Statement
- .run(sql, …params, callback) ⇒
void
- .scanArrowIpc(sql, …params, callback) ⇒
void
- .each(sql, …params, callback) ⇒
void
- .stream(sql, …params)
- .all(sql, …params, callback) ⇒
void
- .arrowIPCAll(sql, …params, callback) ⇒
void
- .arrowIPCStream(sql, …params, callback) ⇒
void
- .exec(sql, …params, callback) ⇒
void
- .register_udf(name, return_type, fun) ⇒
this
- .register_buffer(name) ⇒
this
- .unregister_buffer(name) ⇒
this
- .unregister_udf(name) ⇒
this
- .registerReplacementScan(fun) ⇒
this
- .tokenize(text) ⇒
ScriptTokens
- .get()
- .close(callback) ⇒
database.close(callback) ⇒ void
关闭数据库实例
类型: Database
的实例方法
Param |
---|
callback |
database.close_internal(callback) ⇒ void
内部方法。请勿使用,请改为调用 Connection#close
类型: Database
的实例方法
Param |
---|
callback |
database.wait(callback) ⇒ void
当所有计划的数据库任务完成时触发回调。
类型: Database
的实例方法
Param |
---|
callback |
database.serialize(callback) ⇒ void
目前无操作。为SQLite兼容性提供
Kind: instance method of Database
Param |
---|
callback |
database.parallelize(callback) ⇒ void
目前无操作。为SQLite兼容性提供
Kind: instance method of Database
Param |
---|
callback |
database.connect(path) ⇒ Connection
创建一个新的数据库连接
Kind: instance method of Database
参数 | 描述 |
---|---|
path | 要连接的数据库,可以是文件路径,也可以是:memory: |
database.interrupt(callback) ⇒ void
据说可以中断查询,但目前没有任何作用。
Kind: instance method of Database
Param |
---|
callback |
database.prepare(sql) ⇒ Statement
准备一个SQL查询以供执行
Kind: instance method of Database
Param |
---|
sql |
database.run(sql, …params, callback) ⇒ void
使用内置默认连接的Connection#run的便捷方法
Kind: instance method of Database
Param | Type |
---|---|
sql | |
…params | \* |
callback |
database.scanArrowIpc(sql, …params, callback) ⇒ void
使用内置默认连接的Connection#scanArrowIpc的便捷方法
Kind: instance method of Database
Param | Type |
---|---|
sql | |
…params | \* |
callback |
database.each(sql, …params, callback) ⇒ void
Kind: instance method of Database
Param | Type |
---|---|
sql | |
…params | \* |
callback |
database.stream(sql, …params)
Kind: instance method of Database
Param | Type |
---|---|
sql | |
…params | \* |
database.all(sql, …params, callback) ⇒ void
使用内置默认连接的Connection#apply的便捷方法
Kind: instance method of Database
Param | Type |
---|---|
sql | |
…params | \* |
callback |
database.arrowIPCAll(sql, …params, callback) ⇒ void
使用内置默认连接的Connection#arrowIPCAll的便捷方法
Kind: instance method of Database
Param | Type |
---|---|
sql | |
…params | \* |
callback |
database.arrowIPCStream(sql, …params, callback) ⇒ void
使用内置默认连接的Connection#arrowIPCStream的便捷方法
Kind: instance method of Database
Param | Type |
---|---|
sql | |
…params | \* |
callback |
database.exec(sql, …params, callback) ⇒ void
Kind: instance method of Database
Param | Type |
---|---|
sql | |
…params | \* |
callback |
database.register_udf(name, return_type, fun) ⇒ this
注册一个用户自定义函数
Connection#register_udf 的便捷方法
Kind: instance method of Database
Param |
---|
name |
return_type |
fun |
database.register_buffer(name) ⇒ this
注册一个包含序列化数据的缓冲区,以便从DuckDB中进行扫描。
Connection#unregister_buffer 的便捷方法
Kind: instance method of Database
Param |
---|
name |
database.unregister_buffer(name) ⇒ this
注销一个缓冲区
Connection#unregister_buffer 的便捷方法
Kind: instance method of Database
Param |
---|
name |
database.unregister_udf(name) ⇒ this
注销一个UDF
Connection#unregister_udf 的便捷方法
Kind: instance method of Database
Param |
---|
name |
database.registerReplacementScan(fun) ⇒ this
注册一个表替换扫描函数
Kind: instance method of Database
Param | Description |
---|---|
fun | 替换扫描函数 |
database.tokenize(text) ⇒ ScriptTokens
返回给定文本中标记的位置和类型
Kind: instance method of Database
Param |
---|
文本 |
database.get()
未实现
类型: Database
的实例方法
duckdb~TokenType
由tokenize
返回的令牌类型。
类型: duckdb
的内部属性
duckdb~错误 : number
检查errno属性是否等于此值以检查duckdb错误
类型: duckdb
的内部常量
duckdb~OPEN_READONLY : number
以只读模式打开数据库
类型: duckdb
的内部常量
duckdb~OPEN_READWRITE : number
当前已忽略
类型: duckdb
的内部常量
duckdb~OPEN_CREATE : number
当前已忽略
类型: duckdb
的内部常量
duckdb~OPEN_FULLMUTEX : number
目前被忽略
Kind: inner constant of duckdb
duckdb~OPEN_SHAREDCACHE : number
目前被忽略
Kind: inner constant of duckdb
duckdb~OPEN_PRIVATECACHE : number
当前已忽略
Kind: inner constant of duckdb
ColumnInfo : object
类型: 全局类型定义
属性
Name | Type | Description |
---|---|---|
name | string |
列名 |
type | TypeInfo |
列类型 |
类型信息 : object
类型: 全局类型定义
属性
Name | Type | Description |
---|---|---|
id | string |
类型ID |
[alias] | string |
SQL 类型别名 |
sql_type | string |
SQL 类型名称 |
DuckDbError : object
类型: 全局类型定义
属性
Name | Type | Description |
---|---|---|
errno | number |
-1 表示 DuckDB 错误 |
message | string |
错误信息 |
code | string |
'DUCKDB_NODEJS_ERROR' 用于 DuckDB 错误 |
errorType | string |
DuckDB 错误类型代码(例如,HTTP、IO、Catalog) |
HTTP错误 : object
类型: 全局类型定义
继承: DuckDbError
属性
Name | Type | Description |
---|---|---|
statusCode | number |
HTTP响应状态码 |
reason | string |
HTTP响应原因 |
response | string |
HTTP响应体 |
headers | object |
HTTP 头部 |