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

结构体  AdbcDatabase
 数据库的实例。 更多...
 

函数

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)
 销毁此数据库。不得存在任何连接。
 

详细描述

客户端首先初始化数据库,然后创建连接(如下)。这为实现提供了一个初始化和拥有任何公共连接状态的地方。 例如,内存数据库可以将实际数据库的所有权放置在此对象中。


类文档

◆ AdbcDatabase

struct AdbcDatabase

数据库的实例。

只要存在任何连接,就必须保持活动状态。

公共属性

void * private_data
 不透明的实现定义状态。 如果连接未初始化/释放,则此字段为 NULLPTR。
 
struct AdbcDriverprivate_driver
 关联的驱动程序(由驱动程序管理器使用以帮助跟踪状态)。
 

成员数据文档

◆ private_data

void* AdbcDatabase::private_data

不透明的实现定义状态。 如果连接未初始化/释放,则此字段为 NULLPTR。

◆ private_driver

struct AdbcDriver* AdbcDatabase::private_driver

关联的驱动程序(由驱动程序管理器使用以帮助跟踪状态)。

函数文档

◆ AdbcDatabaseGetOption()

AdbcStatusCode AdbcDatabaseGetOption ( struct AdbcDatabase * database,
const char * key,
char * value,
size_t * length,
struct AdbcError * error )

获取数据库的字符串选项。

这必须始终是线程安全的(其他操作不是),但考虑到此处的语义,不建议并发调用GetOption。

必须提供length,并且必须是value指向的缓冲区的大小。 如果有足够的空间,驱动程序会将选项值(包括空终止符)复制到缓冲区,并将length设置为实际值的大小。 如果缓冲区太小,则不会写入任何数据,并且length将设置为所需的长度。

换句话说

  • 如果输出长度 <= 输入长度,value 将包含一个长度为 length 字节的值。
  • 如果输出长度 > 输入长度,则没有任何内容写入value。

对于标准选项,驱动程序必须始终支持通过选项中指定的类型获取选项值(如果它们完全支持获取选项值)。 (例如,通过 SetOptionDouble 设置的选项必须可以通过 GetOptionDouble 检索。)驱动程序也可以根据需要支持通过其他 getter 获取转换后的选项值。 (例如,获取双精度浮点选项的字符串表示形式。)

自从
ADBC API 修订版 1.1.0
参数
[in]database数据库。
[in]key要获取的选项。
[out]value选项值。
[in,out]lengthvalue的长度。
[out]error如果需要,可选择返回错误消息的位置。
返回
如果无法识别该选项,则返回 ADBC_STATUS_NOT_FOUND。

◆ AdbcDatabaseGetOptionBytes()

AdbcStatusCode AdbcDatabaseGetOptionBytes ( struct AdbcDatabase * database,
const char * key,
uint8_t * value,
size_t * length,
struct AdbcError * error )

获取数据库的字节串选项。

这必须始终是线程安全的(其他操作不是),但考虑到此处的语义,不建议并发调用GetOptionBytes。

必须提供length,并且必须是value指向的缓冲区的大小。 如果有足够的空间,驱动程序会将选项值复制到缓冲区,并将length设置为实际值的大小。 如果缓冲区太小,则不会写入任何数据,并且length将设置为所需的长度。

换句话说

  • 如果输出长度 <= 输入长度,value 将包含一个长度为 length 字节的值。
  • 如果输出长度 > 输入长度,则没有任何内容写入value。

对于标准选项,驱动程序必须始终支持通过选项中指定的类型获取选项值(如果它们完全支持获取选项值)。 (例如,通过 SetOptionDouble 设置的选项必须可以通过 GetOptionDouble 检索。)驱动程序也可以根据需要支持通过其他 getter 获取转换后的选项值。 (例如,获取双精度浮点选项的字符串表示形式。)

自从
ADBC API 修订版 1.1.0
参数
[in]database数据库。
[in]key要获取的选项。
[out]value选项值。
[in,out]length选项值长度。
[out]error如果需要,可选择返回错误消息的位置。
返回
如果无法识别该选项,则返回 ADBC_STATUS_NOT_FOUND。

◆ AdbcDatabaseGetOptionDouble()

AdbcStatusCode AdbcDatabaseGetOptionDouble ( struct AdbcDatabase * database,
const char * key,
double * value,
struct AdbcError * error )

获取数据库的双精度浮点选项。

这必须始终是线程安全的(其他操作不是)。

对于标准选项,驱动程序必须始终支持通过选项中指定的类型获取选项值(如果它们完全支持获取选项值)。 (例如,通过 SetOptionDouble 设置的选项必须可以通过 GetOptionDouble 检索。)驱动程序也可以根据需要支持通过其他 getter 获取转换后的选项值。 (例如,获取整数选项的双精度浮点表示形式。)

自从
ADBC API 修订版 1.1.0
参数
[in]database数据库。
[in]key要获取的选项。
[out]value选项值。
[out]error如果需要,可选择返回错误消息的位置。
返回
如果无法识别该选项,则返回 ADBC_STATUS_NOT_FOUND。

◆ AdbcDatabaseGetOptionInt()

AdbcStatusCode AdbcDatabaseGetOptionInt ( struct AdbcDatabase * database,
const char * key,
int64_t * value,
struct AdbcError * error )

获取数据库的整数选项。

这必须始终是线程安全的(其他操作不是)。

对于标准选项,驱动程序必须始终支持通过选项中指定的类型获取选项值(如果它们完全支持获取选项值)。 (例如,通过 SetOptionDouble 设置的选项必须可以通过 GetOptionDouble 检索。)驱动程序也可以根据需要支持通过其他 getter 获取转换后的选项值。 (例如,获取双精度浮点选项的整数表示形式。)

自从
ADBC API 修订版 1.1.0
参数
[in]database数据库。
[in]key要获取的选项。
[out]value选项值。
[out]error如果需要,可选择返回错误消息的位置。
返回
如果无法识别该选项,则返回 ADBC_STATUS_NOT_FOUND。

◆ AdbcDatabaseInit()

AdbcStatusCode AdbcDatabaseInit ( struct AdbcDatabase * database,
struct AdbcError * error )

完成设置选项并初始化数据库。

某些驱动程序可能还支持在初始化后设置选项。

◆ AdbcDatabaseNew()

AdbcStatusCode AdbcDatabaseNew ( struct AdbcDatabase * database,
struct AdbcError * error )

分配一个新的(但未初始化的)数据库。

调用者传入一个零初始化的 AdbcDatabase

驱动程序应分配其内部数据结构,并将 private_data 字段设置为指向新分配的结构。 调用 AdbcDatabaseRelease 时应释放此结构。

◆ AdbcDatabaseRelease()

AdbcStatusCode AdbcDatabaseRelease ( struct AdbcDatabase * database,
struct AdbcError * error )

销毁此数据库。不得存在任何连接。

参数
[in]database要释放的数据库。
[out]error如果需要,可选择返回错误消息的位置。

◆ AdbcDatabaseSetOption()

AdbcStatusCode AdbcDatabaseSetOption ( struct AdbcDatabase * database,
const char * key,
const char * value,
struct AdbcError * error )

设置 char* 选项。

可以在 AdbcDatabaseInit 之前设置选项。 某些驱动程序可能还支持在初始化后设置选项。

参数
[in]database数据库。
[in]key要设置的选项。
[in]value选项值。
[out]error如果需要,可选择返回错误消息的位置。
返回
如果无法识别该选项,则返回 ADBC_STATUS_NOT_IMPLEMENTED

◆ AdbcDatabaseSetOptionBytes()

AdbcStatusCode AdbcDatabaseSetOptionBytes ( struct AdbcDatabase * database,
const char * key,
const uint8_t * value,
size_t length,
struct AdbcError * error )

在数据库上设置字节串选项。

自从
ADBC API 修订版 1.1.0
参数
[in]database数据库。
[in]key要设置的选项。
[in]value选项值。
[in]length选项值长度。
[out]error如果需要,可选择返回错误消息的位置。
返回
如果无法识别该选项,则返回 ADBC_STATUS_NOT_IMPLEMENTED

◆ AdbcDatabaseSetOptionDouble()

AdbcStatusCode AdbcDatabaseSetOptionDouble ( struct AdbcDatabase * database,
const char * key,
double value,
struct AdbcError * error )

在数据库上设置双精度浮点选项。

自从
ADBC API 修订版 1.1.0
参数
[in]database数据库。
[in]key要设置的选项。
[in]value选项值。
[out]error如果需要,可选择返回错误消息的位置。
返回
如果无法识别该选项,则返回 ADBC_STATUS_NOT_IMPLEMENTED

◆ AdbcDatabaseSetOptionInt()

AdbcStatusCode AdbcDatabaseSetOptionInt ( struct AdbcDatabase * database,
const char * key,
int64_t value,
struct AdbcError * error )

在数据库上设置整数选项。

自从
ADBC API 修订版 1.1.0
参数
[in]database数据库。
[in]key要设置的选项。
[in]value选项值。
[out]error如果需要,可选择返回错误消息的位置。
返回
如果无法识别该选项,则返回 ADBC_STATUS_NOT_IMPLEMENTED