ADBC
Arrow 数据库连接
加载中...
搜索中...
无匹配项
adbc::driver::Statement< Derived > 类模板参考

Statement 的基类实现。更多...

#include <statement.h>

adbc::driver::Statement< Derived > 的继承关系图
adbc::driver::BaseStatement< Derived > adbc::driver::ObjectBase

结构体  EmptyState
 Statement 状态:初始化为未设置查询。更多...
 
结构体  IngestState
 Statement 状态:批量导入。更多...
 
结构体  PreparedState
 Statement 状态:预处理语句。更多...
 
结构体  QueryState
 Statement 状态:即席查询。更多...
 

公共类型

枚举类  TableDoesNotExist { kCreate , kFail }
 在导入时,如果表不存在,该怎么办。更多...
 
枚举类  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 >
枚举类 adbc::driver::Statement::TableDoesNotExist
**说明**

在导入时,如果表不存在,该怎么办。

◆ TableExists

template<typename Derived >
枚举类 adbc::driver::Statement::TableExists
**说明**

在导入时,如果表已存在,该怎么办。

成员函数文档

◆ Init()

template<typename Derived >
AdbcStatusCode adbc::driver::Statement< Derived >::Init ( void * parent,
AdbcError * *error )
内联虚函数

初始化对象。

在调用 0 次或多次 SetOption 后调用。通常情况下,您不需要直接重写此函数。可以使用由 Database/Connection/Statement 提供的类型化 InitImpl。

参数
[in]parent指向 AdbcDatabaseAdbcConnection 实现的指针(如果适用),或者为 nullptr。

重载自 adbc::driver::BaseStatement< Derived >

◆ Release()

template<typename Derived >
Adbc状态码 adbc::driver::Statement< Derived >::Release ( AdbcError * 错误)
内联虚函数

终结化对象。

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

通常,您无需直接覆盖此方法。 而是使用数据库/连接/语句提供的类型化 ReleaseImpl。

重载自 adbc::driver::BaseStatement< Derived >

◆ SetOption()

template<typename Derived >
Adbc状态码 adbc::driver::Statement< Derived >::SetOption ( std::string_view ,
选项 ,
AdbcError * *error )
内联虚函数

设置选项值。

重载自 adbc::driver::BaseStatement< Derived >

◆ SetOptionImpl()

template<typename Derived >
状态 adbc::driver::Statement< Derived >::SetOptionImpl ( std::string_view ,
选项  )
内联虚函数

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

重载自 adbc::driver::BaseStatement< Derived >


此类的文档是从以下文件生成的