ADBC
Arrow 数据库连接
加载中...
搜索中...
无匹配项
管理语句

主题

 分区结果
 
 SQL 语义
 
 Substrait 语义
 

结构体  AdbcStatement
 一个包含执行数据库查询所需所有状态的容器,例如查询本身、预处理语句的参数、驱动程序参数等。 更多...
 

函数

AdbcStatusCode AdbcStatementNew (struct AdbcConnection *connection, struct AdbcStatement *statement, struct AdbcError *error)
 为给定连接创建新语句。
 
AdbcStatusCode AdbcStatementRelease (struct AdbcStatement *statement, struct AdbcError *error)
 销毁语句。
 
AdbcStatusCode AdbcStatementExecuteQuery (struct AdbcStatement *statement, struct ArrowArrayStream *out, int64_t *rows_affected, struct AdbcError *error)
 执行语句并获取结果。
 
AdbcStatusCode AdbcStatementExecuteSchema (struct AdbcStatement *statement, struct ArrowSchema *schema, struct AdbcError *error)
 在不执行查询的情况下获取查询结果集的架构。
 
AdbcStatusCode AdbcStatementPrepare (struct AdbcStatement *statement, struct AdbcError *error)
 将此语句转换为预处理语句,以便多次执行。
 
AdbcStatusCode AdbcStatementBind (struct AdbcStatement *statement, struct ArrowArray *values, struct ArrowSchema *schema, struct AdbcError *error)
 绑定 Arrow 数据。这可以用于批量插入或预处理语句。
 
AdbcStatusCode AdbcStatementBindStream (struct AdbcStatement *statement, struct ArrowArrayStream *stream, struct AdbcError *error)
 绑定 Arrow 数据。这可以用于批量插入或预处理语句。
 
AdbcStatusCode 绑定 Arrow 数据流。
 AdbcStatementCancel (struct AdbcStatement *statement, struct AdbcError *error)
 
AdbcStatusCode 取消正在进行的查询的执行。
 AdbcStatementGetOption (struct AdbcStatement *statement, const char *key, char *value, size_t *length, struct AdbcError *error)
 
AdbcStatusCode 获取语句的字符串选项。
 AdbcStatementGetOptionBytes (struct AdbcStatement *statement, const char *key, uint8_t *value, size_t *length, struct AdbcError *error)
 
AdbcStatusCode 获取语句的字节串选项。
 AdbcStatementGetOptionInt (struct AdbcStatement *statement, const char *key, int64_t *value, struct AdbcError *error)
 
AdbcStatusCode 获取语句的整数选项。
 AdbcStatementGetOptionDouble (struct AdbcStatement *statement, const char *key, double *value, struct AdbcError *error)
 
AdbcStatusCode 获取语句的双精度浮点数选项。
 AdbcStatementGetParameterSchema (struct AdbcStatement *statement, struct ArrowSchema *schema, struct AdbcError *error)
 
AdbcStatusCode 获取绑定参数的架构。
 AdbcStatementSetOption (struct AdbcStatement *statement, const char *key, const char *value, struct AdbcError *error)
 
AdbcStatusCode 在语句上设置字符串选项。
 AdbcStatementSetOptionBytes (struct AdbcStatement *statement, const char *key, const uint8_t *value, size_t length, struct AdbcError *error)
 
AdbcStatusCode 在语句上设置字节串选项。
 AdbcStatementSetOptionInt (struct AdbcStatement *statement, const char *key, int64_t value, struct AdbcError *error)
 
AdbcStatusCode 在语句上设置整数选项。
 AdbcStatementSetOptionDouble (struct AdbcStatement *statement, const char *key, double value, struct AdbcError *error)
 

在语句上设置双精度浮点数选项。

详细说明


应用程序应首先使用 AdbcStatementNew 初始化语句。然后,应使用 AdbcStatementSetSqlQuery 和 AdbcStatementSetOption 等函数配置语句。最后,可以使用 AdbcStatementExecuteQuery 执行语句(或者先调用 AdbcStatementPrepare 将其转换为预处理语句)。

类文档

◆ AdbcStatement

struct AdbcStatement

一个包含执行数据库查询所需所有状态的容器,例如查询本身、预处理语句的参数、驱动程序参数等。

语句可以表示查询或预处理语句。

语句可以多次使用,并且可以重新配置(例如,它们可以重复使用以执行多个不同的查询)。但是,执行语句(以及更改某些其他状态)将使在该执行之前获得的结果集失效。

可以从单个连接创建多个语句。但是,如果它们并发使用(无论是来自单个线程还是多个线程),驱动程序可能会阻塞或出错。

语句不要求是线程安全的,但只要客户端注意序列化对语句的访问,就可以从多个线程使用它们。

公共属性void * 
 private_data
 
不透明的实现定义状态。仅当连接未初始化/释放时,此字段才为 NULLPTR。struct AdbcDriver
 private_driver
 

关联的驱动程序(由驱动程序管理器用于帮助跟踪状态)。

成员数据文档

◆ private_data

private_data

void* AdbcStatement::private_data

◆ private_driver

private_driver

struct AdbcDriver* AdbcStatement::private_driver

函数文档

◆ AdbcStatementBind() ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
statement struct ArrowArray *,
values struct ArrowSchema *,
schema struct AdbcError *

绑定 Arrow 数据。这可以用于批量插入或预处理语句。

error )
参数struct AdbcStatement *[in] statement
参数struct ArrowArray *要绑定的语句。
参数struct ArrowSchema *values
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。schema要绑定的值的架构。

[out] error

一个可选的位置,用于在必要时返回错误消息。 ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
◆ AdbcStatementBindStream() AdbcStatusCode AdbcStatementBindStream,
schema struct AdbcError *

绑定 Arrow 数据。这可以用于批量插入或预处理语句。

error )
参数struct AdbcStatement *[in] statement
参数AdbcStatusCode AdbcStatementBindStream要绑定的语句。
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。schema要绑定的值的架构。

struct ArrowArrayStream *

stream ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
schema struct AdbcError *

AdbcStatementCancel (struct AdbcStatement *statement, struct AdbcError *error)

◆ AdbcStatementCancel()

AdbcStatusCode AdbcStatementCancel

这可以在 AdbcStatementExecuteQuery(或类似函数)期间调用,或者在使用从此类函数返回的 ArrowArrayStream 时调用。调用此函数应使其他函数返回 ADBC_STATUS_CANCELLED(来自 ADBC 函数)或 ECANCELED(来自 ArrowArrayStream 的方法)。(例如,结果集可能已缓冲在内存中,因此不保证如此。)
这必须始终是线程安全的(其他操作不是)。它不一定是信号安全的。
error )
参数struct AdbcStatement *
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。schema要绑定的值的架构。
ADBC API 版本 1.1.0
要取消的语句
返回值

如果没有要取消的查询,则返回 ADBC_STATUS_INVALID_STATE。

如果无法取消查询,则返回 ADBC_STATUS_UNKNOWN。 ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
◆ AdbcStatementBindStream() ◆ AdbcStatementExecuteQuery(),
AdbcStatusCode AdbcStatementExecuteQuery out,
schema struct AdbcError *

执行语句并获取结果。

int64_t *

rows_affected

error )
参数struct AdbcStatement *这将使任何先前的结果集失效。此 AdbcStatement 必须比返回的 ArrowArrayStream 的生命周期长。
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。◆ AdbcStatementExecuteQuery()自 ADBC 1.1.0 起:释放返回的 ArrowArrayStream 而不完全使用它等效于调用 AdbcStatementCancel。
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。out要执行的语句
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。schema要绑定的值的架构。

结果。如果客户端不期望结果集,则传递 NULL。

如果已知受影响的行数,则为该值;否则为 -1。如果客户端不想要此信息,则传递 NULL。 ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
values struct ArrowSchema *,
schema struct AdbcError *

在不执行查询的情况下获取查询结果集的架构。

◆ AdbcStatementExecuteSchema()

AdbcStatusCode AdbcStatementExecuteSchema

这可以在 AdbcStatementExecuteQuery(或类似函数)期间调用,或者在使用从此类函数返回的 ArrowArrayStream 时调用。调用此函数应使其他函数返回 ADBC_STATUS_CANCELLED(来自 ADBC 函数)或 ECANCELED(来自 ArrowArrayStream 的方法)。(例如,结果集可能已缓冲在内存中,因此不保证如此。)
这必须始终是线程安全的(其他操作不是)。它不一定是信号安全的。
error )
参数struct AdbcStatement *这将使任何先前的结果集失效。此 AdbcStatement 必须比返回的 ArrowArrayStream 的生命周期长。
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。struct ArrowSchema *这将使任何先前的结果集失效。
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。schema要绑定的值的架构。
ADBC API 版本 1.1.0
根据驱动程序的不同,这可能需要首先执行 AdbcStatementPrepare。

结果架构

如果驱动程序不支持此功能,则返回 ADBC_STATUS_NOT_IMPLEMENTED。 ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
◆ AdbcStatementGetOption() AdbcStatusCode AdbcStatementGetOption,
const char * key,
char * value,
schema struct AdbcError *

AdbcStatementGetOption (struct AdbcStatement *statement, const char *key, char *value, size_t *length, struct AdbcError *error)

size_t *

length

这必须始终是线程安全的(其他操作不是),但考虑到这里的语义,不建议将 GetOption 与自身并发调用。

  • 必须提供 length,并且它必须是指向 value 的缓冲区的大小。如果有足够的空间,驱动程序会将选项值(包括空终止符)复制到缓冲区,并将 length 设置为实际值的大小。如果缓冲区太小,则不会写入任何数据,并且 length 将设置为所需的长度。
  • 换句话说

如果输出 length <= 输入 length,则 value 将包含一个具有 length 字节的值。

这可以在 AdbcStatementExecuteQuery(或类似函数)期间调用,或者在使用从此类函数返回的 ArrowArrayStream 时调用。调用此函数应使其他函数返回 ADBC_STATUS_CANCELLED(来自 ADBC 函数)或 ECANCELED(来自 ArrowArrayStream 的方法)。(例如,结果集可能已缓冲在内存中,因此不保证如此。)
这必须始终是线程安全的(其他操作不是)。它不一定是信号安全的。
error )
参数struct AdbcStatement *如果输出 length > 输入 length,则不会向 value 写入任何内容。
参数AdbcStatusCode AdbcStatementGetOption对于标准选项,驱动程序必须始终支持通过选项中指定的类型获取选项值(如果它们支持获取选项值)。(例如,通过 SetOptionDouble 设置的选项必须可以通过 GetOptionDouble 检索。)如果需要,驱动程序也可以支持通过其他 getter 获取转换后的选项值。(例如,获取双精度选项的字符串表示形式。)
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。key语句
要获取的选项value选项值
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。schema要绑定的值的架构。
ADBC API 版本 1.1.0
[in,out] length

◆ AdbcStatementGetOptionBytes()

AdbcStatusCode AdbcStatementGetOptionBytes ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
◆ AdbcStatementGetOption() AdbcStatusCode AdbcStatementGetOption,
uint8_t * key,
char * value,
schema struct AdbcError *

AdbcStatementGetOptionBytes (struct AdbcStatement *statement, const char *key, uint8_t *value, size_t *length, struct AdbcError *error)

此函数必须始终是线程安全的(其他操作则不是),但鉴于此处的语义,不建议并发调用 GetOptionBytes。

必须提供 length 参数,并且它必须是 value 指向的缓冲区的大小。如果有足够的空间,驱动程序会将选项值复制到缓冲区,并将 length 设置为实际值的大小。如果缓冲区太小,则不会写入任何数据,并将 length 设置为所需长度。

这必须始终是线程安全的(其他操作不是),但考虑到这里的语义,不建议将 GetOption 与自身并发调用。

  • 必须提供 length,并且它必须是指向 value 的缓冲区的大小。如果有足够的空间,驱动程序会将选项值(包括空终止符)复制到缓冲区,并将 length 设置为实际值的大小。如果缓冲区太小,则不会写入任何数据,并且 length 将设置为所需的长度。
  • 换句话说

如果输出 length <= 输入 length,则 value 将包含一个具有 length 字节的值。

这可以在 AdbcStatementExecuteQuery(或类似函数)期间调用,或者在使用从此类函数返回的 ArrowArrayStream 时调用。调用此函数应使其他函数返回 ADBC_STATUS_CANCELLED(来自 ADBC 函数)或 ECANCELED(来自 ArrowArrayStream 的方法)。(例如,结果集可能已缓冲在内存中,因此不保证如此。)
这必须始终是线程安全的(其他操作不是)。它不一定是信号安全的。
error )
参数struct AdbcStatement *如果输出 length > 输入 length,则不会向 value 写入任何内容。
参数AdbcStatusCode AdbcStatementGetOption对于标准选项,驱动程序必须始终支持通过选项中指定的类型获取选项值(如果它们支持获取选项值)。(例如,通过 SetOptionDouble 设置的选项必须可以通过 GetOptionDouble 检索。)如果需要,驱动程序也可以支持通过其他 getter 获取转换后的选项值。(例如,获取双精度选项的字符串表示形式。)
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。key语句
要获取的选项value选项值的长度。
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。schema要绑定的值的架构。
ADBC API 版本 1.1.0
[in,out] length

◆ AdbcStatementGetOptionDouble()

AdbcStatusCode AdbcStatementGetOptionDouble ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
◆ AdbcStatementGetOption() AdbcStatusCode AdbcStatementGetOption,
double * key,
schema struct AdbcError *

AdbcStatementGetOptionDouble (struct AdbcStatement *statement, const char *key, double *value, struct AdbcError *error)

此函数必须始终是线程安全的(其他操作则不是)。

如果输出 length <= 输入 length,则 value 将包含一个具有 length 字节的值。

这可以在 AdbcStatementExecuteQuery(或类似函数)期间调用,或者在使用从此类函数返回的 ArrowArrayStream 时调用。调用此函数应使其他函数返回 ADBC_STATUS_CANCELLED(来自 ADBC 函数)或 ECANCELED(来自 ArrowArrayStream 的方法)。(例如,结果集可能已缓冲在内存中,因此不保证如此。)
这必须始终是线程安全的(其他操作不是)。它不一定是信号安全的。
error )
参数struct AdbcStatement *如果输出 length > 输入 length,则不会向 value 写入任何内容。
参数AdbcStatusCode AdbcStatementGetOption对于标准选项,驱动程序必须始终支持通过选项中指定的类型获取选项值(如果它们支持获取选项值)。(例如,通过 SetOptionDouble 设置的选项必须可以通过 GetOptionDouble 检索。)如果需要,驱动程序也可以支持通过其他 getter 获取转换后的选项值。(例如,获取双精度选项的字符串表示形式。)
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。key语句
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。schema要绑定的值的架构。
ADBC API 版本 1.1.0
[in,out] length

◆ AdbcStatementGetOptionInt()

AdbcStatusCode AdbcStatementGetOptionInt ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
◆ AdbcStatementGetOption() AdbcStatusCode AdbcStatementGetOption,
AdbcStatusCode AdbcStatementExecuteQuery key,
schema struct AdbcError *

AdbcStatementGetOptionInt (struct AdbcStatement *statement, const char *key, int64_t *value, struct AdbcError *error)

此函数必须始终是线程安全的(其他操作则不是)。

如果输出 length <= 输入 length,则 value 将包含一个具有 length 字节的值。

这可以在 AdbcStatementExecuteQuery(或类似函数)期间调用,或者在使用从此类函数返回的 ArrowArrayStream 时调用。调用此函数应使其他函数返回 ADBC_STATUS_CANCELLED(来自 ADBC 函数)或 ECANCELED(来自 ArrowArrayStream 的方法)。(例如,结果集可能已缓冲在内存中,因此不保证如此。)
这必须始终是线程安全的(其他操作不是)。它不一定是信号安全的。
error )
参数struct AdbcStatement *如果输出 length > 输入 length,则不会向 value 写入任何内容。
参数AdbcStatusCode AdbcStatementGetOption对于标准选项,驱动程序必须始终支持通过选项中指定的类型获取选项值(如果它们支持获取选项值)。(例如,通过 SetOptionDouble 设置的选项必须可以通过 GetOptionDouble 检索。)如果需要,驱动程序也可以支持通过其他 getter 获取转换后的选项值。(例如,获取双精度选项的字符串表示形式。)
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。key语句
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。schema要绑定的值的架构。
ADBC API 版本 1.1.0
[in,out] length

◆ AdbcStatementGetParameterSchema()

AdbcStatusCode AdbcStatementGetParameterSchema ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
values struct ArrowSchema *,
schema struct AdbcError *

AdbcStatementGetParameterSchema (struct AdbcStatement *statement, struct ArrowSchema *schema, struct AdbcError *error)

此函数检索一个 Arrow 模式,该模式描述参数化语句中参数的数量、名称和类型。模式的字段应按参数的序号位置排列;命名参数应仅出现一次。

如果参数没有名称,或者无法确定名称,则模式中相应字段的名称将为空字符串。如果无法确定类型,则相应字段的类型将为 NA(NullType)。

此函数应在 AdbcStatementPrepare 之后调用。

ADBC API 版本 1.1.0
如果无法确定模式,则返回 ADBC_STATUS_NOT_IMPLEMENTED。

◆ AdbcStatementNew()

AdbcStatusCode AdbcStatementNew ( struct AdbcConnection * connection,
AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
schema struct AdbcError *

为给定连接创建新语句。

调用者传入一个初始化为零的 AdbcStatement

驱动程序应分配其内部数据结构,并将 private_data 字段设置为指向新分配的结构体。当调用 AdbcStatementRelease 时,应释放此结构体。

◆ AdbcStatementPrepare()

AdbcStatusCode AdbcStatementPrepare ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
schema struct AdbcError *

将此语句转换为预处理语句,以便多次执行。

◆ AdbcStatementExecuteSchema()

◆ AdbcStatementRelease()

AdbcStatusCode AdbcStatementRelease ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
schema struct AdbcError *

销毁语句。

error )
参数struct AdbcStatement *要释放的语句。
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。schema要绑定的值的架构。

◆ AdbcStatementSetOption()

AdbcStatusCode AdbcStatementSetOption ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
◆ AdbcStatementGetOption() AdbcStatusCode AdbcStatementGetOption,
◆ AdbcStatementGetOption() key,
schema struct AdbcError *

AdbcStatementSetOption (struct AdbcStatement *statement, const char *key, const char *value, struct AdbcError *error)

error )
参数struct AdbcStatement *如果输出 length > 输入 length,则不会向 value 写入任何内容。
参数AdbcStatusCode AdbcStatementGetOption要设置的选项。
参数key语句
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。schema要绑定的值的架构。
ADBC API 版本 1.1.0
如果无法识别该选项,则返回 ADBC_STATUS_NOT_IMPLEMENTED。

◆ AdbcStatementSetOptionBytes()

AdbcStatusCode AdbcStatementSetOptionBytes ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
◆ AdbcStatementGetOption() AdbcStatusCode AdbcStatementGetOption,
const uint8_t * key,
size_t value,
schema struct AdbcError *

AdbcStatementSetOptionBytes (struct AdbcStatement *statement, const char *key, const uint8_t *value, size_t length, struct AdbcError *error)

这可以在 AdbcStatementExecuteQuery(或类似函数)期间调用,或者在使用从此类函数返回的 ArrowArrayStream 时调用。调用此函数应使其他函数返回 ADBC_STATUS_CANCELLED(来自 ADBC 函数)或 ECANCELED(来自 ArrowArrayStream 的方法)。(例如,结果集可能已缓冲在内存中,因此不保证如此。)
这必须始终是线程安全的(其他操作不是)。它不一定是信号安全的。
error )
参数struct AdbcStatement *如果输出 length > 输入 length,则不会向 value 写入任何内容。
参数AdbcStatusCode AdbcStatementGetOption要设置的选项。
参数key语句
参数value选项值的长度。
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。schema要绑定的值的架构。
ADBC API 版本 1.1.0
如果选项未被识别,则返回 ADBC_STATUS_NOT_IMPLEMENTED。

◆ AdbcStatementSetOptionDouble()

AdbcStatusCode AdbcStatementSetOptionDouble ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
◆ AdbcStatementGetOption() AdbcStatusCode AdbcStatementGetOption,
double key,
schema struct AdbcError *

AdbcStatementSetOptionDouble (struct AdbcStatement *statement, const char *key, double value, struct AdbcError *error)

这可以在 AdbcStatementExecuteQuery(或类似函数)期间调用,或者在使用从此类函数返回的 ArrowArrayStream 时调用。调用此函数应使其他函数返回 ADBC_STATUS_CANCELLED(来自 ADBC 函数)或 ECANCELED(来自 ArrowArrayStream 的方法)。(例如,结果集可能已缓冲在内存中,因此不保证如此。)
这必须始终是线程安全的(其他操作不是)。它不一定是信号安全的。
error )
参数struct AdbcStatement *如果输出 length > 输入 length,则不会向 value 写入任何内容。
参数AdbcStatusCode AdbcStatementGetOption要设置的选项。
参数key语句
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。schema要绑定的值的架构。
ADBC API 版本 1.1.0
如果选项未被识别,则返回 ADBC_STATUS_NOT_IMPLEMENTED。

◆ AdbcStatementSetOptionInt()

AdbcStatusCode AdbcStatementSetOptionInt ( AdbcStatusCode AdbcStatementBind struct AdbcStatement *,
◆ AdbcStatementGetOption() AdbcStatusCode AdbcStatementGetOption,
int64_t key,
schema struct AdbcError *

AdbcStatementSetOptionInt (struct AdbcStatement *statement, const char *key, int64_t value, struct AdbcError *error)

这可以在 AdbcStatementExecuteQuery(或类似函数)期间调用,或者在使用从此类函数返回的 ArrowArrayStream 时调用。调用此函数应使其他函数返回 ADBC_STATUS_CANCELLED(来自 ADBC 函数)或 ECANCELED(来自 ArrowArrayStream 的方法)。(例如,结果集可能已缓冲在内存中,因此不保证如此。)
这必须始终是线程安全的(其他操作不是)。它不一定是信号安全的。
error )
参数struct AdbcStatement *如果输出 length > 输入 length,则不会向 value 写入任何内容。
参数AdbcStatusCode AdbcStatementGetOption要设置的选项。
参数key语句
要绑定的值。驱动程序将 selbst 调用释放回调,尽管它可能直到语句被释放后才会这样做。schema要绑定的值的架构。
ADBC API 版本 1.1.0
如果选项未被识别,则返回 ADBC_STATUS_NOT_IMPLEMENTED。