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 基类实现。
Derived 应该重写并实现 Impl 方法,但不能实现其他方法。 重写的方法应该最后调用超类版本。(提供了 Base typedef 来简化此操作。)Derived 还应该定义一个名为 kErrorPrefix 的 constexpr 静态符号,该符号用于构造错误消息。
|
strong |
是否启用自动提交(默认情况下:启用)。
|
inline |
提交当前事务并开始新事务。
仅当禁用自动提交时才调用。
|
inline |
查询数据库目录。
默认实现假定底层数据库允许以某种方式查询目录,该方式体现在此处返回的 helper 类中。 如果数据库可以直接实现 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 重新实现。