ADBC
Arrow 数据库连接
|
类 | |
结构体 | AdbcDriver |
已初始化数据库驱动程序的实例。 更多... | |
宏 | |
#define | ADBC_DRIVER_1_0_0_SIZE (offsetof(struct AdbcDriver, ErrorGetDetailCount)) |
AdbcDriver 结构在 ADBC 1.0.0 中的大小。为 ADBC 1.1.0 及更高版本编写的驱动程序,当给定 ADBC_VERSION_1_0_0 时,不应接触超过 AdbcDriver 结构体的这部分。 | |
#define | ADBC_DRIVER_1_1_0_SIZE (sizeof(struct AdbcDriver)) |
AdbcDriver 结构在 ADBC 1.1.0 中的大小。为 ADBC 1.1.0 及更高版本编写的驱动程序,当给定 ADBC_VERSION_1_1_0 时,不应接触超过 AdbcDriver 结构体的这部分。 | |
类型定义 | |
typedef AdbcStatusCode(* | AdbcDriverInitFunc) (int version, void *driver, struct AdbcError *error) |
驱动程序通过驱动程序管理器(使用 dlopen(3)/LoadLibrary)的公共入口点。 驱动程序管理器被告知加载一个库并调用此类型的函数来加载驱动程序。 | |
这些函数旨在帮助支持驱动程序和驱动程序管理器之间的集成。
struct AdbcDriver |
已初始化数据库驱动程序的实例。
这为供应商特定的驱动程序初始化例程提供了一个通用接口。 驱动程序应填充此结构,应用程序可以通过此结构调用 ADBC 函数,而无需担心同一符号的多个定义。
公共属性 | |
void * | private_data |
不透明的驱动程序定义的状态。 如果驱动程序未初始化/已释放,则此字段为 NULL(但即使驱动程序已初始化,它也不必具有值)。 | |
void * | private_manager |
不透明的驱动程序管理器定义的状态。 如果驱动程序未初始化/已释放,则此字段为 NULL(但即使驱动程序已初始化,它也不必具有值)。 | |
AdbcStatusCode(* | release )(struct AdbcDriver *driver, struct AdbcError *error) |
释放驱动程序并执行任何清理。 | |
AdbcStatusCode(* | DatabaseInit )(struct AdbcDatabase *, struct AdbcError *) |
AdbcStatusCode(* | DatabaseNew )(struct AdbcDatabase *, struct AdbcError *) |
AdbcStatusCode(* | DatabaseSetOption )(struct AdbcDatabase *, const char *, const char *, struct AdbcError *) |
AdbcStatusCode(* | DatabaseRelease )(struct AdbcDatabase *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionCommit )(struct AdbcConnection *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionGetInfo )(struct AdbcConnection *, const uint32_t *, size_t, struct ArrowArrayStream *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionGetObjects )(struct AdbcConnection *, int, const char *, const char *, const char *, const char **, const char *, struct ArrowArrayStream *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionGetTableSchema )(struct AdbcConnection *, const char *, const char *, const char *, struct ArrowSchema *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionGetTableTypes )(struct AdbcConnection *, struct ArrowArrayStream *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionInit )(struct AdbcConnection *, struct AdbcDatabase *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionNew )(struct AdbcConnection *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionSetOption )(struct AdbcConnection *, const char *, const char *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionReadPartition )(struct AdbcConnection *, const uint8_t *, size_t, struct ArrowArrayStream *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionRelease )(struct AdbcConnection *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionRollback )(struct AdbcConnection *, struct AdbcError *) |
AdbcStatusCode(* | StatementBind )(struct AdbcStatement *, struct ArrowArray *, struct ArrowSchema *, struct AdbcError *) |
AdbcStatusCode(* | StatementBindStream )(struct AdbcStatement *, struct ArrowArrayStream *, struct AdbcError *) |
AdbcStatusCode(* | StatementExecuteQuery )(struct AdbcStatement *, struct ArrowArrayStream *, int64_t *, struct AdbcError *) |
AdbcStatusCode(* | StatementExecutePartitions )(struct AdbcStatement *, struct ArrowSchema *, struct AdbcPartitions *, int64_t *, struct AdbcError *) |
AdbcStatusCode(* | StatementGetParameterSchema )(struct AdbcStatement *, struct ArrowSchema *, struct AdbcError *) |
AdbcStatusCode(* | StatementNew )(struct AdbcConnection *, struct AdbcStatement *, struct AdbcError *) |
AdbcStatusCode(* | StatementPrepare )(struct AdbcStatement *, struct AdbcError *) |
AdbcStatusCode(* | StatementRelease )(struct AdbcStatement *, struct AdbcError *) |
AdbcStatusCode(* | StatementSetOption )(struct AdbcStatement *, const char *, const char *, struct AdbcError *) |
AdbcStatusCode(* | StatementSetSqlQuery )(struct AdbcStatement *, const char *, struct AdbcError *) |
AdbcStatusCode(* | StatementSetSubstraitPlan )(struct AdbcStatement *, const uint8_t *, size_t, struct AdbcError *) |
int(* | ErrorGetDetailCount )(const struct AdbcError *error) |
struct AdbcErrorDetail(* | ErrorGetDetail )(const struct AdbcError *error, int index) |
const struct AdbcError *(* | ErrorFromArrayStream )(struct ArrowArrayStream *stream, AdbcStatusCode *status) |
AdbcStatusCode(* | DatabaseGetOption )(struct AdbcDatabase *, const char *, char *, size_t *, struct AdbcError *) |
AdbcStatusCode(* | DatabaseGetOptionBytes )(struct AdbcDatabase *, const char *, uint8_t *, size_t *, struct AdbcError *) |
AdbcStatusCode(* | DatabaseGetOptionDouble )(struct AdbcDatabase *, const char *, double *, struct AdbcError *) |
AdbcStatusCode(* | DatabaseGetOptionInt )(struct AdbcDatabase *, const char *, int64_t *, struct AdbcError *) |
AdbcStatusCode(* | DatabaseSetOptionBytes )(struct AdbcDatabase *, const char *, const uint8_t *, size_t, struct AdbcError *) |
AdbcStatusCode(* | DatabaseSetOptionDouble )(struct AdbcDatabase *, const char *, double, struct AdbcError *) |
AdbcStatusCode(* | DatabaseSetOptionInt )(struct AdbcDatabase *, const char *, int64_t, struct AdbcError *) |
AdbcStatusCode(* | ConnectionCancel )(struct AdbcConnection *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionGetOption )(struct AdbcConnection *, const char *, char *, size_t *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionGetOptionBytes )(struct AdbcConnection *, const char *, uint8_t *, size_t *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionGetOptionDouble )(struct AdbcConnection *, const char *, double *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionGetOptionInt )(struct AdbcConnection *, const char *, int64_t *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionGetStatistics )(struct AdbcConnection *, const char *, const char *, const char *, char, struct ArrowArrayStream *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionGetStatisticNames )(struct AdbcConnection *, struct ArrowArrayStream *, struct AdbcError *) |
AdbcStatusCode(* | ConnectionSetOptionBytes )(struct AdbcConnection *, const char *, const uint8_t *, size_t, struct AdbcError *) |
AdbcStatusCode(* | ConnectionSetOptionDouble )(struct AdbcConnection *, const char *, double, struct AdbcError *) |
AdbcStatusCode(* | ConnectionSetOptionInt )(struct AdbcConnection *, const char *, int64_t, struct AdbcError *) |
AdbcStatusCode(* | StatementCancel )(struct AdbcStatement *, struct AdbcError *) |
AdbcStatusCode(* | StatementExecuteSchema )(struct AdbcStatement *, struct ArrowSchema *, struct AdbcError *) |
AdbcStatusCode(* | StatementGetOption )(struct AdbcStatement *, const char *, char *, size_t *, struct AdbcError *) |
AdbcStatusCode(* | StatementGetOptionBytes )(struct AdbcStatement *, const char *, uint8_t *, size_t *, struct AdbcError *) |
AdbcStatusCode(* | StatementGetOptionDouble )(struct AdbcStatement *, const char *, double *, struct AdbcError *) |
AdbcStatusCode(* | StatementGetOptionInt )(struct AdbcStatement *, const char *, int64_t *, struct AdbcError *) |
AdbcStatusCode(* | StatementSetOptionBytes )(struct AdbcStatement *, const char *, const uint8_t *, size_t, struct AdbcError *) |
AdbcStatusCode(* | StatementSetOptionDouble )(struct AdbcStatement *, const char *, double, struct AdbcError *) |
AdbcStatusCode(* | StatementSetOptionInt )(struct AdbcStatement *, const char *, int64_t, struct AdbcError *) |
void* AdbcDriver::private_data |
不透明的驱动程序定义的状态。 如果驱动程序未初始化/已释放,则此字段为 NULL(但即使驱动程序已初始化,它也不必具有值)。
void* AdbcDriver::private_manager |
不透明的驱动程序管理器定义的状态。 如果驱动程序未初始化/已释放,则此字段为 NULL(但即使驱动程序已初始化,它也不必具有值)。
AdbcStatusCode(* AdbcDriver::release) (struct AdbcDriver *driver, struct AdbcError *error) |
释放驱动程序并执行任何清理。
这是一个嵌入式回调函数,使驱动程序管理器和驱动程序更容易协作。
#define ADBC_DRIVER_1_0_0_SIZE (offsetof(struct AdbcDriver, ErrorGetDetailCount)) |
AdbcDriver 结构在 ADBC 1.0.0 中的大小。为 ADBC 1.1.0 及更高版本编写的驱动程序,当给定 ADBC_VERSION_1_0_0 时,不应接触超过 AdbcDriver 结构体的这部分。
#define ADBC_DRIVER_1_1_0_SIZE (sizeof(struct AdbcDriver)) |
AdbcDriver 结构在 ADBC 1.1.0 中的大小。为 ADBC 1.1.0 及更高版本编写的驱动程序,当给定 ADBC_VERSION_1_1_0 时,不应接触超过 AdbcDriver 结构体的这部分。
typedef AdbcStatusCode(* AdbcDriverInitFunc) (int version, void *driver, struct AdbcError *error) |
驱动程序通过驱动程序管理器(使用 dlopen(3)/LoadLibrary)的公共入口点。 驱动程序管理器被告知加载一个库并调用此类型的函数来加载驱动程序。
虽然驱动程序可以选择此函数的任何名称,但建议的名称是“AdbcDriverInit”,或者从驱动程序共享库的名称派生的名称,如下所示:删除 'lib' 前缀(在 Unix 系统上)和所有文件扩展名,然后将驱动程序名称转换为 PascalCase,附加 Init,并预先添加 Adbc(如果尚不存在)。 例如
[in] | version | 尝试初始化的 ADBC 修订版(请参阅 ADBC_VERSION_1_0_0)。 |
[out] | driver | 要初始化的函数指针表。 应该是给定版本的相应结构的指针(请参阅该版本的文档)。 |
[out] | error | 如果需要,返回错误消息的可选位置。 |