ADBC
Arrow 数据库连接
加载中...
搜索中...
无匹配项
分区结果

结构体  AdbcPartitions
 分布式/分区结果集的分区。更多...
 

函数

AdbcStatusCode AdbcStatementExecutePartitions (struct AdbcStatement *statement, struct ArrowSchema *schema, struct AdbcPartitions *partitions, int64_t *rows_affected, struct AdbcError *error)
 执行语句并将结果作为分区结果集获取。
 

详细描述

某些后端可能在内部对结果进行分区。这些分区暴露给客户端,客户端可能希望将它们与线程或分布式执行模型集成,其中分区可以在线程或机器之间划分并并行获取。

要使用分区,请使用 AdbcStatementExecutePartitions 执行语句以获取分区描述符。调用 AdbcConnectionReadPartition 将各个描述符转换为 ArrowArrayStream 实例。这可以在与创建分区的连接不同的连接上完成,甚至可以在另一台机器上的不同进程中完成。

驱动程序不需要支持分区。


类文档

◆ AdbcPartitions

结构体 AdbcPartitions

分布式/分区结果集的分区。

公共属性

size_t num_partitions
 分区数。
 
const uint8_t ** partitions
 结果集的分区,其中每个条目(最多 num_partitions 个条目)是一个不透明标识符,可以传递给 AdbcConnectionReadPartition。
 
const size_t * partition_lengths
 partitions 中每个对应条目的长度。
 
void * private_data
 不透明的实现定义状态。仅当连接未初始化/释放时,此字段才为 NULLPTR。
 
void(* release )(struct AdbcPartitions *partitions)
 释放包含的分区。
 

成员数据文档

◆ num_partitions

size_t AdbcPartitions::num_partitions

分区数。

◆ partition_lengths

const size_t* AdbcPartitions::partition_lengths

partitions 中每个对应条目的长度。

◆ partitions

const uint8_t** AdbcPartitions::partitions

结果集的分区,其中每个条目(最多 num_partitions 个条目)是一个不透明标识符,可以传递给 AdbcConnectionReadPartition。

◆ private_data

void* AdbcPartitions::private_data

不透明的实现定义状态。仅当连接未初始化/释放时,此字段才为 NULLPTR。

◆ release

void(* AdbcPartitions::release) (struct AdbcPartitions *partitions)

释放包含的分区。

与其他结构不同,这是一个嵌入式回调,使驱动程序管理器和驱动程序更容易协作。

函数文档

◆ AdbcStatementExecutePartitions()

AdbcStatusCode AdbcStatementExecutePartitions ( struct AdbcStatement * statement,
struct ArrowSchema * schema,
struct AdbcPartitions * partitions,
int64_t * rows_affected,
struct AdbcError * error )

执行语句并将结果作为分区结果集获取。

参数
[输入]statement要执行的语句。
[输出]schema结果集的模式。
[输出]partitions结果分区。
[输出]rows_affected如果已知,则为受影响的行数,否则为 -1。如果客户端不想要此信息,则传递 NULL。
[输出]error如有必要,返回错误消息的可选位置。
返回值
如果驱动程序不支持分区结果,则返回 ADBC_STATUS_NOT_IMPLEMENTED