ADBC
Arrow 数据库连接性
正在加载...
正在搜索...
未找到匹配项
常量

主题

 ADBC 统计类型
 
 批量数据摄取
 

#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 查询(类型:bool)。
 
#define ADBC_INFO_VENDOR_SUBSTRAIT   4
 指示是否支持 Substrait 查询(类型:bool)。
 
#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_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"
 可序列化性要求仅在事务结束时才释放读取和写入锁。 这包括在 select 查询使用范围 WHERE 子句时获取范围锁,以避免幻读。
 
#define ADBC_OPTION_ISOLATION_LEVEL_LINEARIZABLE    "adbc.connection.transaction.isolation.linearizable"
 可序列化性和线性化之间的主要区别在于,可序列化性是一个全局属性; 整个操作和事务历史的属性。 线性化是一个局部属性; 单个操作/事务的属性。
 

详细描述

宏定义文档

◆ ADBC_CONNECTION_OPTION_AUTOCOMMIT

#define ADBC_CONNECTION_OPTION_AUTOCOMMIT   "adbc.connection.autocommit"

用于指示是否启用自动提交的标准选项的名称。

类型为 char*。

另请参阅
AdbcConnectionSetOption

◆ ADBC_CONNECTION_OPTION_CURRENT_CATALOG

#define ADBC_CONNECTION_OPTION_CURRENT_CATALOG   "adbc.connection.catalog"

当前目录的标准选项名称。

类型为 char*。

另请参阅
AdbcConnectionGetOption
AdbcConnectionSetOption
自从
ADBC API 版本 1.1.0

◆ ADBC_CONNECTION_OPTION_CURRENT_DB_SCHEMA

#define ADBC_CONNECTION_OPTION_CURRENT_DB_SCHEMA   "adbc.connection.db_schema"

当前模式的标准选项名称。

类型为 char*。

另请参阅
AdbcConnectionGetOption
AdbcConnectionSetOption
自从
ADBC API 版本 1.1.0

◆ ADBC_CONNECTION_OPTION_ISOLATION_LEVEL

#define ADBC_CONNECTION_OPTION_ISOLATION_LEVEL    "adbc.connection.transaction.isolation_level"

用于设置事务隔离级别的标准选项名称。

应仅在禁用自动提交以及 AdbcConnectionCommit / AdbcConnectionRollback 结合使用。 如果驱动程序不支持所需的隔离级别,则应返回相应的错误。

类型为 char*。

另请参阅
AdbcConnectionSetOption

◆ ADBC_CONNECTION_OPTION_READ_ONLY

#define ADBC_CONNECTION_OPTION_READ_ONLY   "adbc.connection.readonly"

用于指示当前连接是否应限制为只读的标准选项的名称。

类型为 char*。

另请参阅
AdbcConnectionSetOption

◆ ADBC_INFO_DRIVER_ADBC_VERSION

#define ADBC_INFO_DRIVER_ADBC_VERSION   103

驱动程序 ADBC API 版本(类型:int64)。

该值应为 ADBC_VERSION 常量之一。

自从
ADBC API 版本 1.1.0
另请参阅
AdbcConnectionGetInfo
ADBC_VERSION_1_0_0
ADBC_VERSION_1_1_0

◆ ADBC_INFO_DRIVER_ARROW_VERSION

#define ADBC_INFO_DRIVER_ARROW_VERSION   102

驱动程序 Arrow 库版本(类型:utf8)。

另请参阅
AdbcConnectionGetInfo

◆ ADBC_INFO_DRIVER_NAME

#define ADBC_INFO_DRIVER_NAME   100

驱动程序名称(类型:utf8)。

另请参阅
AdbcConnectionGetInfo

◆ ADBC_INFO_DRIVER_VERSION

#define ADBC_INFO_DRIVER_VERSION   101

驱动程序版本(类型:utf8)。

另请参阅
AdbcConnectionGetInfo

◆ ADBC_INFO_VENDOR_ARROW_VERSION

#define ADBC_INFO_VENDOR_ARROW_VERSION   2

数据库供应商/产品 Arrow 库版本(类型:utf8)。

另请参阅
AdbcConnectionGetInfo

◆ ADBC_INFO_VENDOR_NAME

#define ADBC_INFO_VENDOR_NAME   0

数据库供应商/产品名称(例如,服务器名称)。(类型:utf8)。

另请参阅
AdbcConnectionGetInfo

◆ ADBC_INFO_VENDOR_SQL

#define ADBC_INFO_VENDOR_SQL   3

指示是否支持 SQL 查询(类型:bool)。

另请参阅
AdbcConnectionGetInfo

◆ ADBC_INFO_VENDOR_SUBSTRAIT

#define ADBC_INFO_VENDOR_SUBSTRAIT   4

指示是否支持 Substrait 查询(类型:bool)。

另请参阅
AdbcConnectionGetInfo

◆ ADBC_INFO_VENDOR_SUBSTRAIT_MAX_VERSION

#define ADBC_INFO_VENDOR_SUBSTRAIT_MAX_VERSION   6

支持的最大 Substrait 版本,如果不支持 Substrait,则为 null(类型:utf8)。

另请参阅
AdbcConnectionGetInfo

◆ ADBC_INFO_VENDOR_SUBSTRAIT_MIN_VERSION

#define ADBC_INFO_VENDOR_SUBSTRAIT_MIN_VERSION   5

支持的最小 Substrait 版本,如果不支持 Substrait,则为 null(类型:utf8)。

另请参阅
AdbcConnectionGetInfo

◆ ADBC_INFO_VENDOR_VERSION

#define ADBC_INFO_VENDOR_VERSION   1

数据库供应商/产品版本(类型:utf8)。

另请参阅
AdbcConnectionGetInfo

◆ ADBC_OBJECT_DEPTH_ALL

#define ADBC_OBJECT_DEPTH_ALL   0

返回目录、模式、表和列的元数据。

另请参阅
AdbcConnectionGetObjects

◆ ADBC_OBJECT_DEPTH_CATALOGS

#define ADBC_OBJECT_DEPTH_CATALOGS   1

仅返回目录的元数据。

另请参阅
AdbcConnectionGetObjects

◆ ADBC_OBJECT_DEPTH_COLUMNS

#define ADBC_OBJECT_DEPTH_COLUMNS   ADBC_OBJECT_DEPTH_ALL

返回目录、模式、表和列的元数据。

另请参阅
AdbcConnectionGetObjects

◆ ADBC_OBJECT_DEPTH_DB_SCHEMAS

#define ADBC_OBJECT_DEPTH_DB_SCHEMAS   2

返回目录和模式的元数据。

另请参阅
AdbcConnectionGetObjects

◆ ADBC_OBJECT_DEPTH_TABLES

#define ADBC_OBJECT_DEPTH_TABLES   3

返回目录、模式和表的元数据。

另请参阅
AdbcConnectionGetObjects

◆ ADBC_OPTION_ISOLATION_LEVEL_DEFAULT

#define ADBC_OPTION_ISOLATION_LEVEL_DEFAULT    "adbc.connection.transaction.isolation.default"

使用数据库或驱动程序默认隔离级别。

另请参阅
AdbcConnectionSetOption

◆ ADBC_OPTION_ISOLATION_LEVEL_LINEARIZABLE

#define ADBC_OPTION_ISOLATION_LEVEL_LINEARIZABLE    "adbc.connection.transaction.isolation.linearizable"

可序列化性和线性化之间的主要区别在于,可序列化性是一个全局属性; 整个操作和事务历史的属性。 线性化是一个局部属性; 单个操作/事务的属性。

线性一致性可以被看作是严格可串行化的一种特殊情况,其中事务被限制为仅包含应用于单个对象的单个操作。

另请参阅
AdbcConnectionSetOption

◆ ADBC_OPTION_ISOLATION_LEVEL_READ_COMMITTED

#define ADBC_OPTION_ISOLATION_LEVEL_READ_COMMITTED    "adbc.connection.transaction.isolation.read_committed"

基于锁的并发控制将写锁保持到事务结束,但读锁在执行 SELECT 后立即释放。 在此隔离级别可能会发生不可重复的读取。

更简单地说,Read Committed 是一种隔离级别,它保证读取的任何数据在读取时都是已提交的。 它只是限制读取器看到任何中间的、未提交的“脏”读取。 它不保证如果事务重新发出读取,它会找到相同的数据; 数据在读取后可以自由更改。

另请参阅
AdbcConnectionSetOption

◆ ADBC_OPTION_ISOLATION_LEVEL_READ_UNCOMMITTED

#define ADBC_OPTION_ISOLATION_LEVEL_READ_UNCOMMITTED    "adbc.connection.transaction.isolation.read_uncommitted"

最低隔离级别。 允许脏读,因此一个事务可能会看到其他事务尚未提交的更改。

另请参阅
AdbcConnectionSetOption

◆ ADBC_OPTION_ISOLATION_LEVEL_REPEATABLE_READ

#define ADBC_OPTION_ISOLATION_LEVEL_REPEATABLE_READ    "adbc.connection.transaction.isolation.repeatable_read"

基于锁的并发控制将读取和写入锁(在选择数据时获取)保持到事务结束。

但是,不管理范围锁,因此可能会发生幻读。 在某些系统中,在此隔离级别上可能存在写倾斜。

另请参阅
AdbcConnectionSetOption

◆ ADBC_OPTION_ISOLATION_LEVEL_SERIALIZABLE

#define ADBC_OPTION_ISOLATION_LEVEL_SERIALIZABLE    "adbc.connection.transaction.isolation.serializable"

可序列化性要求仅在事务结束时才释放读取和写入锁。 这包括在 select 查询使用范围 WHERE 子句时获取范围锁,以避免幻读。

另请参阅
AdbcConnectionSetOption

◆ ADBC_OPTION_ISOLATION_LEVEL_SNAPSHOT

#define ADBC_OPTION_ISOLATION_LEVEL_SNAPSHOT    "adbc.connection.transaction.isolation.snapshot"

此隔离级别保证事务中的所有读取都将看到数据库的一致快照,并且只有自该快照以来没有与任何并发更新冲突的更新,事务才能成功提交。

另请参阅
AdbcConnectionSetOption

◆ ADBC_OPTION_PASSWORD

#define ADBC_OPTION_PASSWORD   "password"

密码的标准选项名称。

应用作指定驱动程序身份验证密码的预期选项名称。

类型为 char*。

自从
ADBC API 版本 1.1.0

◆ ADBC_OPTION_URI

#define ADBC_OPTION_URI   "uri"

URI 的标准选项名称。

应用作指定任何 ADBC 驱动程序的 URI 的预期选项名称。

类型为 char*。

自从
ADBC API 版本 1.1.0

◆ ADBC_OPTION_USERNAME

#define ADBC_OPTION_USERNAME   "username"

用户名的标准选项名称。

应用作指定驱动程序身份验证用户名的预期选项名称。

类型为 char*。

自从
ADBC API 版本 1.1.0

◆ ADBC_OPTION_VALUE_DISABLED

#define ADBC_OPTION_VALUE_DISABLED   "false"

禁用选项的标准选项值。

用于 SetOption 调用中的值。

◆ ADBC_OPTION_VALUE_ENABLED

#define ADBC_OPTION_VALUE_ENABLED   "true"

启用选项的标准选项值。

用于 SetOption 调用中的值。

◆ ADBC_STATEMENT_OPTION_INCREMENTAL

#define ADBC_STATEMENT_OPTION_INCREMENTAL   "adbc.statement.exec.incremental"

用于使查询执行变为非阻塞的标准选项名称。

启用后,AdbcStatementExecutePartitions 将在分区可用时立即返回分区,而不是在最后全部返回。 当没有更多要返回的分区时,它将返回一个空的分区集。 AdbcStatementExecuteQuery 和 AdbcStatementExecuteSchema 不受影响。

默认值为 ADBC_OPTION_VALUE_DISABLED。

类型为 char*。

另请参阅
AdbcStatementSetOption
自从
ADBC API 版本 1.1.0

◆ ADBC_STATEMENT_OPTION_MAX_PROGRESS

#define ADBC_STATEMENT_OPTION_MAX_PROGRESS   "adbc.statement.exec.max_progress"

用于获取查询最大进度的选项名称。

这是已完成查询的 ADBC_STATEMENT_OPTION_PROGRESS 的值。 如果不支持,或者如果该值为非正数,则最大值未知。(例如,查询可能是完全流式的,驱动程序不知道结果集何时结束。)

类型为 double。

另请参阅
AdbcStatementGetOptionDouble
自从
ADBC API 版本 1.1.0

◆ ADBC_STATEMENT_OPTION_PROGRESS

#define ADBC_STATEMENT_OPTION_PROGRESS   "adbc.statement.exec.progress"

用于获取查询进度的选项名称。

该值不一定在任何特定范围内或具有任何特定单位。(例如,它可能是一个百分比、数据字节、数据行、worker 数量等。)最大值可以通过 ADBC_STATEMENT_OPTION_MAX_PROGRESS 检索。 这表示执行的进度,而不是消耗的进度(即,它与客户端通过 ArrowArrayStream.get_next() 读取的结果集数量无关)。

类型为 double。

另请参阅
AdbcStatementGetOptionDouble
自从
ADBC API 版本 1.1.0

◆ ADBC_VERSION_1_0_0

#define ADBC_VERSION_1_0_0   1000000

ADBC 版本 1.0.0。

当传递给 AdbcDriverInitFunc() 时,驱动程序参数必须指向 AdbcDriver

◆ ADBC_VERSION_1_1_0

#define ADBC_VERSION_1_1_0   1001000

ADBC 版本 1.1.0。

当传递给 AdbcDriverInitFunc() 时,驱动程序参数必须指向 AdbcDriver

自从
ADBC API 版本 1.1.0