模块 (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 标头 |