ADBC
Arrow 資料庫連線能力
|
AdbcConnection 的 CRTP 基礎實作。 更多資訊...
#include <connection.h>
公用型別 | |
enum class | AutocommitState { kAutocommit , kTransaction } |
是否啟用自動提交 (預設:啟用)。 更多資訊... | |
using | Base = Connection<Derived> |
公用成員函式 | |
AdbcStatusCode | Init (void *parent, AdbcError *error) override |
初始化物件。 | |
AdbcStatusCode | Cancel (AdbcError *error) |
AdbcStatusCode | Commit (AdbcError *error) |
AdbcStatusCode | GetInfo (const uint32_t *info_codes, size_t info_codes_length, ArrowArrayStream *out, AdbcError *error) |
AdbcStatusCode | GetObjects (int c_depth, const char *catalog, const char *db_schema, const char *table_name, const char **table_type, const char *column_name, ArrowArrayStream *out, AdbcError *error) |
Result< Option > | GetOption (std::string_view key) override |
取得選項值。 | |
AdbcStatusCode | GetStatistics (const char *catalog, const char *db_schema, const char *table_name, char approximate, ArrowArrayStream *out, AdbcError *error) |
AdbcStatusCode | GetStatisticNames (ArrowArrayStream *out, AdbcError *error) |
AdbcStatusCode | GetTableSchema (const char *catalog, const char *db_schema, const char *table_name, ArrowSchema *schema, AdbcError *error) |
AdbcStatusCode | GetTableTypes (ArrowArrayStream *out, AdbcError *error) |
AdbcStatusCode | ReadPartition (const uint8_t *serialized_partition, size_t serialized_length, ArrowArrayStream *out, AdbcError *error) |
AdbcStatusCode | Release (AdbcError *error) override |
完成物件。 | |
AdbcStatusCode | Rollback (AdbcError *error) |
AdbcStatusCode | SetOption (std::string_view key, Option value, AdbcError *error) override |
設定選項值。 | |
Status | CommitImpl () |
提交目前的交易並開始新的交易。 | |
Result< std::optional< std::string > > | GetCurrentCatalogImpl () |
Result< std::optional< std::string > > | GetCurrentSchemaImpl () |
Result< std::unique_ptr< GetObjectsHelper > > | GetObjectsImpl () |
查詢資料庫目錄。 | |
Status | GetTableSchemaImpl (std::optional< std::string_view > catalog, std::optional< std::string_view > db_schema, std::string_view table_name, ArrowSchema *schema) |
Result< std::vector< std::string > > | GetTableTypesImpl () |
Result< std::vector< InfoValue > > | InfoImpl (const std::vector< uint32_t > &codes) |
Status | InitImpl (void *parent) |
Status | ReleaseImpl () |
Status | RollbackImpl () |
Status | SetOptionImpl (std::string_view key, Option value) |
Status | ToggleAutocommitImpl (bool enable_autocommit) |
保護屬性 | |
AutocommitState | autocommit_ = AutocommitState::kAutocommit |
![]() | |
LifecycleState | lifecycle_state_ |
私有成員函式 | |
Derived & | impl () |
AdbcConnection 的 CRTP 基礎實作。
衍生類別應覆寫並實作 Impl 方法,但其他方法則否。覆寫的方法應在最後委派給超類別版本 (提供 Base typedef 以簡化此操作)。衍生類別也應定義一個名為 kErrorPrefix 的 constexpr 靜態符號,用於建構錯誤訊息。
|
strong |
是否啟用自動提交 (預設:啟用)。
|
inline |
提交目前的交易並開始新的交易。
僅在停用自動提交時呼叫。
|
inline |
查詢資料庫目錄。
預設實作假設底層資料庫允許以某種方式查詢目錄,這體現在此處傳回的輔助類別中。如果資料庫可以直接實作 GetObjects,則直接覆寫 GetObjects,而不是使用此輔助類別。
|
inlineoverridevirtual |
取得選項值。
從 adbc::driver::ObjectBase 重新實作。
|
inlineoverridevirtual |
初始化物件。
在 0 個或多個 SetOption 呼叫之後呼叫。一般而言,您不需要直接覆寫此方法。而是使用由 Database/Connection/Statement 提供的類型化 InitImpl。
[in] | parent | 指向 AdbcDatabase 或 AdbcConnection 實作的指標 (視情況而定),或 nullptr。 |
從 adbc::driver::ObjectBase 重新實作。
|
inlineoverridevirtual |
完成物件。
如果物件未處於有效狀態 (例如,防止關閉具有開啟語句的連線),則可以使用此方法傳回錯誤;或者在資源清理可能失敗時清理資源。萬無一失的資源清理 (例如,釋放記憶體) 通常應在解構函式中處理。
一般而言,您不需要直接覆寫此方法。而是使用由 Database/Connection/Statement 提供的類型化 ReleaseImpl。
從 adbc::driver::ObjectBase 重新實作。
|
inlineoverridevirtual |
設定選項值。
從 adbc::driver::ObjectBase 重新實作。