接口 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)
。