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< ColumnXdbcadbc::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
 

详细描述

用于实现目录/元数据相关功能的实用程序。


类文档

◆ adbc::driver::GetObjectsHelper

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 ()
 

◆ adbc::driver::GetObjectsHelper::Table

struct adbc::driver::GetObjectsHelper::Table

公共属性

std::string_view name
 
std::string_view type
 

◆ adbc::driver::GetObjectsHelper::ColumnXdbc

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
 

◆ adbc::driver::GetObjectsHelper::Column

struct adbc::driver::GetObjectsHelper::Column

公共属性

std::string_view column_name
 
int32_t ordinal_position
 
std::optional< std::string_view > remarks
 
std::optional< ColumnXdbcxdbc
 

◆ adbc::driver::GetObjectsHelper::ConstraintUsage

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
 

◆ adbc::driver::GetObjectsHelper::Constraint

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
 

◆ adbc::driver::InfoValue

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
 

枚举类型文档

◆ GetObjectsDepth

enum class adbc::driver::GetObjectsDepth
strong

GetObjects 的级别。

函数文档

◆ BuildGetObjects()

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 的生命周期由调用方管理。

◆ Load()

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 )
inlinevirtual

获取所有需要的元数据。驱动程序可以延迟加载,但这使其有机会预先加载数据。

◆ MakeArrayStream()

void adbc::driver::MakeArrayStream ( ArrowSchema * schema,
ArrowArray * array,
ArrowArrayStream * out )

从给定的 ArrowSchema 和 ArrowArray 创建 ArrowArrayStream。

如果数组长度为零,则生成的 ArrowArrayStream 将包含零批次;如果数组长度非零,则恰好包含一个批次。此函数获取 schema 和 array 的所有权;调用者负责释放 out。

◆ MakeEmptyStream()

void adbc::driver::MakeEmptyStream ( ArrowSchema * schema,
ArrowArrayStream * out )

从给定的 ArrowSchema 创建零批次的 ArrowArrayStream。

此函数获取 schema 的所有权;调用者负责释放 out。

◆ MakeGetInfoStream()

Status adbc::driver::MakeGetInfoStream ( const std::vector< InfoValue > & infos,
ArrowArrayStream * out )

创建要从 AdbcConnectionGetInfo() 返回的 ArrowArrayStream。

调用者负责在成功时释放 out。

◆ MakeGetObjectsSchema()

Status adbc::driver::MakeGetObjectsSchema ( ArrowSchema * schema)

AdbcConnectionGetObjects() 创建 ArrowSchema。

◆ MakeTableTypesStream()

Status adbc::driver::MakeTableTypesStream ( const std::vector< std::string > & table_types,
ArrowArrayStream * out )

创建表类型向量的 ArrowArrayStream 表示。

创建一个表类型的 ArrowArrayStream 表示,该表示可用于实现AdbcConnectionGetTableTypes()。调用者负责在成功时释放 out。