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

statement 的基本實作。更多...

#include <statement.h>

adbc::driver::Statement< Derived > 的繼承圖
adbc::driver::BaseStatement< Derived > adbc::driver::ObjectBase

類別

struct  EmptyState
 Statement 狀態:初始化時未設定查詢。更多...
 
struct  IngestState
 Statement 狀態:大量資料擷取。更多...
 
struct  PreparedState
 Statement 狀態:預備語句。更多...
 
struct  QueryState
 Statement 狀態:隨選查詢。更多...
 

公用型別

enum class  TableDoesNotExist { kCreate , kFail }
 當表格不存在於資料擷取中時,該怎麼做。更多...
 
enum class  TableExists { kAppend , kFail , kReplace }
 當表格已存在於資料擷取中時,該怎麼做。更多...
 
using Base = Statement<Derived>
 
using State = std::variant<EmptyState, IngestState, PreparedState, QueryState>
 Statement 狀態:以上其中之一。
 
- 繼承自 adbc::driver::BaseStatement< Derived > 的公用型別
using Base = BaseStatement<Derived>
 

公用成員函式

AdbcStatusCode Bind (ArrowArray *values, ArrowSchema *schema, AdbcError *error)
 
AdbcStatusCode BindStream (ArrowArrayStream *stream, AdbcError *error)
 
AdbcStatusCode Cancel (AdbcError *error)
 
AdbcStatusCode ExecutePartitions (struct ArrowSchema *schema, struct AdbcPartitions *partitions, int64_t *rows_affected, AdbcError *error)
 
AdbcStatusCode ExecuteQuery (ArrowArrayStream *stream, int64_t *rows_affected, AdbcError *error)
 
AdbcStatusCode ExecuteSchema (ArrowSchema *schema, AdbcError *error)
 
AdbcStatusCode GetParameterSchema (struct ArrowSchema *schema, struct AdbcError *error)
 
AdbcStatusCode Init (void *parent, AdbcError *error)
 初始化物件。
 
AdbcStatusCode Prepare (AdbcError *error)
 
AdbcStatusCode Release (AdbcError *error)
 終止物件。
 
AdbcStatusCode SetOption (std::string_view key, Option value, AdbcError *error)
 設定選項值。
 
AdbcStatusCode SetSqlQuery (const char *query, AdbcError *error)
 
AdbcStatusCode SetSubstraitPlan (const uint8_t *plan, size_t length, AdbcError *error)
 
Result< int64_t > ExecuteIngestImpl (IngestState &state)
 
Result< int64_t > ExecuteQueryImpl (PreparedState &state, ArrowArrayStream *stream)
 
Result< int64_t > ExecuteQueryImpl (QueryState &state, ArrowArrayStream *stream)
 
Result< int64_t > ExecuteUpdateImpl (PreparedState &state)
 
Result< int64_t > ExecuteUpdateImpl (QueryState &state)
 
Status GetParameterSchemaImpl (PreparedState &state, ArrowSchema *schema)
 
Status InitImpl (void *parent)
 
Status PrepareImpl (QueryState &state)
 
Status ReleaseImpl ()
 
Status SetOptionImpl (std::string_view key, Option value)
 設定選項。可能在 InitImpl 之前呼叫。
 
- 繼承自 adbc::driver::BaseStatement< Derived > 的公用成員函式
Status InitImpl (void *parent)
 初始化 statement。
 
Status ReleaseImpl ()
 
AdbcStatusCode ExecuteQuery (ArrowArrayStream *stream, int64_t *rows_affected, AdbcError *error)
 
Result< int64_t > ExecuteQueryImpl (ArrowArrayStream *stream)
 
AdbcStatusCode ExecuteSchema (ArrowSchema *schema, AdbcError *error)
 
Status ExecuteSchemaImpl (ArrowSchema *schema)
 
AdbcStatusCode Prepare (AdbcError *error)
 
Status PrepareImpl ()
 
AdbcStatusCode SetSqlQuery (const char *query, AdbcError *error)
 
Status SetSqlQueryImpl (std::string_view query)
 
AdbcStatusCode SetSubstraitPlan (const uint8_t *plan, size_t length, AdbcError *error)
 
Status SetSubstraitPlanImpl (std::string_view plan)
 
AdbcStatusCode Bind (ArrowArray *values, ArrowSchema *schema, AdbcError *error)
 
Status BindImpl (ArrowArray *values, ArrowSchema *schema)
 
AdbcStatusCode BindStream (ArrowArrayStream *stream, AdbcError *error)
 
Status BindStreamImpl (ArrowArrayStream *stream)
 
AdbcStatusCode GetParameterSchema (ArrowSchema *schema, AdbcError *error)
 
Status GetParameterSchemaImpl (struct ArrowSchema *schema)
 
AdbcStatusCode ExecutePartitions (ArrowSchema *schema, AdbcPartitions *partitions, int64_t *rows_affected, AdbcError *error)
 
AdbcStatusCode Cancel (AdbcError *error)
 
Status Cancel ()
 
- 繼承自 adbc::driver::ObjectBase 的公用成員函式
virtual Result< OptionGetOption (std::string_view key)
 取得選項值。
 

保護的屬性

ArrowArrayStream bind_parameters_
 
- 繼承自 adbc::driver::ObjectBase 的保護的屬性
LifecycleState lifecycle_state_
 

私有成員函式

Derived & impl ()
 

私有屬性

State state_ = State(EmptyState{})
 

詳細描述

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

statement 的基本實作。

成員型別定義文件

◆ State

template<typename Derived >
using adbc::driver::Statement< Derived >::State = std::variant<EmptyState, IngestState, PreparedState, QueryState>

Statement 狀態:以上其中之一。

成員列舉文件

◆ TableDoesNotExist

template<typename Derived >
enum class adbc::driver::Statement::TableDoesNotExist
strong

當表格不存在於資料擷取中時,該怎麼做。

◆ TableExists

template<typename Derived >
enum class adbc::driver::Statement::TableExists
strong

當表格已存在於資料擷取中時,該怎麼做。

成員函式文件

◆ Init()

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

初始化物件。

在 0 個或多個 SetOption 呼叫之後呼叫。一般來說,您不需要直接覆寫此函式。請改為使用由 Database/Connection/Statement 提供的型別化 InitImpl。

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

adbc::driver::BaseStatement< Derived > 重新實作。

◆ Release()

template<typename Derived >
AdbcStatusCode adbc::driver::Statement< Derived >::Release ( AdbcError * error)
inlinevirtual

終止物件。

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

一般來說,您不需要直接覆寫此函式。請改為使用由 Database/Connection/Statement 提供的型別化 ReleaseImpl。

adbc::driver::BaseStatement< Derived > 重新實作。

◆ SetOption()

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

設定選項值。

adbc::driver::BaseStatement< Derived > 重新實作。

◆ SetOptionImpl()

template<typename Derived >
Status adbc::driver::Statement< Derived >::SetOptionImpl ( std::string_view key,
Option value )
inlinevirtual

設定選項。可能在 InitImpl 之前呼叫。

adbc::driver::BaseStatement< Derived > 重新實作。


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