接口 AdbcStatement
- 所有父接口
AdbcOptions
,AutoCloseable
- 所有已知实现类
FlightSqlStatement
,JdbcStatement
用于存储执行数据库查询所需的所有状态的容器,例如查询本身、预处理语句的参数、驱动程序参数等。
语句可以表示查询或预处理语句。
语句可以多次使用,并且可以重新配置(例如,它们可以重复使用以执行多个不同的查询)。但是,执行语句(以及更改某些其他状态)会使在该执行之前获得的结果集无效。
可以从单个连接创建多个语句。但是,如果它们同时使用(无论是来自单个线程还是多个线程),驱动程序可能会阻塞或出错。
语句不需要是线程安全的,但是它们可以从多个线程中使用,只要客户端注意序列化对语句的访问即可。
-
嵌套类摘要
嵌套类修饰符和类型接口描述static class
结果集的分区。static class
执行带有结果集的查询的结果。static class
执行没有结果集的查询的结果。 -
方法摘要
修饰符和类型方法描述default void
bind
(VectorSchemaRoot root) 将此语句绑定到 VectorSchemaRoot 以提供参数值/批量数据摄取。default void
cancel()
取消查询的执行。default AdbcStatement.PartitionResult
执行生成结果集的查询并获取结果集的分区列表。执行生成结果集的查询并获取结果。default Schema
获取结果集的模式而不执行查询。执行查询。default double
获取进度的上限。default Schema
获取绑定参数的模式。default double
获取执行查询的进度。default Iterator<AdbcStatement.PartitionResult>
执行生成结果集的查询并获取结果集的分区列表。void
prepare()
将此语句转换为预处理语句。default void
已弃用。default void
setSqlQuery
(String query) 设置将在此语句上执行的 SQL 查询。default void
setSubstraitPlan
(ByteBuffer plan) 设置将在此语句上执行的 Substrait 计划。从接口继承的方法 org.apache.arrow.adbc.core.AdbcOptions
getOption, setOption
从接口继承的方法 java.lang.AutoCloseable
close
-
方法详细信息
-
cancel
取消查询的执行。这可以用于中断方法的执行,例如
executeQuery()
。此方法必须是线程安全的(其他方法不一定是线程安全的)。
- 抛出
AdbcException
- 自从
- ADBC API 修订版 1.1.0
-
setOption
已弃用。设置通用查询选项。 -
setSqlQuery
设置将在此语句上执行的 SQL 查询。- 参数
query
- SQL 查询。- 抛出
AdbcException
-
setSubstraitPlan
设置将在此语句上执行的 Substrait 计划。- 参数
plan
- 序列化的 Substrait 计划。- 抛出
AdbcException
-
bind
将此语句绑定到 VectorSchemaRoot 以提供参数值/批量数据摄取。 -
executeQuery
执行生成结果集的查询并获取结果。这可能会使任何先前的结果集无效。
-
executeUpdate
执行查询。这可能会使任何先前的结果集无效。
-
executePartitioned
执行生成结果集的查询并获取结果集的分区列表。这些可以被序列化和反序列化,以便进行并行和/或分布式获取。
这可能会使任何先前的结果集无效。
-
executeSchema
获取结果集的模式而不执行查询。- 抛出
AdbcException
- 自从
- ADBC API 修订版 1.1.0
-
pollPartitioned
执行生成结果集的查询并获取结果集的分区列表。这些可以被序列化和反序列化,以便进行并行和/或分布式获取。
这可能会使任何先前的结果集无效。
- 抛出
AdbcException
- 自从
- ADBC API 修订版 1.1.0
-
getProgress
获取执行查询的进度。- 抛出
AdbcException
- 自从
- ADBC API 修订版 1.1.0
-
getMaxProgress
获取进度的上限。- 抛出
AdbcException
- 自从
- ADBC API 修订版 1.1.0
-
getParameterSchema
获取绑定参数的模式。这会检索一个 Arrow 模式,描述参数化语句中参数的数量、名称和类型。模式的字段应按参数的序号位置排序;命名参数应仅出现一次。
如果参数没有名称,或者无法确定名称,则模式中相应字段的名称将为空字符串。 如果无法确定类型,则相应字段的类型将为 NA (NullType)。
这应该在 AdbcStatementPrepare 之后调用。
- 抛出
AdbcException
- 如果根本无法确定参数,则出现AdbcStatusCode.NOT_IMPLEMENTED
。
-
prepare
将此语句转换为预处理语句。调用
executeQuery()
,executeUpdate()
, 或executePartitioned()
来执行查询。
-
AdbcOptions.setOption(TypedKey, Object)
。