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