⌘+k ctrl+k
1.3 (稳定版)
搜索快捷键 cmd + k | ctrl + k
Node.js API

模块 (Modules)

duckdb

类型定义 (Typedefs)

ColumnInfo : object
TypeInfo : object
DuckDbError : object
HTTPError : object

duckdb

摘要 (Summary): DuckDB 是一个可嵌入的 SQL OLAP 数据库管理系统

duckdb~Connection (连接)

类型 (Kind): duckdb 的内部类

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

关闭数据库实例

类型 (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 标头