ADBC
Arrow 資料庫連線能力
載入中...
搜尋中...
無符合項目
adbc::driver::Connection< Derived > 類別範本參考

AdbcConnection 的 CRTP 基礎實作。 更多資訊...

#include <connection.h>

adbc::driver::Connection< Derived > 的繼承圖
adbc::driver::ObjectBase

公用型別

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< OptionGetOption (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
 
- 繼承自 adbc::driver::ObjectBase 的保護屬性
LifecycleState lifecycle_state_
 

私有成員函式

Derived & impl ()
 

詳細描述

template<typename Derived>
class adbc::driver::Connection< Derived >

AdbcConnection 的 CRTP 基礎實作。

衍生類別應覆寫並實作 Impl 方法,但其他方法則否。覆寫的方法應在最後委派給超類別版本 (提供 Base typedef 以簡化此操作)。衍生類別也應定義一個名為 kErrorPrefix 的 constexpr 靜態符號,用於建構錯誤訊息。

成員列舉文件

◆ AutocommitState

template<typename Derived >
enum class adbc::driver::Connection::AutocommitState
strong

是否啟用自動提交 (預設:啟用)。

成員函式文件

◆ CommitImpl()

template<typename Derived >
Status adbc::driver::Connection< Derived >::CommitImpl ( )
inline

提交目前的交易並開始新的交易。

僅在停用自動提交時呼叫。

◆ GetObjectsImpl()

template<typename Derived >
Result< std::unique_ptr< GetObjectsHelper > > adbc::driver::Connection< Derived >::GetObjectsImpl ( )
inline

查詢資料庫目錄。

預設實作假設底層資料庫允許以某種方式查詢目錄,這體現在此處傳回的輔助類別中。如果資料庫可以直接實作 GetObjects,則直接覆寫 GetObjects,而不是使用此輔助類別。

◆ GetOption()

template<typename Derived >
Result< Option > adbc::driver::Connection< Derived >::GetOption ( std::string_view key)
inlineoverridevirtual

取得選項值。

adbc::driver::ObjectBase 重新實作。

◆ Init()

template<typename Derived >
AdbcStatusCode adbc::driver::Connection< Derived >::Init ( void * parent,
AdbcError * error )
inlineoverridevirtual

初始化物件。

在 0 個或多個 SetOption 呼叫之後呼叫。一般而言,您不需要直接覆寫此方法。而是使用由 Database/Connection/Statement 提供的類型化 InitImpl。

參數
[in]parent指向 AdbcDatabaseAdbcConnection 實作的指標 (視情況而定),或 nullptr。

adbc::driver::ObjectBase 重新實作。

◆ Release()

template<typename Derived >
AdbcStatusCode adbc::driver::Connection< Derived >::Release ( AdbcError * error)
inlineoverridevirtual

完成物件。

如果物件未處於有效狀態 (例如,防止關閉具有開啟語句的連線),則可以使用此方法傳回錯誤;或者在資源清理可能失敗時清理資源。萬無一失的資源清理 (例如,釋放記憶體) 通常應在解構函式中處理。

一般而言,您不需要直接覆寫此方法。而是使用由 Database/Connection/Statement 提供的類型化 ReleaseImpl。

adbc::driver::ObjectBase 重新實作。

◆ SetOption()

template<typename Derived >
AdbcStatusCode adbc::driver::Connection< Derived >::SetOption ( std::string_view key,
Option value,
AdbcError * error )
inlineoverridevirtual

設定選項值。

adbc::driver::ObjectBase 重新實作。


此類別的文件是從以下檔案產生: