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 状态:ad-hoc 查询。 更多...
 

公共类型

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)
 初始化语句。
 
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 * 错误)
inlinevirtual

终结对象。

如果对象处于无效状态(例如,防止关闭具有打开语句的连接),或者在资源清理可能失败时清理资源,则可以使用此方法返回错误。无误的资源清理(例如,释放内存)通常应在析构函数中处理。

通常,你不需要直接重写此方法。而是使用由 Database/Connection/Statement 提供的类型化的 ReleaseImpl。

adbc::driver::BaseStatement< Derived > 重新实现。

◆ SetOption()

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

设置选项值。

adbc::driver::BaseStatement< Derived > 重新实现。

◆ SetOptionImpl()

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

设置一个选项。可以在 InitImpl 之前调用。

adbc::driver::BaseStatement< Derived > 重新实现。


此类文档由以下文件生成