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 将设置为所需的长度。

换句话说

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

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

ADBC API 修订版 1.1.0 起
参数
[in](输入)database(数据库)数据库。
[in](输入)key(键)要获取的选项。
[out](输出)value(值)选项值。
[in,out](输入/输出)length(长度)value 的长度。
[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 将设置为所需的长度。

换句话说

  • 如果输出 length <= 输入 length,则 value 将包含一个长度为 length 字节的值。
  • 如果输出 length > 输入 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