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 | 如果需要,可选择返回错误消息的位置。 |