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 實例。這可以在與建立分割區的連線不同的連線上完成,甚至可以在另一部機器上的不同程序中完成。

驅動程式不一定需要支援分割。


類別文件

◆ AdbcPartitions

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)
 釋放包含的分割區。
 

成員資料文件

◆ 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 )

執行陳述式並取得分割結果集。

參數
[in]statement要執行的陳述式。
[out]schema結果集的綱要。
[out]partitions結果分割區。
[out]rows_affected如果已知受影響的列數,則為該數字,否則為 -1。如果客戶端不需要此資訊,請傳遞 NULL。
[out]error如果需要,用於返回錯誤訊息的可選位置。
返回值
如果驅動程式不支援分割結果,則返回 ADBC_STATUS_NOT_IMPLEMENTED