ADBC
Arrow 数据库连接性
|
类 | |
struct | adbc::driver::GetObjectsHelper |
用于实现 GetObjects 的助手。 更多... | |
struct | adbc::driver::GetObjectsHelper::Table |
struct | adbc::driver::GetObjectsHelper::ColumnXdbc |
struct | adbc::driver::GetObjectsHelper::Column |
struct | adbc::driver::GetObjectsHelper::ConstraintUsage |
struct | adbc::driver::GetObjectsHelper::Constraint |
struct | adbc::driver::InfoValue |
从 AdbcConnectionGetInfo() 返回的数组中单个项目的表示。 更多... | |
枚举 | |
enum class | adbc::driver::GetObjectsDepth { kCatalogs , kSchemas , kTables , kColumns } |
GetObjects 级别。 更多... | |
函数 | |
Status | adbc::driver::MakeGetObjectsSchema (ArrowSchema *schema) |
为 AdbcConnectionGetObjects() 创建 ArrowSchema。 | |
Status | adbc::driver::GetObjectsHelper::Close () |
virtual Status | adbc::driver::GetObjectsHelper::Load (GetObjectsDepth depth, std::optional< std::string_view > catalog_filter, std::optional< std::string_view > schema_filter, std::optional< std::string_view > table_filter, std::optional< std::string_view > column_filter, const std::vector< std::string_view > &table_types) |
获取所有需要的元数据。驱动程序可以自由延迟加载,但这使其有机会预先加载数据。 | |
virtual Status | adbc::driver::GetObjectsHelper::LoadCatalogs (std::optional< std::string_view > catalog_filter) |
virtual Result< std::optional< std::string_view > > | adbc::driver::GetObjectsHelper::NextCatalog () |
virtual Status | adbc::driver::GetObjectsHelper::LoadSchemas (std::string_view catalog, std::optional< std::string_view > schema_filter) |
virtual Result< std::optional< std::string_view > > | adbc::driver::GetObjectsHelper::NextSchema () |
virtual Status | adbc::driver::GetObjectsHelper::LoadTables (std::string_view catalog, std::string_view schema, std::optional< std::string_view > table_filter, const std::vector< std::string_view > &table_types) |
virtual Result< std::optional< Table > > | adbc::driver::GetObjectsHelper::NextTable () |
virtual Status | adbc::driver::GetObjectsHelper::LoadColumns (std::string_view catalog, std::string_view schema, std::string_view table, std::optional< std::string_view > column_filter) |
virtual Result< std::optional< Column > > | adbc::driver::GetObjectsHelper::NextColumn () |
virtual Result< std::optional< Constraint > > | adbc::driver::GetObjectsHelper::NextConstraint () |
Status | adbc::driver::BuildGetObjects (GetObjectsHelper *helper, GetObjectsDepth depth, std::optional< std::string_view > catalog_filter, std::optional< std::string_view > schema_filter, std::optional< std::string_view > table_filter, std::optional< std::string_view > column_filter, const std::vector< std::string_view > &table_types, ArrowArrayStream *out) |
一个实现 GetObjects 的助手。 out/helper 的生命周期由调用者管理。 | |
void | adbc::driver::MakeEmptyStream (ArrowSchema *schema, ArrowArrayStream *out) |
从给定的 ArrowSchema 创建一个具有零批次的 ArrowArrayStream。 | |
void | adbc::driver::MakeArrayStream (ArrowSchema *schema, ArrowArray *array, ArrowArrayStream *out) |
从给定的 ArrowSchema 和 ArrowArray 创建一个 ArrowArrayStream。 | |
Status | adbc::driver::MakeTableTypesStream (const std::vector< std::string > &table_types, ArrowArrayStream *out) |
创建一个表类型向量的 ArrowArrayStream 表示形式。 | |
Status | adbc::driver::MakeGetInfoStream (const std::vector< InfoValue > &infos, ArrowArrayStream *out) |
创建一个要从 AdbcConnectionGetInfo() 返回的 ArrowArrayStream。 | |
变量 | |
std::string_view | adbc::driver::GetObjectsHelper::Table::name |
std::string_view | adbc::driver::GetObjectsHelper::Table::type |
std::optional< int16_t > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_data_type |
std::optional< std::string_view > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_type_name |
std::optional< int32_t > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_column_size |
std::optional< int16_t > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_decimal_digits |
std::optional< int16_t > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_num_prec_radix |
std::optional< int16_t > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_nullable |
std::optional< std::string_view > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_column_def |
std::optional< int16_t > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_sql_data_type |
std::optional< int16_t > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_datetime_sub |
std::optional< int32_t > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_char_octet_length |
std::optional< std::string_view > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_is_nullable |
std::optional< std::string_view > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_scope_catalog |
std::optional< std::string_view > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_scope_schema |
std::optional< std::string_view > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_scope_table |
std::optional< bool > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_is_autoincrement |
std::optional< bool > | adbc::driver::GetObjectsHelper::ColumnXdbc::xdbc_is_generatedcolumn |
std::string_view | adbc::driver::GetObjectsHelper::Column::column_name |
int32_t | adbc::driver::GetObjectsHelper::Column::ordinal_position |
std::optional< std::string_view > | adbc::driver::GetObjectsHelper::Column::remarks |
std::optional< ColumnXdbc > | adbc::driver::GetObjectsHelper::Column::xdbc |
std::optional< std::string_view > | adbc::driver::GetObjectsHelper::ConstraintUsage::catalog |
std::optional< std::string_view > | adbc::driver::GetObjectsHelper::ConstraintUsage::schema |
std::string_view | adbc::driver::GetObjectsHelper::ConstraintUsage::table |
std::string_view | adbc::driver::GetObjectsHelper::ConstraintUsage::column |
std::optional< std::string_view > | adbc::driver::GetObjectsHelper::Constraint::name |
std::string_view | adbc::driver::GetObjectsHelper::Constraint::type |
std::vector< std::string_view > | adbc::driver::GetObjectsHelper::Constraint::column_names |
std::optional< std::vector< ConstraintUsage > > | adbc::driver::GetObjectsHelper::Constraint::usage |
用于实现目录/元数据相关功能的实用程序。
struct adbc::driver::GetObjectsHelper |
用于实现 GetObjects 的助手。
驱动程序可以在特定于驱动程序的类中实现 GetObjectsHelper 的方法,以获得符合 AdbcConnectionGetObjects() 的实现。
公共成员函数 | |
Status | 关闭 () |
virtual Status | 加载 (GetObjectsDepth depth, std::optional< std::string_view > catalog_filter, std::optional< std::string_view > schema_filter, std::optional< std::string_view > table_filter, std::optional< std::string_view > column_filter, const std::vector< std::string_view > &table_types) |
获取所有需要的元数据。驱动程序可以自由延迟加载,但这使其有机会预先加载数据。 | |
virtual Status | LoadCatalogs (std::optional< std::string_view > catalog_filter) |
virtual Result< std::optional< std::string_view > > | NextCatalog () |
virtual Status | LoadSchemas (std::string_view catalog, std::optional< std::string_view > schema_filter) |
virtual Result< std::optional< std::string_view > > | NextSchema () |
virtual Status | LoadTables (std::string_view catalog, std::string_view schema, std::optional< std::string_view > table_filter, const std::vector< std::string_view > &table_types) |
virtual Result< std::optional< Table > > | NextTable () |
virtual Status | LoadColumns (std::string_view catalog, std::string_view schema, std::string_view table, std::optional< std::string_view > column_filter) |
virtual Result< std::optional< Column > > | NextColumn () |
virtual Result< std::optional< Constraint > > | NextConstraint () |
struct adbc::driver::GetObjectsHelper::Table |
公共属性 | |
std::string_view | name |
std::string_view | type |
struct adbc::driver::GetObjectsHelper::ColumnXdbc |
公共属性 | |
std::optional< int16_t > | xdbc_data_type |
std::optional< std::string_view > | xdbc_type_name |
std::optional< int32_t > | xdbc_column_size |
std::optional< int16_t > | xdbc_decimal_digits |
std::optional< int16_t > | xdbc_num_prec_radix |
std::optional< int16_t > | xdbc_nullable |
std::optional< std::string_view > | xdbc_column_def |
std::optional< int16_t > | xdbc_sql_data_type |
std::optional< int16_t > | xdbc_datetime_sub |
std::optional< int32_t > | xdbc_char_octet_length |
std::optional< std::string_view > | xdbc_is_nullable |
std::optional< std::string_view > | xdbc_scope_catalog |
std::optional< std::string_view > | xdbc_scope_schema |
std::optional< std::string_view > | xdbc_scope_table |
std::optional< bool > | xdbc_is_autoincrement |
std::optional< bool > | xdbc_is_generatedcolumn |
struct adbc::driver::GetObjectsHelper::Column |
公共属性 | |
std::string_view | column_name |
int32_t | ordinal_position |
std::optional< std::string_view > | 备注 |
std::optional< ColumnXdbc > | xdbc |
struct adbc::driver::GetObjectsHelper::ConstraintUsage |
公共属性 | |
std::optional< std::string_view > | catalog |
std::optional< std::string_view > | schema |
std::string_view | table |
std::string_view | column |
struct adbc::driver::GetObjectsHelper::Constraint |
公共属性 | |
std::optional< std::string_view > | name |
std::string_view | type |
std::vector< std::string_view > | column_names |
std::optional< std::vector< ConstraintUsage > > | usage |
struct adbc::driver::InfoValue |
表示从 AdbcConnectionGetInfo() 返回的数组中的单个项目。
公共成员函数 | |
InfoValue (uint32_t code, std::variant< std::string, int64_t > value) | |
InfoValue (uint32_t code, const char *value) | |
公共属性 | |
uint32_t | code |
std::variant< std::string, int64_t > | value |
|
strong |
GetObjects 级别。
Status adbc::driver::BuildGetObjects | ( | GetObjectsHelper * | helper, |
GetObjectsDepth | depth, | ||
std::optional< std::string_view > | catalog_filter, | ||
std::optional< std::string_view > | schema_filter, | ||
std::optional< std::string_view > | table_filter, | ||
std::optional< std::string_view > | column_filter, | ||
const std::vector< std::string_view > & | table_types, | ||
ArrowArrayStream * | out ) |
一个实现 GetObjects 的助手。 out/helper 的生命周期由调用者管理。
|
inlinevirtual |
获取所有需要的元数据。驱动程序可以自由延迟加载,但这使其有机会预先加载数据。
void adbc::driver::MakeArrayStream | ( | ArrowSchema * | schema, |
ArrowArray * | array, | ||
ArrowArrayStream * | out ) |
从给定的 ArrowSchema 和 ArrowArray 创建一个 ArrowArrayStream。
如果数组的长度为零,则生成的 ArrowArrayStream 将包含零批次,如果数组的长度非零,则只包含一个批次。 此函数获取 schema 和 array 的所有权;调用者负责释放 out。
void adbc::driver::MakeEmptyStream | ( | ArrowSchema * | schema, |
ArrowArrayStream * | out ) |
从给定的 ArrowSchema 创建一个具有零批次的 ArrowArrayStream。
此函数获取 schema 的所有权;调用者负责释放 out。
Status adbc::driver::MakeGetInfoStream | ( | const std::vector< InfoValue > & | infos, |
ArrowArrayStream * | out ) |
创建一个要从 AdbcConnectionGetInfo() 返回的 ArrowArrayStream。
调用者负责在成功时释放 out。
Status adbc::driver::MakeGetObjectsSchema | ( | ArrowSchema * | schema | ) |
为 AdbcConnectionGetObjects() 创建 ArrowSchema。
Status adbc::driver::MakeTableTypesStream | ( | const std::vector< std::string > & | table_types, |
ArrowArrayStream * | out ) |
创建一个表类型向量的 ArrowArrayStream 表示形式。
创建可用于实现 AdbcConnectionGetTableTypes() 的表类型数组的 ArrowArrayStream 表示。 调用者负责在成功时释放 out。