ADBC
Arrow 数据库连接
All Classes Files Functions Variables Typedefs Enumerations Macros Modules Pages
adbc::driver::Database< Derived > 类模板参考

AdbcDatabase 的 CRTP 基类实现。 更多...

#include <database.h>

adbc::driver::Database< Derived > 的继承关系图
adbc::driver::BaseDatabase< Derived > adbc::driver::ObjectBase

公共类型

using Base = Database<Derived>
 
- 继承自 adbc::driver::BaseDatabase< Derived > 的公共类型
using Base = BaseDatabase<Derived>
 

公共成员函数

virtual Status InitImpl ()
 初始化数据库。
 
virtual Status ReleaseImpl ()
 释放数据库。
 
virtual Status SetOptionImpl (std::string_view key, Option value)
 设置一个选项。可以在 InitImpl 之前调用。
 
- 继承自 adbc::driver::BaseDatabase< Derived > 的公共成员函数
AdbcStatusCode Init (void *parent, AdbcError *error) override
 初始化对象。
 
AdbcStatusCode Release (AdbcError *error) override
 终结对象。
 
AdbcStatusCode SetOption (std::string_view key, Option value, AdbcError *error) override
 设置选项值。
 
- 继承自 adbc::driver::ObjectBase 的公共成员函数
virtual Result< OptionGetOption (std::string_view key)
 获取选项值。
 

私有成员函数

Derived & impl ()
 

附加的继承成员

- 继承自 adbc::driver::ObjectBase 的保护属性
LifecycleState lifecycle_state_
 

详细描述

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

AdbcDatabase 的 CRTP 基类实现。

Derived 应该重载并实现 Impl 方法,而不是其他方法。 重载方法应该在最后 defer 到超类版本。(提供 Base typedef 是为了更容易实现。) Derived 还应该定义一个 constexpr static 符号,名为 kErrorPrefix,用于构造错误消息。

成员函数文档

◆ InitImpl()

template<typename Derived>
virtual Status adbc::driver::Database< Derived >::InitImpl ( )
inlinevirtual

初始化数据库。

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

◆ ReleaseImpl()

template<typename Derived>
virtual Status adbc::driver::Database< Derived >::ReleaseImpl ( )
inlinevirtual

释放数据库。

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

◆ SetOptionImpl()

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

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

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


此类文档由以下文件生成