ADBC
Arrow 資料庫連線能力
|
類別 | |
struct | AdbcDatabase |
資料庫的實例。 更多資訊... | |
函式 | |
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) |
取得資料庫的倍精度浮點數選項。 | |
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) |
在資料庫上設定倍精度浮點數選項。 | |
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) |
銷毀此資料庫。不得存在任何連線。 | |
用戶端首先初始化資料庫,然後建立連線(如下所述)。這為實作提供了一個位置來初始化和擁有任何共用的連線狀態。例如,記憶體內資料庫可以將實際資料庫的所有權放在此物件中。
struct AdbcDatabase |
資料庫的實例。
只要存在任何連線,就必須保持存活。
公開屬性 | |
void * | private_data |
不透明的實作定義狀態。如果連線未初始化/已釋放,則此欄位為 NULLPTR。 | |
struct AdbcDriver * | private_driver |
相關聯的驅動程式(由驅動程式管理器用於協助追蹤狀態)。 | |
void* AdbcDatabase::private_data |
不透明的實作定義狀態。如果連線未初始化/已釋放,則此欄位為 NULLPTR。
struct AdbcDriver* AdbcDatabase::private_driver |
相關聯的驅動程式(由驅動程式管理器用於協助追蹤狀態)。
AdbcStatusCode AdbcDatabaseGetOption | ( | struct AdbcDatabase * | database, |
const char * | key, | ||
char * | value, | ||
size_t * | length, | ||
struct AdbcError * | error ) |
取得資料庫的字串選項。
這必須始終是執行緒安全的(其他操作則不然),儘管考慮到此處的語意,不建議與自身同時呼叫 GetOption。
必須提供 length,且必須是 value 指向的緩衝區的大小。如果有足夠的空間,驅動程式會將選項值(包括空字元終止符)複製到緩衝區,並將 length 設定為實際值的大小。如果緩衝區太小,則不會寫入任何資料,且 length 將設定為所需的長度。
換句話說
對於標準選項,驅動程式必須始終支援透過選項中指定的類型取得選項值(如果他們完全支援取得選項值)。(例如,透過 SetOptionDouble 設定的選項必須可透過 GetOptionDouble 取得。)如果需要,驅動程式也可以支援透過其他 getter 取得轉換後的選項值。(例如,取得倍精度浮點數選項的字串表示形式。)
[in] | database | 資料庫。 |
[in] | key | 要取得的選項。 |
[out] | value | 選項值。 |
[in,out] | length | value 的長度。 |
[out] | error | 如果需要,用於傳回錯誤訊息的可選位置。 |
AdbcStatusCode AdbcDatabaseGetOptionBytes | ( | struct AdbcDatabase * | database, |
const char * | key, | ||
uint8_t * | value, | ||
size_t * | length, | ||
struct AdbcError * | error ) |
取得資料庫的位元組字串選項。
這必須始終是執行緒安全的(其他操作則不然),儘管考慮到此處的語意,不建議與自身同時呼叫 GetOptionBytes。
必須提供 length,且必須是 value 指向的緩衝區的大小。如果有足夠的空間,驅動程式會將選項值複製到緩衝區,並將 length 設定為實際值的大小。如果緩衝區太小,則不會寫入任何資料,且 length 將設定為所需的長度。
換句話說
對於標準選項,驅動程式必須始終支援透過選項中指定的類型取得選項值(如果他們完全支援取得選項值)。(例如,透過 SetOptionDouble 設定的選項必須可透過 GetOptionDouble 取得。)如果需要,驅動程式也可以支援透過其他 getter 取得轉換後的選項值。(例如,取得倍精度浮點數選項的字串表示形式。)
[in] | database | 資料庫。 |
[in] | key | 要取得的選項。 |
[out] | value | 選項值。 |
[in,out] | length | 選項值長度。 |
[out] | error | 如果需要,用於傳回錯誤訊息的可選位置。 |
AdbcStatusCode AdbcDatabaseGetOptionDouble | ( | struct AdbcDatabase * | database, |
const char * | key, | ||
double * | value, | ||
struct AdbcError * | error ) |
取得資料庫的倍精度浮點數選項。
這必須始終是執行緒安全的(其他操作則不然)。
對於標準選項,驅動程式必須始終支援透過選項中指定的類型取得選項值(如果他們完全支援取得選項值)。(例如,透過 SetOptionDouble 設定的選項必須可透過 GetOptionDouble 取得。)如果需要,驅動程式也可以支援透過其他 getter 取得轉換後的選項值。(例如,取得整數選項的倍精度浮點數表示形式。)
[in] | database | 資料庫。 |
[in] | key | 要取得的選項。 |
[out] | value | 選項值。 |
[out] | error | 如果需要,用於傳回錯誤訊息的可選位置。 |
AdbcStatusCode AdbcDatabaseGetOptionInt | ( | struct AdbcDatabase * | database, |
const char * | key, | ||
int64_t * | value, | ||
struct AdbcError * | error ) |
取得資料庫的整數選項。
這必須始終是執行緒安全的(其他操作則不然)。
對於標準選項,驅動程式必須始終支援透過選項中指定的類型取得選項值(如果他們完全支援取得選項值)。(例如,透過 SetOptionDouble 設定的選項必須可透過 GetOptionDouble 取得。)如果需要,驅動程式也可以支援透過其他 getter 取得轉換後的選項值。(例如,取得倍精度浮點數選項的整數表示形式。)
[in] | database | 資料庫。 |
[in] | key | 要取得的選項。 |
[out] | value | 選項值。 |
[out] | error | 如果需要,用於傳回錯誤訊息的可選位置。 |
AdbcStatusCode AdbcDatabaseInit | ( | struct AdbcDatabase * | database, |
struct AdbcError * | error ) |
完成設定選項並初始化資料庫。
某些驅動程式也可能支援在初始化後設定選項。
AdbcStatusCode AdbcDatabaseNew | ( | struct AdbcDatabase * | database, |
struct AdbcError * | error ) |
配置一個新的(但未初始化的)資料庫。
呼叫者傳入零初始化的 AdbcDatabase。
驅動程式應配置其內部資料結構,並設定 private_data 欄位以指向新配置的結構。當呼叫 AdbcDatabaseRelease 時,應釋放此結構。
AdbcStatusCode AdbcDatabaseRelease | ( | struct AdbcDatabase * | database, |
struct AdbcError * | error ) |
銷毀此資料庫。不得存在任何連線。
[in] | database | 要釋放的資料庫。 |
[out] | error | 如果需要,用於傳回錯誤訊息的可選位置。 |
AdbcStatusCode AdbcDatabaseSetOption | ( | struct AdbcDatabase * | database, |
const char * | key, | ||
const char * | value, | ||
struct AdbcError * | error ) |
設定 char* 選項。
選項可以在 AdbcDatabaseInit 之前設定。某些驅動程式也可能支援在初始化後設定選項。
[in] | database | 資料庫。 |
[in] | key | 要設定的選項。 |
[in] | value | 選項值。 |
[out] | error | 如果需要,用於傳回錯誤訊息的可選位置。 |
AdbcStatusCode AdbcDatabaseSetOptionBytes | ( | struct AdbcDatabase * | database, |
const char * | key, | ||
const uint8_t * | value, | ||
size_t | length, | ||
struct AdbcError * | error ) |
在資料庫上設定位元組字串選項。
[in] | database | 資料庫。 |
[in] | key | 要設定的選項。 |
[in] | value | 選項值。 |
[in] | length | 選項值長度。 |
[out] | error | 如果需要,用於傳回錯誤訊息的可選位置。 |
AdbcStatusCode AdbcDatabaseSetOptionDouble | ( | struct AdbcDatabase * | database, |
const char * | key, | ||
double | value, | ||
struct AdbcError * | error ) |
在資料庫上設定倍精度浮點數選項。
[in] | database | 資料庫。 |
[in] | key | 要設定的選項。 |
[in] | value | 選項值。 |
[out] | error | 如果需要,用於傳回錯誤訊息的可選位置。 |
AdbcStatusCode AdbcDatabaseSetOptionInt | ( | struct AdbcDatabase * | database, |
const char * | key, | ||
int64_t | value, | ||
struct AdbcError * | error ) |
在資料庫上設定整數選項。
[in] | database | 資料庫。 |
[in] | key | 要設定的選項。 |
[in] | value | 選項值。 |
[out] | error | 如果需要,用於傳回錯誤訊息的可選位置。 |