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) |
销毁此数据库。 不允许存在任何连接。 | |
客户端首先初始化数据库,然后创建连接(如下)。 这为实现提供了一个初始化和拥有任何公共连接状态的地方。 例如,内存数据库可以将实际数据库的所有权放在此对象中。
struct AdbcDatabase |
数据库实例。
只要有任何连接存在,就必须保持活动状态。
公共属性 | |
void * | private_data |
不透明的实现定义状态。 当且仅当连接未初始化/释放时,此字段为 NULLPTR。 | |
struct AdbcDriver * | private_driver |
关联的驱动程序(由驱动程序管理器用于帮助跟踪状态)。 | |
void* AdbcDatabase::private_data |
不透明的实现定义状态。 当且仅当连接未初始化/释放时,此字段为 NULLPTR。
struct AdbcDriver* AdbcDatabase::private_driver |
关联的驱动程序(由驱动程序管理器用于帮助跟踪状态)。
AdbcStatusCode AdbcDatabaseGetOption | ( | struct AdbcDatabase * | database(数据库), |
const char * | key(键), | ||
char * | value(值), | ||
size_t * | length(长度), | ||
struct AdbcError * | error(错误) ) |
获取数据库的字符串选项。
此函数必须始终是线程安全的(其他操作不是),但考虑到此处的语义,不建议与自身并发调用 GetOption。
必须提供 length,并且它必须是指向 value 的缓冲区的大小。 如果有足够的空间,驱动程序将选项值(包括空终止符)复制到缓冲区,并将 length 设置为实际值的大小。 如果缓冲区太小,则不会写入任何数据,并且 length 将设置为所需的长度。
换句话说
对于标准选项,驱动程序必须始终支持通过选项中指定的类型获取选项值(如果它们支持获取选项值)。 (例如,通过 SetOptionDouble 设置的选项必须可以通过 GetOptionDouble 检索。)如果需要,驱动程序还可以支持通过其他 getter 获取转换后的选项值。 (例如,获取双精度选项的字符串表示形式。)
[in](输入) | database(数据库) | 数据库。 |
[in](输入) | key(键) | 要获取的选项。 |
[out](输出) | value(值) | 选项值。 |
[in,out](输入/输出) | length(长度) | value 的长度。 |
[out](输出) | error | 一个可选位置,用于在必要时返回错误消息。 |
AdbcStatusCode AdbcDatabaseGetOptionBytes | ( | struct AdbcDatabase * | database(数据库), |
const char * | key(键), | ||
uint8_t * | value(值), | ||
size_t * | length(长度), | ||
struct AdbcError * | error(错误) ) |
获取数据库的字节串选项。
此函数必须始终是线程安全的(其他操作不是),但考虑到此处的语义,不建议与自身并发调用 GetOptionBytes。
必须提供 length,并且它必须是指向 value 的缓冲区的大小。 如果有足够的空间,驱动程序会将选项值复制到缓冲区,并将 length 设置为实际值的大小。 如果缓冲区太小,则不会写入任何数据,并且 length 将设置为所需的长度。
换句话说
对于标准选项,驱动程序必须始终支持通过选项中指定的类型获取选项值(如果它们支持获取选项值)。 (例如,通过 SetOptionDouble 设置的选项必须可以通过 GetOptionDouble 检索。)如果需要,驱动程序还可以支持通过其他 getter 获取转换后的选项值。 (例如,获取双精度选项的字符串表示形式。)
[in](输入) | database(数据库) | 数据库。 |
[in](输入) | key(键) | 要获取的选项。 |
[out](输出) | value(值) | 选项值。 |
[in,out](输入/输出) | length(长度) | 选项值的长度。 |
[out](输出) | error | 一个可选位置,用于在必要时返回错误消息。 |
AdbcStatusCode AdbcDatabaseGetOptionDouble | ( | struct AdbcDatabase * | database(数据库), |
const char * | key(键), | ||
double * | value(值), | ||
struct AdbcError * | error(错误) ) |
获取数据库的双精度浮点数选项。
此函数必须始终是线程安全的(其他操作不是)。
对于标准选项,驱动程序必须始终支持通过选项中指定的类型获取选项值(如果它们支持获取选项值)。 (例如,通过 SetOptionDouble 设置的选项必须可以通过 GetOptionDouble 检索。)如果需要,驱动程序还可以支持通过其他 getter 获取转换后的选项值。 (例如,获取双精度选项的整数表示形式。)
[in](输入) | database(数据库) | 数据库。 |
[in](输入) | key(键) | 要获取的选项。 |
[out](输出) | value(值) | 选项值。 |
[out](输出) | error | 一个可选位置,用于在必要时返回错误消息。 |
AdbcStatusCode AdbcDatabaseGetOptionInt | ( | struct AdbcDatabase * | database(数据库), |
const char * | key(键), | ||
int64_t * | value(值), | ||
struct AdbcError * | error(错误) ) |
获取数据库的整数选项。
此函数必须始终是线程安全的(其他操作不是)。
对于标准选项,驱动程序必须始终支持通过选项中指定的类型获取选项值(如果它们支持获取选项值)。 (例如,通过 SetOptionDouble 设置的选项必须可以通过 GetOptionDouble 检索。)如果需要,驱动程序还可以支持通过其他 getter 获取转换后的选项值。 (例如,获取双精度选项的整数表示形式。)
[in](输入) | database(数据库) | 数据库。 |
[in](输入) | key(键) | 要获取的选项。 |
[out](输出) | value(值) | 选项值。 |
[out](输出) | error | 一个可选位置,用于在必要时返回错误消息。 |
AdbcStatusCode AdbcDatabaseInit | ( | struct AdbcDatabase * | database(数据库), |
struct AdbcError * | error(错误) ) |
完成选项设置并初始化数据库。
某些驱动程序也可能支持在初始化后设置选项。
AdbcStatusCode AdbcDatabaseNew | ( | struct AdbcDatabase * | database(数据库), |
struct AdbcError * | error(错误) ) |
分配一个新的(但未初始化的)数据库。
调用者传入一个初始化为零的 AdbcDatabase。
驱动程序应分配其内部数据结构,并将 private_data 字段设置为指向新分配的结构体。 当调用 AdbcDatabaseRelease 时,应释放此结构体。
AdbcStatusCode AdbcDatabaseRelease | ( | struct AdbcDatabase * | database(数据库), |
struct AdbcError * | error(错误) ) |
销毁此数据库。 不允许存在任何连接。
[in](输入) | database(数据库) | 要释放的数据库。 |
[out](输出) | error | 一个可选位置,用于在必要时返回错误消息。 |
AdbcStatusCode AdbcDatabaseSetOption | ( | struct AdbcDatabase * | database(数据库), |
const char * | key(键), | ||
const char * | value(值), | ||
struct AdbcError * | error(错误) ) |
设置 char* 选项。
可以在 AdbcDatabaseInit 之前设置选项。某些驱动程序也可能支持在初始化后设置选项。
[in](输入) | database(数据库) | 数据库。 |
[in](输入) | key(键) | 要设置的选项。 |
[in](输入) | value(值) | 选项值。 |
[out](输出) | error | 一个可选位置,用于在必要时返回错误消息。 |
AdbcStatusCode AdbcDatabaseSetOptionBytes | ( | struct AdbcDatabase * | database(数据库), |
const char * | key(键), | ||
const uint8_t * | value(值), | ||
size_t | length(长度), | ||
struct AdbcError * | error(错误) ) |
在数据库上设置字节串选项。
[in](输入) | database(数据库) | 数据库。 |
[in](输入) | key(键) | 要设置的选项。 |
[in](输入) | value(值) | 选项值。 |
[in](输入) | length(长度) | 选项值的长度。 |
[out](输出) | error | 一个可选位置,用于在必要时返回错误消息。 |
AdbcStatusCode AdbcDatabaseSetOptionDouble | ( | struct AdbcDatabase * | database(数据库), |
const char * | key(键), | ||
double | value(值), | ||
struct AdbcError * | error(错误) ) |
在数据库上设置双精度浮点数选项。
[in](输入) | database(数据库) | 数据库。 |
[in](输入) | key(键) | 要设置的选项。 |
[in](输入) | value(值) | 选项值。 |
[out](输出) | error | 一个可选位置,用于在必要时返回错误消息。 |
AdbcStatusCode AdbcDatabaseSetOptionInt | ( | struct AdbcDatabase * | database(数据库), |
const char * | key(键), | ||
int64_t | value(值), | ||
struct AdbcError * | error(错误) ) |
在数据库上设置整数选项。
[in](输入) | database(数据库) | 数据库。 |
[in](输入) | key(键) | 要设置的选项。 |
[in](输入) | value(值) | 选项值。 |
[out](输出) | error | 一个可选位置,用于在必要时返回错误消息。 |