ADBC
Arrow 資料庫連線能力
|
#include <stddef.h>
#include <stdint.h>
類別 | |
struct | AdbcError |
操作的詳細錯誤訊息。 更多... | |
struct | AdbcErrorDetail |
錯誤的額外鍵值 metadata。 更多... | |
struct | AdbcDatabase |
資料庫的實例。 更多... | |
struct | AdbcConnection |
活動的資料庫連線。 更多... | |
struct | AdbcStatement |
執行資料庫查詢所需的所有狀態容器,例如查詢本身、預備語句的參數、驅動程式參數等。 更多... | |
struct | AdbcPartitions |
分散式/分區結果集的分區。 更多... | |
struct | AdbcDriver |
已初始化的資料庫驅動程式實例。 更多... | |
巨集 | |
#define | ADBC_STATUS_OK 0 |
沒有錯誤。 | |
#define | ADBC_STATUS_UNKNOWN 1 |
發生未知錯誤。 | |
#define | ADBC_STATUS_NOT_IMPLEMENTED 2 |
操作未實作或不支援。 | |
#define | ADBC_STATUS_NOT_FOUND 3 |
請求的資源未找到。 | |
#define | ADBC_STATUS_ALREADY_EXISTS 4 |
請求的資源已存在。 | |
#define | ADBC_STATUS_INVALID_ARGUMENT 5 |
引數無效,可能是程式設計錯誤。 | |
#define | ADBC_STATUS_INVALID_STATE 6 |
不符合操作的前提條件,可能是程式設計錯誤。 | |
#define | ADBC_STATUS_INVALID_DATA 7 |
處理了無效資料(非程式設計錯誤)。 | |
#define | ADBC_STATUS_INTEGRITY 8 |
資料庫的完整性受到影響。 | |
#define | ADBC_STATUS_INTERNAL 9 |
驅動程式或資料庫內部發生錯誤。 | |
#define | ADBC_STATUS_IO 10 |
發生 I/O 錯誤。 | |
#define | ADBC_STATUS_CANCELLED 11 |
操作已取消,並非由於逾時。 | |
#define | ADBC_STATUS_TIMEOUT 12 |
操作由於逾時而取消。 | |
#define | ADBC_STATUS_UNAUTHENTICATED 13 |
驗證失敗。 | |
#define | ADBC_STATUS_UNAUTHORIZED 14 |
用戶端未經授權執行給定的操作。 | |
#define | ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA INT32_MIN |
通知驅動程式/驅動程式管理器,我們正在使用來自 ADBC 1.1.0 的擴充 AdbcError 結構。 | |
#define | ADBC_ERROR_INIT |
用於初始化完整 AdbcError 結構的輔助工具。 | |
#define | ADBC_ERROR_1_0_0_SIZE (offsetof(struct AdbcError, private_data)) |
ADBC 1.0.0 中 AdbcError 結構的大小。 | |
#define | ADBC_ERROR_1_1_0_SIZE (sizeof(struct AdbcError)) |
ADBC 1.1.0 中 AdbcError 結構的大小。 | |
#define | ADBC_VERSION_1_0_0 1000000 |
ADBC 修訂版 1.0.0。 | |
#define | ADBC_VERSION_1_1_0 1001000 |
ADBC 修訂版 1.1.0。 | |
#define | ADBC_OPTION_VALUE_ENABLED "true" |
用於啟用選項的標準選項值。 | |
#define | ADBC_OPTION_VALUE_DISABLED "false" |
用於停用選項的標準選項值。 | |
#define | ADBC_OPTION_URI "uri" |
URI 的標準選項名稱。 | |
#define | ADBC_OPTION_USERNAME "username" |
使用者名稱的標準選項名稱。 | |
#define | ADBC_OPTION_PASSWORD "password" |
密碼的標準選項名稱。 | |
#define | ADBC_INFO_VENDOR_NAME 0 |
資料庫供應商/產品名稱(例如伺服器名稱)。(類型:utf8)。 | |
#define | ADBC_INFO_VENDOR_VERSION 1 |
資料庫供應商/產品版本(類型:utf8)。 | |
#define | ADBC_INFO_VENDOR_ARROW_VERSION 2 |
資料庫供應商/產品 Arrow 函式庫版本(類型:utf8)。 | |
#define | ADBC_INFO_VENDOR_SQL 3 |
指示是否支援 SQL 查詢(類型:bool)。 | |
#define | ADBC_INFO_VENDOR_SUBSTRAIT 4 |
指示是否支援 Substrait 查詢(類型:bool)。 | |
#define | ADBC_INFO_VENDOR_SUBSTRAIT_MIN_VERSION 5 |
最小支援的 Substrait 版本,如果未支援 Substrait,則為 null(類型:utf8)。 | |
#define | ADBC_INFO_VENDOR_SUBSTRAIT_MAX_VERSION 6 |
最大支援的 Substrait 版本,如果未支援 Substrait,則為 null(類型:utf8)。 | |
#define | ADBC_INFO_DRIVER_NAME 100 |
驅動程式名稱(類型:utf8)。 | |
#define | ADBC_INFO_DRIVER_VERSION 101 |
驅動程式版本(類型:utf8)。 | |
#define | ADBC_INFO_DRIVER_ARROW_VERSION 102 |
驅動程式 Arrow 函式庫版本(類型:utf8)。 | |
#define | ADBC_INFO_DRIVER_ADBC_VERSION 103 |
驅動程式 ADBC API 版本(類型:int64)。 | |
#define | ADBC_OBJECT_DEPTH_ALL 0 |
傳回關於目錄、結構描述、表格和欄位的 metadata。 | |
#define | ADBC_OBJECT_DEPTH_CATALOGS 1 |
僅傳回關於目錄的 metadata。 | |
#define | ADBC_OBJECT_DEPTH_DB_SCHEMAS 2 |
傳回關於目錄和結構描述的 metadata。 | |
#define | ADBC_OBJECT_DEPTH_TABLES 3 |
傳回關於目錄、結構描述和表格的 metadata。 | |
#define | ADBC_OBJECT_DEPTH_COLUMNS ADBC_OBJECT_DEPTH_ALL |
傳回關於目錄、結構描述、表格和欄位的 metadata。 | |
#define | ADBC_STATISTIC_AVERAGE_BYTE_WIDTH_KEY 0 |
平均位元組寬度統計資訊的字典編碼名稱。 | |
#define | ADBC_STATISTIC_AVERAGE_BYTE_WIDTH_NAME "adbc.statistic.byte_width" |
平均位元組寬度統計資訊。欄位中一列的平均大小(以位元組為單位)。值類型為 float64。 | |
#define | ADBC_STATISTIC_DISTINCT_COUNT_KEY 1 |
相異值計數統計資訊的字典編碼名稱。 | |
#define | ADBC_STATISTIC_DISTINCT_COUNT_NAME "adbc.statistic.distinct_count" |
相異值計數 (NDV) 統計資訊。欄位中相異值的數量。值類型為 int64(非近似值時)或 float64(近似值時)。 | |
#define | ADBC_STATISTIC_MAX_BYTE_WIDTH_KEY 2 |
最大位元組寬度統計資訊的字典編碼名稱。 | |
#define | ADBC_STATISTIC_MAX_BYTE_WIDTH_NAME "adbc.statistic.max_byte_width" |
最大位元組寬度統計資訊。欄位中一列的最大大小(以位元組為單位)。值類型為 int64(非近似值時)或 float64(近似值時)。 | |
#define | ADBC_STATISTIC_MAX_VALUE_KEY 3 |
最大值統計資訊的字典編碼名稱。 | |
#define | ADBC_STATISTIC_MAX_VALUE_NAME "adbc.statistic.max_value" |
最大值統計資訊。值類型取決於欄位。 | |
#define | ADBC_STATISTIC_MIN_VALUE_KEY 4 |
最小值統計資訊的字典編碼名稱。 | |
#define | ADBC_STATISTIC_MIN_VALUE_NAME "adbc.statistic.min_value" |
最小值統計資訊。值類型取決於欄位。 | |
#define | ADBC_STATISTIC_NULL_COUNT_KEY 5 |
空值計數統計資訊的字典編碼名稱。 | |
#define | ADBC_STATISTIC_NULL_COUNT_NAME "adbc.statistic.null_count" |
空值計數統計資訊。欄位中空值的數量。值類型為 int64(非近似值時)或 float64(近似值時)。 | |
#define | ADBC_STATISTIC_ROW_COUNT_KEY 6 |
列計數統計資訊的字典編碼名稱。 | |
#define | ADBC_STATISTIC_ROW_COUNT_NAME "adbc.statistic.row_count" |
列計數統計資訊。欄位或表格中的列數。值類型為 int64(非近似值時)或 float64(近似值時)。 | |
#define | ADBC_CONNECTION_OPTION_AUTOCOMMIT "adbc.connection.autocommit" |
用於指示是否啟用自動提交的標準選項名稱。 | |
#define | ADBC_CONNECTION_OPTION_READ_ONLY "adbc.connection.readonly" |
用於指示目前連線是否應限制為唯讀的標準選項名稱。 | |
#define | ADBC_CONNECTION_OPTION_CURRENT_CATALOG "adbc.connection.catalog" |
用於目前目錄的標準選項名稱。 | |
#define | ADBC_CONNECTION_OPTION_CURRENT_DB_SCHEMA "adbc.connection.db_schema" |
用於目前結構描述的標準選項名稱。 | |
#define | ADBC_STATEMENT_OPTION_INCREMENTAL "adbc.statement.exec.incremental" |
用於使查詢執行成為非阻擋的標準選項名稱。 | |
#define | ADBC_STATEMENT_OPTION_PROGRESS "adbc.statement.exec.progress" |
用於取得查詢進度的選項名稱。 | |
#define | ADBC_STATEMENT_OPTION_MAX_PROGRESS "adbc.statement.exec.max_progress" |
用於取得查詢最大進度的選項名稱。 | |
#define | ADBC_CONNECTION_OPTION_ISOLATION_LEVEL "adbc.connection.transaction.isolation_level" |
用於設定交易隔離等級的標準選項名稱。 | |
#define | ADBC_OPTION_ISOLATION_LEVEL_DEFAULT "adbc.connection.transaction.isolation.default" |
使用資料庫或驅動程式預設隔離等級。 | |
#define | ADBC_OPTION_ISOLATION_LEVEL_READ_UNCOMMITTED "adbc.connection.transaction.isolation.read_uncommitted" |
最低隔離等級。允許髒讀,因此一個交易可能會看到其他交易尚未提交的變更。 | |
#define | ADBC_OPTION_ISOLATION_LEVEL_READ_COMMITTED "adbc.connection.transaction.isolation.read_committed" |
基於鎖的並行控制將寫入鎖保留到交易結束,但讀取鎖會在執行 SELECT 後立即釋放。在此隔離等級中可能會發生不可重複讀取。 | |
#define | ADBC_OPTION_ISOLATION_LEVEL_REPEATABLE_READ "adbc.connection.transaction.isolation.repeatable_read" |
基於鎖的並行控制將讀取鎖和寫入鎖(在選取資料時取得)都保留到交易結束。 | |
#define | ADBC_OPTION_ISOLATION_LEVEL_SNAPSHOT "adbc.connection.transaction.isolation.snapshot" |
此隔離保證交易中的所有讀取都將看到資料庫的一致快照,並且只有在自該快照以來沒有任何更新與任何並行更新衝突時,交易才能成功提交。 | |
#define | ADBC_OPTION_ISOLATION_LEVEL_SERIALIZABLE "adbc.connection.transaction.isolation.serializable" |
可序列化要求讀取鎖和寫入鎖僅在交易結束時釋放。這包括在 select 查詢使用範圍 WHERE 子句以避免幻讀時取得範圍鎖。 | |
#define | ADBC_OPTION_ISOLATION_LEVEL_LINEARIZABLE "adbc.connection.transaction.isolation.linearizable" |
可序列化和線性化之間的核心區別在於,可序列化是全域屬性;是操作和交易的整個歷史記錄的屬性。線性化是區域屬性;是單個操作/交易的屬性。 | |
#define | ADBC_INGEST_OPTION_TARGET_TABLE "adbc.ingest.target_table" |
大量插入的目標表格名稱。 | |
#define | ADBC_INGEST_OPTION_MODE "adbc.ingest.mode" |
是否建立(預設)或附加。 | |
#define | ADBC_INGEST_OPTION_MODE_CREATE "adbc.ingest.mode.create" |
建立表格並插入資料;如果表格存在則產生錯誤。 | |
#define | ADBC_INGEST_OPTION_MODE_APPEND "adbc.ingest.mode.append" |
不建立表格,並插入資料;如果表格不存在 (ADBC_STATUS_NOT_FOUND) 或與要附加的資料的結構描述不符 (ADBC_STATUS_ALREADY_EXISTS) 則產生錯誤。 | |
#define | ADBC_INGEST_OPTION_MODE_REPLACE "adbc.ingest.mode.replace" |
建立表格並插入資料;如果原始表格已存在則捨棄。 | |
#define | ADBC_INGEST_OPTION_MODE_CREATE_APPEND "adbc.ingest.mode.create_append" |
插入資料;如果表格不存在則建立表格,如果表格存在但結構描述與要附加的資料的結構描述不符 (ADBC_STATUS_ALREADY_EXISTS) 則產生錯誤。 | |
#define | ADBC_INGEST_OPTION_TARGET_CATALOG "adbc.ingest.target_catalog" |
用於大量插入的表格目錄。 | |
#define | ADBC_INGEST_OPTION_TARGET_DB_SCHEMA "adbc.ingest.target_db_schema" |
用於大量插入的表格結構描述。 | |
#define | ADBC_INGEST_OPTION_TEMPORARY "adbc.ingest.temporary" |
使用暫存表格進行導入。 | |
#define | ADBC_DRIVER_1_0_0_SIZE (offsetof(struct AdbcDriver, ErrorGetDetailCount)) |
ADBC 1.0.0 中 AdbcDriver 結構的大小。為 ADBC 1.1.0 及更高版本編寫的驅動程式,在給定 ADBC_VERSION_1_0_0 時,絕不應接觸超過 AdbcDriver 結構的此部分。 | |
#define | ADBC_DRIVER_1_1_0_SIZE (sizeof(struct AdbcDriver)) |
ADBC 1.1.0 中 AdbcDriver 結構的大小。為 ADBC 1.1.0 及更高版本編寫的驅動程式,在給定 ADBC_VERSION_1_1_0 時,絕不應接觸超過 AdbcDriver 結構的此部分。 | |
類型定義 | |
typedef uint8_t | AdbcStatusCode |
可能失敗之操作的錯誤代碼。 | |
typedef AdbcStatusCode(* | AdbcDriverInitFunc) (int version, void *driver, struct AdbcError *error) |
驅動程式透過驅動程式管理器(使用 dlopen(3)/LoadLibrary)的常用進入點。驅動程式管理器被告知載入函式庫並呼叫此類型的函數以載入驅動程式。 | |
函數 | |
int | AdbcErrorGetDetailCount (const struct AdbcError *error) |
取得錯誤中可用的 metadata 值數量。 | |
struct AdbcErrorDetail | AdbcErrorGetDetail (const struct AdbcError *error, int index) |
依索引取得錯誤中的 metadata 值。 | |
const struct AdbcError * | AdbcErrorFromArrayStream (struct ArrowArrayStream *stream, AdbcStatusCode *status) |
從驅動程式建立的 ArrowArrayStream 取得 ADBC 錯誤。 | |
AdbcStatusCode | AdbcDatabaseNew (struct AdbcDatabase *database, struct AdbcError *error) |
分配新的(但未初始化的)資料庫。 | |
AdbcStatusCode | AdbcDatabaseGetOption (struct AdbcDatabase *database, const char *key, char *value, size_t *length, struct AdbcError *error) |
取得資料庫的字串選項。 | |
AdbcStatusCode | AdbcDatabaseGetOptionBytes (struct AdbcDatabase *database, const char *key, uint8_t *value, size_t *length, struct AdbcError *error) |
取得資料庫的位元組字串選項。 | |
AdbcStatusCode | AdbcDatabaseGetOptionDouble (struct AdbcDatabase *database, const char *key, double *value, struct AdbcError *error) |
取得資料庫的 double 選項。 | |
AdbcStatusCode | AdbcDatabaseGetOptionInt (struct AdbcDatabase *database, const char *key, int64_t *value, struct AdbcError *error) |
取得資料庫的整數選項。 | |
AdbcStatusCode | AdbcDatabaseSetOption (struct AdbcDatabase *database, const char *key, const char *value, struct AdbcError *error) |
設定 char* 選項。 | |
AdbcStatusCode | AdbcDatabaseSetOptionBytes (struct AdbcDatabase *database, const char *key, const uint8_t *value, size_t length, struct AdbcError *error) |
在資料庫上設定位元組字串選項。 | |
AdbcStatusCode | AdbcDatabaseSetOptionDouble (struct AdbcDatabase *database, const char *key, double value, struct AdbcError *error) |
在資料庫上設定 double 選項。 | |
AdbcStatusCode | AdbcDatabaseSetOptionInt (struct AdbcDatabase *database, const char *key, int64_t value, struct AdbcError *error) |
在資料庫上設定整數選項。 | |
AdbcStatusCode | AdbcDatabaseInit (struct AdbcDatabase *database, struct AdbcError *error) |
完成設定選項並初始化資料庫。 | |
AdbcStatusCode | AdbcDatabaseRelease (struct AdbcDatabase *database, struct AdbcError *error) |
摧毀此資料庫。不得存在任何連線。 | |
AdbcStatusCode | AdbcConnectionNew (struct AdbcConnection *connection, struct AdbcError *error) |
分配新的(但未初始化的)連線。 | |
AdbcStatusCode | AdbcConnectionSetOption (struct AdbcConnection *connection, const char *key, const char *value, struct AdbcError *error) |
設定 char* 選項。 | |
AdbcStatusCode | AdbcConnectionSetOptionBytes (struct AdbcConnection *connection, const char *key, const uint8_t *value, size_t length, struct AdbcError *error) |
在連線上設定位元組字串選項。 | |
AdbcStatusCode | AdbcConnectionSetOptionInt (struct AdbcConnection *connection, const char *key, int64_t value, struct AdbcError *error) |
設定整數選項。 | |
AdbcStatusCode | AdbcConnectionSetOptionDouble (struct AdbcConnection *connection, const char *key, double value, struct AdbcError *error) |
設定 double 選項。 | |
AdbcStatusCode | AdbcConnectionInit (struct AdbcConnection *connection, struct AdbcDatabase *database, struct AdbcError *error) |
完成設定選項並初始化連線。 | |
AdbcStatusCode | AdbcConnectionRelease (struct AdbcConnection *connection, struct AdbcError *error) |
摧毀此連線。 | |
AdbcStatusCode | AdbcConnectionCancel (struct AdbcConnection *connection, struct AdbcError *error) |
取消連線上進行中的操作。 | |
AdbcStatusCode | AdbcConnectionGetInfo (struct AdbcConnection *connection, const uint32_t *info_codes, size_t info_codes_length, struct ArrowArrayStream *out, struct AdbcError *error) |
取得關於資料庫/驅動程式的 metadata。 | |
AdbcStatusCode | AdbcConnectionGetObjects (struct AdbcConnection *connection, int depth, const char *catalog, const char *db_schema, const char *table_name, const char **table_type, const char *column_name, struct ArrowArrayStream *out, struct AdbcError *error) |
取得所有目錄、資料庫結構描述、表格和欄位的階層式檢視。 | |
AdbcStatusCode | AdbcConnectionGetOption (struct AdbcConnection *connection, const char *key, char *value, size_t *length, struct AdbcError *error) |
取得連線的字串選項。 | |
AdbcStatusCode | AdbcConnectionGetOptionBytes (struct AdbcConnection *connection, const char *key, uint8_t *value, size_t *length, struct AdbcError *error) |
取得連線的位元組字串選項。 | |
AdbcStatusCode | AdbcConnectionGetOptionInt (struct AdbcConnection *connection, const char *key, int64_t *value, struct AdbcError *error) |
取得連線的整數選項。 | |
AdbcStatusCode | AdbcConnectionGetOptionDouble (struct AdbcConnection *connection, const char *key, double *value, struct AdbcError *error) |
取得連線的 double 選項。 | |
AdbcStatusCode | AdbcConnectionGetStatistics (struct AdbcConnection *connection, const char *catalog, const char *db_schema, const char *table_name, char approximate, struct ArrowArrayStream *out, struct AdbcError *error) |
取得關於表格資料分佈的統計資訊。 | |
AdbcStatusCode | AdbcConnectionGetStatisticNames (struct AdbcConnection *connection, struct ArrowArrayStream *out, struct AdbcError *error) |
取得此驅動程式特定的統計資訊名稱。 | |
AdbcStatusCode | AdbcConnectionGetTableSchema (struct AdbcConnection *connection, const char *catalog, const char *db_schema, const char *table_name, struct ArrowSchema *schema, struct AdbcError *error) |
取得表格的 Arrow 結構描述。 | |
AdbcStatusCode | AdbcConnectionGetTableTypes (struct AdbcConnection *connection, struct ArrowArrayStream *out, struct AdbcError *error) |
取得資料庫中表格類型的清單。 | |
AdbcStatusCode | AdbcConnectionReadPartition (struct AdbcConnection *connection, const uint8_t *serialized_partition, size_t serialized_length, struct ArrowArrayStream *out, struct AdbcError *error) |
為查詢的分區建構語句。然後可以獨立讀取結果。 | |
AdbcStatusCode | AdbcConnectionCommit (struct AdbcConnection *connection, struct AdbcError *error) |
提交任何待處理的事務。僅在停用自動提交時使用。 | |
AdbcStatusCode | AdbcConnectionRollback (struct AdbcConnection *connection, struct AdbcError *error) |
回滾任何待處理的事務。僅在停用自動提交時使用。 | |
AdbcStatusCode | AdbcStatementNew (struct AdbcConnection *connection, struct AdbcStatement *statement, struct AdbcError *error) |
為給定的連線建立新語句。 | |
AdbcStatusCode | AdbcStatementRelease (struct AdbcStatement *statement, struct AdbcError *error) |
摧毀語句。 | |
AdbcStatusCode | AdbcStatementExecuteQuery (struct AdbcStatement *statement, struct ArrowArrayStream *out, int64_t *rows_affected, struct AdbcError *error) |
執行語句並取得結果。 | |
AdbcStatusCode | AdbcStatementExecuteSchema (struct AdbcStatement *statement, struct ArrowSchema *schema, struct AdbcError *error) |
取得查詢結果集的結構描述,而不執行查詢。 | |
AdbcStatusCode | AdbcStatementPrepare (struct AdbcStatement *statement, struct AdbcError *error) |
將此語句轉換為預備語句,以便多次執行。 | |
AdbcStatusCode | AdbcStatementSetSqlQuery (struct AdbcStatement *statement, const char *query, struct AdbcError *error) |
設定要執行的 SQL 查詢。 | |
AdbcStatusCode | AdbcStatementSetSubstraitPlan (struct AdbcStatement *statement, const uint8_t *plan, size_t length, struct AdbcError *error) |
設定要執行的 Substrait 計劃。 | |
AdbcStatusCode | AdbcStatementBind (struct AdbcStatement *statement, struct ArrowArray *values, struct ArrowSchema *schema, struct AdbcError *error) |
綁定 Arrow 資料。這可以用於大量插入或預備語句。 | |
AdbcStatusCode | AdbcStatementBindStream (struct AdbcStatement *statement, struct ArrowArrayStream *stream, struct AdbcError *error) |
綁定 Arrow 資料。這可以用於大量插入或預備語句。 | |
AdbcStatusCode | AdbcStatementCancel (struct AdbcStatement *statement, struct AdbcError *error) |
取消正在進行中的查詢執行。 | |
AdbcStatusCode | AdbcStatementGetOption (struct AdbcStatement *statement, const char *key, char *value, size_t *length, struct AdbcError *error) |
取得語句的字串選項。 | |
AdbcStatusCode | AdbcStatementGetOptionBytes (struct AdbcStatement *statement, const char *key, uint8_t *value, size_t *length, struct AdbcError *error) |
取得語句的位元組字串選項。 | |
AdbcStatusCode | AdbcStatementGetOptionInt (struct AdbcStatement *statement, const char *key, int64_t *value, struct AdbcError *error) |
取得語句的整數選項。 | |
AdbcStatusCode | AdbcStatementGetOptionDouble (struct AdbcStatement *statement, const char *key, double *value, struct AdbcError *error) |
取得語句的倍精度浮點數選項。 | |
AdbcStatusCode | AdbcStatementGetParameterSchema (struct AdbcStatement *statement, struct ArrowSchema *schema, struct AdbcError *error) |
取得綁定參數的綱要。 | |
AdbcStatusCode | AdbcStatementSetOption (struct AdbcStatement *statement, const char *key, const char *value, struct AdbcError *error) |
設定語句的字串選項。 | |
AdbcStatusCode | AdbcStatementSetOptionBytes (struct AdbcStatement *statement, const char *key, const uint8_t *value, size_t length, struct AdbcError *error) |
設定語句的位元組字串選項。 | |
AdbcStatusCode | AdbcStatementSetOptionInt (struct AdbcStatement *statement, const char *key, int64_t value, struct AdbcError *error) |
設定語句的整數選項。 | |
AdbcStatusCode | AdbcStatementSetOptionDouble (struct AdbcStatement *statement, const char *key, double value, struct AdbcError *error) |
設定語句的倍精度浮點數選項。 | |
AdbcStatusCode | AdbcStatementExecutePartitions (struct AdbcStatement *statement, struct ArrowSchema *schema, struct AdbcPartitions *partitions, int64_t *rows_affected, struct AdbcError *error) |
執行語句並取得分割結果集。 | |
ADBC:Arrow 資料庫連線能力
應用程式和資料庫驅動程式之間基於 Arrow 的介面。ADBC 旨在為 SQL 和基於 Substrait 的資料庫存取提供與供應商無關的 API,目標是用於分析/OLAP 用例。
此 API 旨在由驅動程式直接實作,並由客戶端應用程式直接使用。為了協助不同供應商之間的移植性,還提供了一個「驅動程式管理器」庫,它實作了相同的 API,但在內部動態載入驅動程式並適當地轉發呼叫。
ADBC 使用結構體以及對這些結構體進行操作的自由函數來建模物件。
一般來說,物件允許來自多個執行緒的序列化存取,但不允許並行存取。特定實作可能允許並行執行緒。