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)
 銷毀此資料庫。不得存在任何連線。
 

詳細描述

用戶端首先初始化資料庫,然後建立連線(如下所述)。這為實作提供了一個位置來初始化和擁有任何共用的連線狀態。例如,記憶體內資料庫可以將實際資料庫的所有權放在此物件中。


類別文件

◆ AdbcDatabase

struct AdbcDatabase

資料庫的實例。

只要存在任何連線,就必須保持存活。

公開屬性

void * private_data
 不透明的實作定義狀態。如果連線未初始化/已釋放,則此欄位為 NULLPTR。
 
struct AdbcDriverprivate_driver
 相關聯的驅動程式(由驅動程式管理器用於協助追蹤狀態)。
 

成員資料文件

◆ private_data

void* AdbcDatabase::private_data

不透明的實作定義狀態。如果連線未初始化/已釋放,則此欄位為 NULLPTR。

◆ private_driver

struct AdbcDriver* AdbcDatabase::private_driver

相關聯的驅動程式(由驅動程式管理器用於協助追蹤狀態)。

函式文件

◆ AdbcDatabaseGetOption()

AdbcStatusCode AdbcDatabaseGetOption ( struct AdbcDatabase * database,
const char * key,
char * value,
size_t * length,
struct AdbcError * error )

取得資料庫的字串選項。

這必須始終是執行緒安全的(其他操作則不然),儘管考慮到此處的語意,不建議與自身同時呼叫 GetOption。

必須提供 length,且必須是 value 指向的緩衝區的大小。如果有足夠的空間,驅動程式會將選項值(包括空字元終止符)複製到緩衝區,並將 length 設定為實際值的大小。如果緩衝區太小,則不會寫入任何資料,且 length 將設定為所需的長度。

換句話說

  • 如果輸出長度 <= 輸入長度,value 將包含長度為 length 位元組的值。
  • 如果輸出長度 > 輸入長度,則沒有任何內容寫入 value。

對於標準選項,驅動程式必須始終支援透過選項中指定的類型取得選項值(如果他們完全支援取得選項值)。(例如,透過 SetOptionDouble 設定的選項必須可透過 GetOptionDouble 取得。)如果需要,驅動程式也可以支援透過其他 getter 取得轉換後的選項值。(例如,取得倍精度浮點數選項的字串表示形式。)

ADBC API 修訂版 1.1.0
參數
[in]database資料庫。
[in]key要取得的選項。
[out]value選項值。
[in,out]lengthvalue 的長度。
[out]error如果需要,用於傳回錯誤訊息的可選位置。
傳回
如果無法識別選項,則傳回 ADBC_STATUS_NOT_FOUND。

◆ AdbcDatabaseGetOptionBytes()

AdbcStatusCode AdbcDatabaseGetOptionBytes ( struct AdbcDatabase * database,
const char * key,
uint8_t * value,
size_t * length,
struct AdbcError * error )

取得資料庫的位元組字串選項。

這必須始終是執行緒安全的(其他操作則不然),儘管考慮到此處的語意,不建議與自身同時呼叫 GetOptionBytes。

必須提供 length,且必須是 value 指向的緩衝區的大小。如果有足夠的空間,驅動程式會將選項值複製到緩衝區,並將 length 設定為實際值的大小。如果緩衝區太小,則不會寫入任何資料,且 length 將設定為所需的長度。

換句話說

  • 如果輸出長度 <= 輸入長度,value 將包含長度為 length 位元組的值。
  • 如果輸出長度 > 輸入長度,則沒有任何內容寫入 value。

對於標準選項,驅動程式必須始終支援透過選項中指定的類型取得選項值(如果他們完全支援取得選項值)。(例如,透過 SetOptionDouble 設定的選項必須可透過 GetOptionDouble 取得。)如果需要,驅動程式也可以支援透過其他 getter 取得轉換後的選項值。(例如,取得倍精度浮點數選項的字串表示形式。)

ADBC API 修訂版 1.1.0
參數
[in]database資料庫。
[in]key要取得的選項。
[out]value選項值。
[in,out]length選項值長度。
[out]error如果需要,用於傳回錯誤訊息的可選位置。
傳回
如果無法識別選項,則傳回 ADBC_STATUS_NOT_FOUND。

◆ AdbcDatabaseGetOptionDouble()

AdbcStatusCode AdbcDatabaseGetOptionDouble ( struct AdbcDatabase * database,
const char * key,
double * value,
struct AdbcError * error )

取得資料庫的倍精度浮點數選項。

這必須始終是執行緒安全的(其他操作則不然)。

對於標準選項,驅動程式必須始終支援透過選項中指定的類型取得選項值(如果他們完全支援取得選項值)。(例如,透過 SetOptionDouble 設定的選項必須可透過 GetOptionDouble 取得。)如果需要,驅動程式也可以支援透過其他 getter 取得轉換後的選項值。(例如,取得整數選項的倍精度浮點數表示形式。)

ADBC API 修訂版 1.1.0
參數
[in]database資料庫。
[in]key要取得的選項。
[out]value選項值。
[out]error如果需要,用於傳回錯誤訊息的可選位置。
傳回
如果無法識別選項,則傳回 ADBC_STATUS_NOT_FOUND。

◆ AdbcDatabaseGetOptionInt()

AdbcStatusCode AdbcDatabaseGetOptionInt ( struct AdbcDatabase * database,
const char * key,
int64_t * value,
struct AdbcError * error )

取得資料庫的整數選項。

這必須始終是執行緒安全的(其他操作則不然)。

對於標準選項,驅動程式必須始終支援透過選項中指定的類型取得選項值(如果他們完全支援取得選項值)。(例如,透過 SetOptionDouble 設定的選項必須可透過 GetOptionDouble 取得。)如果需要,驅動程式也可以支援透過其他 getter 取得轉換後的選項值。(例如,取得倍精度浮點數選項的整數表示形式。)

ADBC API 修訂版 1.1.0
參數
[in]database資料庫。
[in]key要取得的選項。
[out]value選項值。
[out]error如果需要,用於傳回錯誤訊息的可選位置。
傳回
如果無法識別選項,則傳回 ADBC_STATUS_NOT_FOUND。

◆ AdbcDatabaseInit()

AdbcStatusCode AdbcDatabaseInit ( struct AdbcDatabase * database,
struct AdbcError * error )

完成設定選項並初始化資料庫。

某些驅動程式也可能支援在初始化後設定選項。

◆ AdbcDatabaseNew()

AdbcStatusCode AdbcDatabaseNew ( struct AdbcDatabase * database,
struct AdbcError * error )

配置一個新的(但未初始化的)資料庫。

呼叫者傳入零初始化的 AdbcDatabase

驅動程式應配置其內部資料結構,並設定 private_data 欄位以指向新配置的結構。當呼叫 AdbcDatabaseRelease 時,應釋放此結構。

◆ AdbcDatabaseRelease()

AdbcStatusCode AdbcDatabaseRelease ( struct AdbcDatabase * database,
struct AdbcError * error )

銷毀此資料庫。不得存在任何連線。

參數
[in]database要釋放的資料庫。
[out]error如果需要,用於傳回錯誤訊息的可選位置。

◆ AdbcDatabaseSetOption()

AdbcStatusCode AdbcDatabaseSetOption ( struct AdbcDatabase * database,
const char * key,
const char * value,
struct AdbcError * error )

設定 char* 選項。

選項可以在 AdbcDatabaseInit 之前設定。某些驅動程式也可能支援在初始化後設定選項。

參數
[in]database資料庫。
[in]key要設定的選項。
[in]value選項值。
[out]error如果需要,用於傳回錯誤訊息的可選位置。
傳回
如果無法識別選項,則傳回 ADBC_STATUS_NOT_IMPLEMENTED

◆ AdbcDatabaseSetOptionBytes()

AdbcStatusCode AdbcDatabaseSetOptionBytes ( struct AdbcDatabase * database,
const char * key,
const uint8_t * value,
size_t length,
struct AdbcError * error )

在資料庫上設定位元組字串選項。

ADBC API 修訂版 1.1.0
參數
[in]database資料庫。
[in]key要設定的選項。
[in]value選項值。
[in]length選項值長度。
[out]error如果需要,用於傳回錯誤訊息的可選位置。
傳回
如果無法識別選項,則傳回 ADBC_STATUS_NOT_IMPLEMENTED

◆ AdbcDatabaseSetOptionDouble()

AdbcStatusCode AdbcDatabaseSetOptionDouble ( struct AdbcDatabase * database,
const char * key,
double value,
struct AdbcError * error )

在資料庫上設定倍精度浮點數選項。

ADBC API 修訂版 1.1.0
參數
[in]database資料庫。
[in]key要設定的選項。
[in]value選項值。
[out]error如果需要,用於傳回錯誤訊息的可選位置。
傳回
如果無法識別選項,則傳回 ADBC_STATUS_NOT_IMPLEMENTED

◆ AdbcDatabaseSetOptionInt()

AdbcStatusCode AdbcDatabaseSetOptionInt ( struct AdbcDatabase * database,
const char * key,
int64_t value,
struct AdbcError * error )

在資料庫上設定整數選項。

ADBC API 修訂版 1.1.0
參數
[in]database資料庫。
[in]key要設定的選項。
[in]value選項值。
[out]error如果需要,用於傳回錯誤訊息的可選位置。
傳回
如果無法識別選項,則傳回 ADBC_STATUS_NOT_IMPLEMENTED