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 > | remarks |
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 表示。
创建一个表类型的 ArrowArrayStream 表示,该表示可用于实现AdbcConnectionGetTableTypes()。调用者负责在成功时释放 out。