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