ADBC
Arrow 資料庫連線能力
|
類別 | |
struct | AdbcPartitions |
分散式/分割結果集的分割區。更多資訊... | |
函式 | |
AdbcStatusCode | AdbcStatementExecutePartitions (struct AdbcStatement *statement, struct ArrowSchema *schema, struct AdbcPartitions *partitions, int64_t *rows_affected, struct AdbcError *error) |
執行陳述式並取得分割結果集。 | |
某些後端可能會在內部分割結果。這些分割區會公開給客戶端,客戶端可能希望將它們與多執行緒或分散式執行模型整合,在這種模型中,分割區可以在執行緒或機器之間劃分並平行擷取。
要使用分割,請使用 AdbcStatementExecutePartitions 執行陳述式以取得分割區描述符。呼叫 AdbcConnectionReadPartition 將個別描述符轉換為 ArrowArrayStream 實例。這可以在與建立分割區的連線不同的連線上完成,甚至可以在另一部機器上的不同程序中完成。
驅動程式不一定需要支援分割。
struct 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 ) |
執行陳述式並取得分割結果集。
[in] | statement | 要執行的陳述式。 |
[out] | schema | 結果集的綱要。 |
[out] | partitions | 結果分割區。 |
[out] | rows_affected | 如果已知受影響的列數,則為該數字,否則為 -1。如果客戶端不需要此資訊,請傳遞 NULL。 |
[out] | error | 如果需要,用於返回錯誤訊息的可選位置。 |