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 |
分布式/分区结果集的分区。
公共属性 | |
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) |
释放包含的分区。 | |
size_t AdbcPartitions::num_partitions |
分区数。
const size_t* AdbcPartitions::partition_lengths |
partitions 中每个对应条目的长度。
const uint8_t** AdbcPartitions::partitions |
结果集的分区,其中每个条目(最多 num_partitions 个条目)是一个不透明标识符,可以传递给 AdbcConnectionReadPartition。
void* AdbcPartitions::private_data |
不透明的实现定义状态。仅当连接未初始化/释放时,此字段才为 NULLPTR。
void(* AdbcPartitions::release) (struct AdbcPartitions *partitions) |
释放包含的分区。
与其他结构不同,这是一个嵌入式回调,使驱动程序管理器和驱动程序更容易协作。
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 | 如有必要,返回错误消息的可选位置。 |