ADBC
Arrow 数据库连接
|
#include <stddef.h>
#include <stdint.h>
类 | |
结构体 | AdbcError |
操作的详细错误消息。 更多... | |
结构体 | AdbcErrorDetail |
错误的额外键值元数据。 更多... | |
结构体 | AdbcDatabase |
数据库实例。 更多... | |
结构体 | AdbcConnection |
活动的数据库连接。 更多... | |
结构体 | AdbcStatement |
包含执行数据库查询所需的所有状态的容器,例如查询本身、预处理语句的参数、驱动程序参数等。 更多... | |
结构体 | AdbcPartitions |
分布式/分区结果集的分区。 更多... | |
结构体 | AdbcDriver |
已初始化数据库驱动程序的实例。 更多... | |
宏 | |
#define | ADBC_STATUS_OK 0 |
无错误。 | |
#define | ADBC_STATUS_UNKNOWN 1 |
发生未知错误。 | |
#define | ADBC_STATUS_NOT_IMPLEMENTED 2 |
操作未实现或不支持。 | |
#define | ADBC_STATUS_NOT_FOUND 3 |
找不到请求的资源。 | |
#define | ADBC_STATUS_ALREADY_EXISTS 4 |
请求的资源已存在。 | |
#define | ADBC_STATUS_INVALID_ARGUMENT 5 |
参数无效,可能是编程错误。 | |
#define | ADBC_STATUS_INVALID_STATE 6 |
不满足操作的前提条件,可能是编程错误。 | |
#define | ADBC_STATUS_INVALID_DATA 7 |
处理了无效数据(不是编程错误)。 | |
#define | ADBC_STATUS_INTEGRITY 8 |
数据库的完整性受到影响。 | |
#define | ADBC_STATUS_INTERNAL 9 |
发生驱动程序或数据库内部错误。 | |
#define | ADBC_STATUS_IO 10 |
发生 I/O 错误。 | |
#define | ADBC_STATUS_CANCELLED 11 |
操作被取消,不是由于超时。 | |
#define | ADBC_STATUS_TIMEOUT 12 |
操作因超时而被取消。 | |
#define | ADBC_STATUS_UNAUTHENTICATED 13 |
身份验证失败。 | |
#define | ADBC_STATUS_UNAUTHORIZED 14 |
客户端无权执行给定操作。 | |
#define | ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA INT32_MIN |
通知驱动程序/驱动程序管理器,我们正在使用 ADBC 1.1.0 中扩展的 AdbcError 结构体。 | |
#define | ADBC_ERROR_INIT |
用于初始化完整的 AdbcError 结构体的辅助函数。 | |
#define | ADBC_ERROR_1_0_0_SIZE (offsetof(struct AdbcError, private_data)) |
ADBC 1.0.0 中 AdbcError 结构体的大小。 | |
#define | ADBC_ERROR_1_1_0_SIZE (sizeof(struct AdbcError)) |
ADBC 1.1.0 中 AdbcError 结构体的大小。 | |
#define | ADBC_VERSION_1_0_0 1000000 |
ADBC 版本 1.0.0。 | |
#define | ADBC_VERSION_1_1_0 1001000 |
ADBC 版本 1.1.0。 | |
#define | ADBC_OPTION_VALUE_ENABLED "true" |
启用选项的规范选项值。 | |
#define | ADBC_OPTION_VALUE_DISABLED "false" |
禁用选项的规范选项值。 | |
#define | ADBC_OPTION_URI "uri" |
URI 的规范选项名称。 | |
#define | ADBC_OPTION_USERNAME "username" |
用户名的规范选项名称。 | |
#define | ADBC_OPTION_PASSWORD "password" |
密码的规范选项名称。 | |
#define | ADBC_INFO_VENDOR_NAME 0 |
数据库供应商/产品名称(例如服务器名称)。(类型:utf8)。 | |
#define | ADBC_INFO_VENDOR_VERSION 1 |
数据库供应商/产品版本(类型:utf8)。 | |
#define | ADBC_INFO_VENDOR_ARROW_VERSION 2 |
数据库供应商/产品 Arrow 库版本(类型:utf8)。 | |
#define | ADBC_INFO_VENDOR_SQL 3 |
指示是否支持 SQL 查询(类型:布尔值)。 | |
#define | ADBC_INFO_VENDOR_SUBSTRAIT 4 |
指示是否支持 Substrait 查询(类型:布尔值)。 | |
#define | ADBC_INFO_VENDOR_SUBSTRAIT_MIN_VERSION 5 |
最低支持的 Substrait 版本,如果不支持 Substrait 则为 null(类型:utf8)。 | |
#define | ADBC_INFO_VENDOR_SUBSTRAIT_MAX_VERSION 6 |
最高支持的 Substrait 版本,如果不支持 Substrait 则为 null(类型:utf8)。 | |
#define | ADBC_INFO_DRIVER_NAME 100 |
驱动程序名称(类型:utf8)。 | |
#define | ADBC_INFO_DRIVER_VERSION 101 |
驱动程序版本(类型:utf8)。 | |
#define | ADBC_INFO_DRIVER_ARROW_VERSION 102 |
驱动程序 Arrow 库版本(类型:utf8)。 | |
#define | ADBC_INFO_DRIVER_ADBC_VERSION 103 |
驱动程序 ADBC API 版本(类型:int64)。 | |
#define | ADBC_OBJECT_DEPTH_ALL 0 |
返回目录、模式、表和列的元数据。 | |
#define | ADBC_OBJECT_DEPTH_CATALOGS 1 |
仅返回目录的元数据。 | |
#define | ADBC_OBJECT_DEPTH_DB_SCHEMAS 2 |
返回目录和模式的元数据。 | |
#define | ADBC_OBJECT_DEPTH_TABLES 3 |
返回目录、模式和表的元数据。 | |
#define | ADBC_OBJECT_DEPTH_COLUMNS ADBC_OBJECT_DEPTH_ALL |
返回目录、模式、表和列的元数据。 | |
#define | ADBC_STATISTIC_AVERAGE_BYTE_WIDTH_KEY 0 |
平均字节宽度统计信息的字典编码名称。 | |
#define | ADBC_STATISTIC_AVERAGE_BYTE_WIDTH_NAME "adbc.statistic.byte_width" |
平均字节宽度统计信息。列中一行的平均大小(以字节为单位)。值类型为 float64。 | |
#define | ADBC_STATISTIC_DISTINCT_COUNT_KEY 1 |
不同值计数统计信息的字典编码名称。 | |
#define | ADBC_STATISTIC_DISTINCT_COUNT_NAME "adbc.statistic.distinct_count" |
不同值计数 (NDV) 统计信息。列中不同值的个数。值类型为 int64(非近似值时)或 float64(近似值时)。 | |
#define | ADBC_STATISTIC_MAX_BYTE_WIDTH_KEY 2 |
最大字节宽度统计信息的字典编码名称。 | |
#define | ADBC_STATISTIC_MAX_BYTE_WIDTH_NAME "adbc.statistic.max_byte_width" |
最大字节宽度统计信息。列中一行的最大大小(以字节为单位)。值类型为 int64(非近似值时)或 float64(近似值时)。 | |
#define | ADBC_STATISTIC_MAX_VALUE_KEY 3 |
最大值统计信息的字典编码名称。 | |
#define | ADBC_STATISTIC_MAX_VALUE_NAME "adbc.statistic.max_value" |
最大值统计信息。值类型取决于列。 | |
#define | ADBC_STATISTIC_MIN_VALUE_KEY 4 |
最小值统计信息的字典编码名称。 | |
#define | ADBC_STATISTIC_MIN_VALUE_NAME "adbc.statistic.min_value" |
最小值统计信息。值类型取决于列。 | |
#define | ADBC_STATISTIC_NULL_COUNT_KEY 5 |
空值计数统计信息的字典编码名称。 | |
#define | ADBC_STATISTIC_NULL_COUNT_NAME "adbc.statistic.null_count" |
空值计数统计信息。列中为空的值的个数。值类型为 int64(非近似值时)或 float64(近似值时)。 | |
#define | ADBC_STATISTIC_ROW_COUNT_KEY 6 |
行计数统计信息的字典编码名称。 | |
#define | ADBC_STATISTIC_ROW_COUNT_NAME "adbc.statistic.row_count" |
行计数统计信息。列或表中的行数。值类型为 int64(非近似值时)或 float64(近似值时)。 | |
#define | ADBC_CONNECTION_OPTION_AUTOCOMMIT "adbc.connection.autocommit" |
是否启用自动提交的规范选项名称。 | |
#define | ADBC_CONNECTION_OPTION_READ_ONLY "adbc.connection.readonly" |
当前连接是否应限制为只读的规范选项名称。 | |
#define | ADBC_CONNECTION_OPTION_CURRENT_CATALOG "adbc.connection.catalog" |
当前目录的规范选项名称。 | |
#define | ADBC_CONNECTION_OPTION_CURRENT_DB_SCHEMA "adbc.connection.db_schema" |
当前模式的规范选项名称。 | |
#define | ADBC_STATEMENT_OPTION_INCREMENTAL "adbc.statement.exec.incremental" |
使查询执行非阻塞的规范选项名称。 | |
#define | ADBC_STATEMENT_OPTION_PROGRESS "adbc.statement.exec.progress" |
用于获取查询进度的选项名称。 | |
#define | ADBC_STATEMENT_OPTION_MAX_PROGRESS "adbc.statement.exec.max_progress" |
用于获取查询最大进度的选项名称。 | |
#define | ADBC_CONNECTION_OPTION_ISOLATION_LEVEL "adbc.connection.transaction.isolation_level" |
用于设置事务隔离级别的规范选项名称。 | |
#define | ADBC_OPTION_ISOLATION_LEVEL_DEFAULT "adbc.connection.transaction.isolation.default" |
使用数据库或驱动程序默认隔离级别。 | |
#define | ADBC_OPTION_ISOLATION_LEVEL_READ_UNCOMMITTED "adbc.connection.transaction.isolation.read_uncommitted" |
最低隔离级别。允许脏读,因此一个事务可能会看到其他事务尚未提交的更改。 | |
#define | ADBC_OPTION_ISOLATION_LEVEL_READ_COMMITTED "adbc.connection.transaction.isolation.read_committed" |
基于锁的并发控制将写锁保持到事务结束,但读取锁在执行 SELECT 后立即释放。在此隔离级别下可能会发生不可重复读取。 | |
#define | ADBC_OPTION_ISOLATION_LEVEL_REPEATABLE_READ "adbc.connection.transaction.isolation.repeatable_read" |
基于锁的并发控制将读取和写入锁(在选择数据时获取)保持到事务结束。 | |
#define | ADBC_OPTION_ISOLATION_LEVEL_SNAPSHOT "adbc.connection.transaction.isolation.snapshot" |
此隔离级别保证事务中的所有读取都将看到数据库的一致快照,并且只有在自该快照以来进行的任何更新均未与任何并发更新冲突的情况下,事务才应成功提交。 | |
#define | ADBC_OPTION_ISOLATION_LEVEL_SERIALIZABLE "adbc.connection.transaction.isolation.serializable" |
可串行化要求仅在事务结束时才释放读取和写入锁。这包括当选择查询使用范围 WHERE 子句以避免幻读时获取范围锁。 | |
#define | ADBC_OPTION_ISOLATION_LEVEL_LINEARIZABLE "adbc.connection.transaction.isolation.linearizable" |
可串行化和线性化之间的主要区别在于,可串行化是全局属性;整个操作和事务历史的属性。线性化是局部属性;单个操作/事务的属性。 | |
#define | ADBC_INGEST_OPTION_TARGET_TABLE "adbc.ingest.target_table" |
批量插入的目标表名称。 | |
#define | ADBC_INGEST_OPTION_MODE "adbc.ingest.mode" |
是创建(默认)还是追加。 | |
#define | ADBC_INGEST_OPTION_MODE_CREATE "adbc.ingest.mode.create" |
创建表并插入数据;如果表存在,则报错。 | |
#define | ADBC_INGEST_OPTION_MODE_APPEND "adbc.ingest.mode.append" |
不创建表,并插入数据;如果表不存在 (ADBC_STATUS_NOT_FOUND) 或与要追加的数据的模式不匹配 (ADBC_STATUS_ALREADY_EXISTS),则报错。 | |
#define | ADBC_INGEST_OPTION_MODE_REPLACE "adbc.ingest.mode.replace" |
创建表并插入数据;如果原始表已存在,则将其删除。 | |
#define | ADBC_INGEST_OPTION_MODE_CREATE_APPEND "adbc.ingest.mode.create_append" |
插入数据;如果表不存在,则创建该表,或者如果表存在但模式与要追加的数据的模式不匹配,则报错 (ADBC_STATUS_ALREADY_EXISTS)。 | |
#define | ADBC_INGEST_OPTION_TARGET_CATALOG "adbc.ingest.target_catalog" |
批量插入的表目录。 | |
#define | ADBC_INGEST_OPTION_TARGET_DB_SCHEMA "adbc.ingest.target_db_schema" |
批量插入的表模式。 | |
#define | ADBC_INGEST_OPTION_TEMPORARY "adbc.ingest.temporary" |
使用临时表进行数据加载。 | |
#define | ADBC_DRIVER_1_0_0_SIZE (offsetof(struct AdbcDriver, ErrorGetDetailCount)) |
ADBC 1.0.0 中 AdbcDriver 结构的大小。为 ADBC 1.1.0 及更高版本编写的驱动程序在给定 ADBC_VERSION_1_0_0 时,永远不应触及 AdbcDriver 结构的这一部分之外的内容。 | |
#define | ADBC_DRIVER_1_1_0_SIZE (sizeof(struct AdbcDriver)) |
ADBC 1.1.0 中 AdbcDriver 结构的大小。为 ADBC 1.1.0 及更高版本编写的驱动程序在给定 ADBC_VERSION_1_1_0 时,永远不应触及 AdbcDriver 结构的这一部分之外的内容。 | |
类型定义 | |
typedef uint8_t | AdbcStatusCode |
可能失败的操作的错误代码。 | |
typedef AdbcStatusCode(* | AdbcDriverInitFunc) (int version, void *driver, struct AdbcError *error) |
通过驱动程序管理器(使用 dlopen(3)/LoadLibrary)访问驱动程序的公共入口点。驱动程序管理器被告知加载库并调用此类型的函数以加载驱动程序。 | |
函数 | |
int | AdbcErrorGetDetailCount (const struct AdbcError *error) |
获取错误中可用的元数据值的数量。 | |
struct AdbcErrorDetail | AdbcErrorGetDetail (const struct AdbcError *error, int index) |
按索引获取错误中的元数据值。 | |
const struct AdbcError * | AdbcErrorFromArrayStream (struct ArrowArrayStream *stream, AdbcStatusCode *status) |
从驱动程序创建的 ArrowArrayStream 中获取 ADBC 错误。 | |
AdbcStatusCode | AdbcDatabaseNew (struct AdbcDatabase *database, struct AdbcError *error) |
分配一个新的(但未初始化的)数据库。 | |
AdbcStatusCode | AdbcDatabaseGetOption (struct AdbcDatabase *database, const char *key, char *value, size_t *length, struct AdbcError *error) |
获取数据库的字符串选项。 | |
AdbcStatusCode | AdbcDatabaseGetOptionBytes (struct AdbcDatabase *database, const char *key, uint8_t *value, size_t *length, struct AdbcError *error) |
获取数据库的字节串选项。 | |
AdbcStatusCode | AdbcDatabaseGetOptionDouble (struct AdbcDatabase *database, const char *key, double *value, struct AdbcError *error) |
获取数据库的双精度选项。 | |
AdbcStatusCode | AdbcDatabaseGetOptionInt (struct AdbcDatabase *database, const char *key, int64_t *value, struct AdbcError *error) |
获取数据库的整数选项。 | |
AdbcStatusCode | AdbcDatabaseSetOption (struct AdbcDatabase *database, const char *key, const char *value, struct AdbcError *error) |
设置 char* 选项。 | |
AdbcStatusCode | AdbcDatabaseSetOptionBytes (struct AdbcDatabase *database, const char *key, const uint8_t *value, size_t length, struct AdbcError *error) |
在数据库上设置字节串选项。 | |
AdbcStatusCode | AdbcDatabaseSetOptionDouble (struct AdbcDatabase *database, const char *key, double value, struct AdbcError *error) |
在数据库上设置双精度选项。 | |
AdbcStatusCode | AdbcDatabaseSetOptionInt (struct AdbcDatabase *database, const char *key, int64_t value, struct AdbcError *error) |
在数据库上设置整数选项。 | |
AdbcStatusCode | AdbcDatabaseInit (struct AdbcDatabase *database, struct AdbcError *error) |
完成设置选项并初始化数据库。 | |
AdbcStatusCode | AdbcDatabaseRelease (struct AdbcDatabase *database, struct AdbcError *error) |
销毁此数据库。不能存在任何连接。 | |
AdbcStatusCode | AdbcConnectionNew (struct AdbcConnection *connection, struct AdbcError *error) |
分配一个新的(但未初始化的)连接。 | |
AdbcStatusCode | AdbcConnectionSetOption (struct AdbcConnection *connection, const char *key, const char *value, struct AdbcError *error) |
设置 char* 选项。 | |
AdbcStatusCode | AdbcConnectionSetOptionBytes (struct AdbcConnection *connection, const char *key, const uint8_t *value, size_t length, struct AdbcError *error) |
在连接上设置字节串选项。 | |
AdbcStatusCode | AdbcConnectionSetOptionInt (struct AdbcConnection *connection, const char *key, int64_t value, struct AdbcError *error) |
设置整数选项。 | |
AdbcStatusCode | AdbcConnectionSetOptionDouble (struct AdbcConnection *connection, const char *key, double value, struct AdbcError *error) |
设置双精度选项。 | |
AdbcStatusCode | AdbcConnectionInit (struct AdbcConnection *connection, struct AdbcDatabase *database, struct AdbcError *error) |
完成设置选项并初始化连接。 | |
AdbcStatusCode | AdbcConnectionRelease (结构体 AdbcConnection *connection, 结构体 AdbcError *error) |
销毁此连接。 | |
AdbcStatusCode | AdbcConnectionCancel (结构体 AdbcConnection *connection, 结构体 AdbcError *error) |
取消连接上正在进行的操作。 | |
AdbcStatusCode | AdbcConnectionGetInfo (结构体 AdbcConnection *connection, const uint32_t *info_codes, size_t info_codes_length, 结构体 ArrowArrayStream *out, 结构体 AdbcError *error) |
获取有关数据库/驱动程序的元数据。 | |
AdbcStatusCode | AdbcConnectionGetObjects (结构体 AdbcConnection *connection, int depth, const char *catalog, const char *db_schema, const char *table_name, const char **table_type, const char *column_name, 结构体 ArrowArrayStream *out, 结构体 AdbcError *error) |
获取所有目录、数据库模式、表和列的层次结构视图。 | |
AdbcStatusCode | AdbcConnectionGetOption (结构体 AdbcConnection *connection, const char *key, char *value, size_t *length, 结构体 AdbcError *error) |
获取连接的字符串选项。 | |
AdbcStatusCode | AdbcConnectionGetOptionBytes (结构体 AdbcConnection *connection, const char *key, uint8_t *value, size_t *length, 结构体 AdbcError *error) |
获取连接的字节串选项。 | |
AdbcStatusCode | AdbcConnectionGetOptionInt (结构体 AdbcConnection *connection, const char *key, int64_t *value, 结构体 AdbcError *error) |
获取连接的整数选项。 | |
AdbcStatusCode | AdbcConnectionGetOptionDouble (结构体 AdbcConnection *connection, const char *key, double *value, 结构体 AdbcError *error) |
获取连接的双精度浮点数选项。 | |
AdbcStatusCode | AdbcConnectionGetStatistics (结构体 AdbcConnection *connection, const char *catalog, const char *db_schema, const char *table_name, char approximate, 结构体 ArrowArrayStream *out, 结构体 AdbcError *error) |
获取有关表数据分布的统计信息。 | |
AdbcStatusCode | AdbcConnectionGetStatisticNames (结构体 AdbcConnection *connection, 结构体 ArrowArrayStream *out, 结构体 AdbcError *error) |
获取此驱动程序特有的统计信息名称。 | |
AdbcStatusCode | AdbcConnectionGetTableSchema (结构体 AdbcConnection *connection, const char *catalog, const char *db_schema, const char *table_name, 结构体 ArrowSchema *schema, 结构体 AdbcError *error) |
获取表的 Arrow 模式。 | |
AdbcStatusCode | AdbcConnectionGetTableTypes (结构体 AdbcConnection *connection, 结构体 ArrowArrayStream *out, 结构体 AdbcError *error) |
获取数据库中表类型的列表。 | |
AdbcStatusCode | AdbcConnectionReadPartition (结构体 AdbcConnection *connection, const uint8_t *serialized_partition, size_t serialized_length, 结构体 ArrowArrayStream *out, 结构体 AdbcError *error) |
为查询的分区构造语句。然后可以独立读取结果。 | |
AdbcStatusCode | AdbcConnectionCommit (结构体 AdbcConnection *connection, 结构体 AdbcError *error) |
提交所有待处理的事务。仅在禁用自动提交时使用。 | |
AdbcStatusCode | AdbcConnectionRollback (结构体 AdbcConnection *connection, 结构体 AdbcError *error) |
回滚所有待处理的事务。仅在禁用自动提交时使用。 | |
AdbcStatusCode | AdbcStatementNew (结构体 AdbcConnection *connection, 结构体 AdbcStatement *statement, 结构体 AdbcError *error) |
为给定连接创建新语句。 | |
AdbcStatusCode | AdbcStatementRelease (结构体 AdbcStatement *statement, 结构体 AdbcError *error) |
销毁语句。 | |
AdbcStatusCode | AdbcStatementExecuteQuery (结构体 AdbcStatement *statement, 结构体 ArrowArrayStream *out, int64_t *rows_affected, 结构体 AdbcError *error) |
执行语句并获取结果。 | |
AdbcStatusCode | AdbcStatementExecuteSchema (结构体 AdbcStatement *statement, 结构体 ArrowSchema *schema, 结构体 AdbcError *error) |
在不执行查询的情况下获取查询结果集的模式。 | |
AdbcStatusCode | AdbcStatementPrepare (结构体 AdbcStatement *statement, 结构体 AdbcError *error) |
将此语句转换为预处理语句以便多次执行。 | |
AdbcStatusCode | AdbcStatementSetSqlQuery (结构体 AdbcStatement *statement, const char *query, 结构体 AdbcError *error) |
设置要执行的 SQL 查询。 | |
AdbcStatusCode | AdbcStatementSetSubstraitPlan (结构体 AdbcStatement *statement, const uint8_t *plan, size_t length, 结构体 AdbcError *error) |
设置要执行的 Substrait 计划。 | |
AdbcStatusCode | AdbcStatementBind (结构体 AdbcStatement *statement, 结构体 ArrowArray *values, 结构体 ArrowSchema *schema, 结构体 AdbcError *error) |
绑定 Arrow 数据。这可以用于批量插入或预处理语句。 | |
AdbcStatusCode | AdbcStatementBindStream (结构体 AdbcStatement *statement, 结构体 ArrowArrayStream *stream, 结构体 AdbcError *error) |
绑定 Arrow 数据。这可以用于批量插入或预处理语句。 | |
AdbcStatusCode | AdbcStatementCancel (结构体 AdbcStatement *statement, 结构体 AdbcError *error) |
取消正在进行的查询的执行。 | |
AdbcStatusCode | AdbcStatementGetOption (结构体 AdbcStatement *statement, const char *key, char *value, size_t *length, 结构体 AdbcError *error) |
获取语句的字符串选项。 | |
AdbcStatusCode | AdbcStatementGetOptionBytes (结构体 AdbcStatement *statement, const char *key, uint8_t *value, size_t *length, 结构体 AdbcError *error) |
获取语句的字节串选项。 | |
AdbcStatusCode | AdbcStatementGetOptionInt (结构体 AdbcStatement *statement, const char *key, int64_t *value, 结构体 AdbcError *error) |
获取语句的整数选项。 | |
AdbcStatusCode | AdbcStatementGetOptionDouble (结构体 AdbcStatement *statement, const char *key, double *value, 结构体 AdbcError *error) |
获取语句的双精度浮点数选项。 | |
AdbcStatusCode | AdbcStatementGetParameterSchema (结构体 AdbcStatement *statement, 结构体 ArrowSchema *schema, 结构体 AdbcError *error) |
获取绑定参数的模式。 | |
AdbcStatusCode | AdbcStatementSetOption (结构体 AdbcStatement *statement, const char *key, const char *value, 结构体 AdbcError *error) |
在语句上设置字符串选项。 | |
AdbcStatusCode | AdbcStatementSetOptionBytes (结构体 AdbcStatement *statement, const char *key, const uint8_t *value, size_t length, 结构体 AdbcError *error) |
在语句上设置字节串选项。 | |
AdbcStatusCode | AdbcStatementSetOptionInt (结构体 AdbcStatement *statement, const char *key, int64_t value, 结构体 AdbcError *error) |
在语句上设置整数选项。 | |
AdbcStatusCode | AdbcStatementSetOptionDouble (结构体 AdbcStatement *statement, const char *key, double value, 结构体 AdbcError *error) |
在语句上设置双精度浮点数选项。 | |
AdbcStatusCode | AdbcStatementExecutePartitions (结构体 AdbcStatement *statement, 结构体 ArrowSchema *schema, 结构体 AdbcPartitions *partitions, int64_t *rows_affected, 结构体 AdbcError *error) |
执行语句并将结果作为分区结果集获取。 | |
ADBC:Arrow 数据库连接
基于 Arrow 的应用程序和数据库驱动程序之间的接口。ADBC 旨在为基于 SQL 和 Substrait 的数据库访问提供独立于供应商的 API,该 API 针对分析/OLAP 用例。
此 API 旨在由驱动程序直接实现并由客户端应用程序直接使用。为了帮助在不同供应商之间实现可移植性,还提供了一个“驱动程序管理器”库,它实现了相同的 API,但在内部动态加载驱动程序并适当地转发调用。
ADBC 使用带有在其上运行的自由函数的结构体来建模对象。
通常,对象允许多个线程进行序列化访问,但不允许并发访问。特定的实现可能允许多个线程。