VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

QueryExecutor接口

抽象执行查询的特定于协议的细节。

abort

功能描述

在网络级别中止,而不将Terminate消息发送到后端。

语法格式

void abort()

参数说明

无。

返回值

无。

borrowCallableQuery

功能描述

借用可调用查询。

语法格式

CachedQuery borrowCallableQuery(String sql)             
throws SQLException

参数说明

sql:查询语句。

返回值

缓存查询。

borrowQuery

功能描述

借用查询。

语法格式

CachedQuery borrowQuery(String sql)         
throws SQLException

参数说明

sql:查询语句。

返回值

缓存查询。

borrowQueryByKey

功能描述

通过键借用查询。

语法格式

CachedQuery borrowQueryByKey(Object key)           
throws SQLException

参数说明

key:键。

返回值

缓存查询。

borrowReturningQuery

功能描述

借用返回查询。

语法格式

CachedQuery borrowReturningQuery(String sql,                 
String[] columnNames)             
throws SQLException

参数说明

sql:查询语句。

columnNames:列名。

返回值

缓存查询。

close

功能描述

干净地关闭此连接。

语法格式

void close()

参数说明

无。

返回值

无。

createFastpathParameters(Deprecated)

功能描述

创建一个新的ParameterList实现,该实现适合通过fastpathCall(int, org.postgresql.core.ParameterList, boolean)调用fastpath函数。

语法格式

ParameterList createFastpathParameters(int count)

参数说明

count:fastpath调用将接受的参数数。

返回值

一个适合传递给fastpathCall(int, org.postgresql.core.ParameterList, boolean)的参数列表。

createQuery

功能描述

创建查询。

语法格式

CachedQuery createQuery(String sql,            
boolean escapeProcessing,            
boolean isParameterized,            
String... columnNames)         
throws SQLException

参数说明

sql:sql语句。

escapeProcessing:转义处理。

isParameterized:是否参数化。

columnNames: 列名。

返回值

缓存查询。

createQueryByKey

功能描述

通过键创建查询。

语法格式

CachedQuery createQueryByKey(Object key)           
throws SQLException

参数说明

参数名 参数说明
key

key:键

返回值

缓存查询。

createQueryKey

功能描述

创建查询键。

语法格式

Object createQueryKey(String sql,           
boolean escapeProcessing,           
boolean isParameterized,           
String... columnNames)

参数说明

sql:sql语句。

escapeProcessing:转义处理。

isParameterized:是否参数化。

columnNames:列名。

返回值

查询键。

createSimpleQuery

功能描述

创建一个适合由这个QueryExecutor执行的非参数化的Query对象。所提供的查询字符串没有解析参数占位符(‘?’字符),以及查询。返回对象的createParameterList()将始终返回一个空的ParameterList。

语法格式

Query createSimpleQuery(String sql)         
throws SQLException

参数说明

sql:要创建的查询的SQL语句。

返回值

一个新的查询对象。

execute(Query[] queries, ParameterList[] parameterLists, BatchResultHandler handler, int maxRows, int fetchSize, int flags)

功能描述

执行多个查询,将结果传递给一个提供的ResultHandler。

语法格式

void execute(Query[] queries,       
ParameterList[] parameterLists,       
BatchResultHandler handler,       
int maxRows,       
int fetchSize,       
int flags)   
throws SQLException

参数说明

queries:查询执行;每个都必须是在这个QueryExecutor对象上调用wrap(List)返回的查询。

parameterLists:查询的参数列表。参数列表与查询数组中传递的查询一一对应。如果相应的查询接受参数,则每个参数必须是非空的,并且必须是由相应查询创建的query. createparameterlist()返回的参数对象。

handler:负责处理此查询生成的结果的BatchResultHandler。

maxRows:要检索的最大行数。

fetchSize:如果设置了QUERY FORMIARD CURSOR,则表示挂起之前要检索的首选行数。

flags:QUERY_*标志的组合,指示如何处理查询。

返回值

无。

execute(Query query, ParameterList parameters, ResultHandler handler, int maxRows, int fetchSize, int flags)

功能描述

执行一个查询,将结果传递给一个提供的ResultHandler。

语法格式

void execute(Query query,       
ParameterList parameters,       
ResultHandler handler,       
int maxRows,       
int fetchSize,       
int flags)   
throws SQLException

参数说明

query:查询执行;每个都必须是在这个QueryExecutor对象上调用wrap(List)返回的查询。

parameters:查询的参数。如果查询接受参数,则必须为非空。必须是由Query.createParameterList()返回。

handler:负责处理此查询生成的结果的ResultHandler。

maxRows:要检索的最大行数。

fetchSize:如果设置了QUERY FORMIARD CURSOR,则表示挂起之前要检索的首选行数。

flags:QUERY_*标志的组合,指示如何处理查询。

返回值

无。

executeBatch

功能描述

执行多个查询,将结果传递给所提供的ResultHandLer。

语法格式

void executeBatch(Query[] queries,       
ParameterList[] parameterLists,       
BatchResultHandler handler,       
int maxRows,       
int fetchSize,       
int flags)   
throws SQLException

参数说明

queries:查询执行;每个都必须是在这个QueryExecutor对象上调用wrap(List)返回的查询。

parameterLists:查询的参数列表。参数列表与查询数组中传递的查询一一对应。如果相应的查询接受参数,则每个参数必须是非空的,并且必须是由相应查询创建的query. createparameterlist()返回的参数对象。

handler:负责处理此查询生成的结果的BatchResultHandler。

maxRows:要检索的最大行数。

fetchSize:如果设置了QUERY FORMIARD CURSOR,则表示挂起之前要检索的首选行数。

flags:QUERY_*标志的组合,指示如何处理查询。

返回值

无。

fastpathCall(Deprecated)

功能描述

通过fastpath接口调用后端函数。

语法格式

byte[] fastpathCall(int fnid,                
ParameterList params,                
boolean suppressBegin)             
throws SQLException

参数说明

fnid:要调用的后端函数的oid。

params:从createFastpathParameters(int)返回的参数列表,包含要传递给后端函数的参数。

suppressBegin:如果begin应该被抑制。

返回值

fastpath调用的二进制格式的结果,如果返回一个无效的结果,则为null。

fetch

功能描述

从游标中获取其他行。

语法格式

void fetch(ResultCursor cursor,      
ResultHandler handler,      
int fetchSize)  
throws SQLException

参数说明

cursor:要从中取用的光标。

handler:将结果提供给的处理程序。

fetchSize:挂起之前要检索的首选行数。

返回值

无。

getApplicationName

功能描述

获取application_name连接属性。

语法格式

String getApplicationName()

参数说明

无。

返回值

application_name连接属性。

getApplicationType

功能描述

获取application连接类型。

语法格式

String getApplicationType()

参数说明

无。

返回值

application连接类型。

getAutoSave

功能描述

获取自动保存。

语法格式

AutoSave getAutoSave()

参数说明

无。

返回值

自动保存。

getBackendPID

功能描述

获取处理此连接的后端服务器进程的进程ID (PID)。

语法格式

int getBackendPID()

参数说明

无。

返回值

处理此连接的后端服务器进程的PID。

getCompatibilityMode

功能描述

获取兼容模式。

方法原型

String getCompatibilityMode()

参数说明

返回值

兼容模式

生命周期

自V2.3版本启用。

getDatabase

功能描述

获取此连接所连接的数据库。

语法格式

String getDatabase()

参数说明

无。

返回值

此连接所连接的数据库。

setCompatibilityMode

功能描述

设置兼容模式。

方法原型

void setCompatibilityMode(String compatibilityMode)

参数说明

compatibilityMode:兼容模式。

返回值

生命周期

自V2.3版本启用。

getEnableOutparamOveride()

功能描述

获取reload状态。

方法原型

boolean getEnableOutparamOveride()

参数说明

返回值

reload状态

生命周期

自V2.3版本启用。

getEncoding

功能描述

获取此连接使用的当前编码。

语法格式

Encoding getEncoding()

参数说明

无。

返回值

此连接使用的当前编码。

getGaussdbVersion

功能描述

获取Vastbase的版本信息。

语法格式

String getGaussdbVersion()

参数说明

无。

返回值

Vastbase的版本信息。

getHostSpec

功能描述

获取该连接所连接的主机和端口。

语法格式

HostSpec getHostSpec()

参数说明

无。

返回值

该连接所连接的主机和端口。

getIntegerDateTimes

功能描述

如果服务器使用整数而不是double来表示二进制日期和时间编码,则返回true。

语法格式

boolean getIntegerDateTimes()

参数说明

无。

返回值

服务器integer_datetime设置。

getNetworkTimeout

功能描述

获取网络超时时间。

语法格式

int getNetworkTimeout()        throws IOException

参数说明

无。

返回值

网络超时时间。

getNotifications

功能描述

检索和清除此连接上挂起的异步通知集。

语法格式

PGNotification[] getNotifications()              
throws SQLException

参数说明

无。

返回值

通知数组。如果没有通知,则返回空数组。

getPreferQueryMode

功能描述

获取首选查询模式。

语法格式

PreferQueryMode getPreferQueryMode()

参数说明

无。

返回值

首选查询模式。

getProtocolVersion

功能描述

获取协议的版本。

语法格式

int getProtocolVersion()

参数说明

无。

返回值

协议的版本。

getReplicationProtocol

功能描述

获取该连接对应的ReplicationProtocol实例。

语法格式

ReplicationProtocol getReplicationProtocol()

参数说明

无。

返回值

该连接对应的ReplicationProtocol实例。

getServerVersion

功能描述

从参数server_version返回服务器版本。

语法格式

String getServerVersion()

参数说明

无。

返回值

来自参数server_version的服务器版本字符串。

getServerVersionNum

功能描述

获得机器可读的服务器版本。

语法格式

int getServerVersionNum()

参数说明

无。

返回值

服务器版本的数字,XXYYZZ形式,如090401。

getSocketAddress

功能描述

获取套接字地址。

语法格式

String getSocketAddress()

参数说明

无。

返回值

套接字地址。

getStandardConformingStrings

功能描述

返回服务器是根据SQL标准处理字符串文字,还是使用传统的Vastbase转义规则。

语法格式

boolean getStandardConformingStrings()

参数说明

无。

返回值

如果服务器根据SQL标准处理字符串字面量,则为true。

getTimeZone

功能描述

返回java格式的后端时区。

语法格式

TimeZone getTimeZone()

参数说明

无。

返回值

java格式的后端时区。

getTransactionState

功能描述

获取此连接的当前事务状态。

语法格式

TransactionState getTransactionState()

参数说明

无。

返回值

一个ProtocolConnection.TRANSACTION_*常量。

getUser

功能描述

获取连接认证用户。

语法格式

String getUser()

参数说明

无。

返回值

获取此连接认证的用户。

getWarnings

功能描述

检索并清除此连接上累积的警告链。

语法格式

SQLWarning getWarnings()

参数说明

无。

返回值

链中的第一个SQLWarning,后续的警告可以通过SQLWarning.getNextWarning()找到。

isClosed

功能描述

检查此连接是否关闭。

语法格式

boolean isClosed()

参数说明

无。

返回值

若此连接关闭,则返回true。

isColumnSanitiserDisabled

功能描述

检查列清除是否禁用。

语法格式

boolean isColumnSanitiserDisabled()

参数说明

无。

返回值

若禁用列清除,则返回true。

isReWriteBatchedInsertsEnabled

功能描述

是否启用了rewriteBatchedInsert。

语法格式

boolean isReWriteBatchedInsertsEnabled()

参数说明

无。

返回值

若启用了rewriteBatchedInsert,则返回true。

processNotifies()

功能描述

在尝试检索通知之前,我们需要从网络缓冲区提取最近收到的通知。ProtocolConnection中的通知检索无法做到这一点,因为它容易死锁,所以必须由更高级别的调用方负责,这需要公开该方法。

语法格式

void processNotifies()       
throws SQLException

参数说明

无。

返回值

无。

processNotifies(int timeoutMillis)

功能描述

在尝试检索通知之前,我们需要将最近收到的通知从网络缓冲区中提取出来。ProtocolConnection中的通知检索不能这样做,因为它容易死锁,所以更高级别的调用者必须负责,这需要公开该方法。该变体支持以毫秒为单位的给定时间的阻塞。

语法格式

void processNotifies(int timeoutMillis)       
throws SQLException

参数说明

timeoutMillis:要阻塞的毫秒数。

返回值

无。

releaseQuery

功能描述

释放查询。

语法格式

void releaseQuery(CachedQuery cachedQuery)

参数说明

cachedQuery:待释放的缓存查询。

返回值

无。

sendQueryCancel

功能描述

取消发送此连接的查询。

语法格式

void sendQueryCancel()       
throws SQLException

参数说明

无。

返回值

无。

setAutoSave

功能描述

设置自动保存。

语法格式

void setAutoSave(AutoSave autoSave)

参数说明

autoSave:自动保存。

返回值

无。

setAvailability

功能描述

设置可用。

方法原型

void setAvailability(boolean availability)

参数说明

availability:可用。

返回值

无。

生命周期

自V2.1版本启用。

setBinaryReceiveOids

功能描述

设置应该使用二进制编码接收的oid。

语法格式

void setBinaryReceiveOids(Set<Integer> useBinaryForOids)

参数说明

useBinaryForOids:使用二进制编码请求的oid。

返回值

无。

setBinarySendOids

功能描述

设置应该使用二进制编码发送的oid。

语法格式

void setBinarySendOids(Set<Integer> useBinaryForOids)

参数说明

useBinaryForOids:使用二进制编码请求的oid。

返回值

无。

setCompatibilityMode

功能描述

设置兼容模式。

方法原型

void setCompatibilityMode(String compatibilityMode)

参数说明

compatibilityMode:兼容模式。

返回值

生命周期

自V2.3版本启用。

setEnableOutparamOveride

功能描述

设置reload状态。

方法原型

void setEnableOutparamOveride(boolean enableOutputparamOveride)

参数说明

enableOutputparamOveride:True或者false。

返回值

生命周期

自V2.3版本启用。

setFlushCacheOnDeallocate

功能描述

默认情况下,连接重置语句缓存,以防出现deallocate al/discard所有消息。

语法格式

void setFlushCacheOnDeallocate(boolean flushCacheOnDeallocate)

参数说明

参数名 参数说明
flushCacheOnDeallocate 当观察到”deallocate/discard”消息时,如果语句缓存应该重置,则为True

返回值

无。

setGaussdbVersion

功能描述

设置Vastbase版本。

语法格式

void setGaussdbVersion(String gaussdbVersion)

参数说明

gaussdbVersion:Vastbase版本。

返回值

无。

setNetworkTimeout

功能描述

设置网络超时。

语法格式

void setNetworkTimeout(int milliseconds)        
throws IOException

参数说明

参数名 参数说明
milliseconds 毫秒

返回值

无。

setProtocolVersion

功能描述

设置协议版本。

语法格式

void setProtocolVersion(int protocolVersion)

参数说明

protocolVersion:协议版本。

返回值

无。

startBulkload

功能描述

向后端发起一个请求,为BulkloadOperation启动、初始化,并锁定对应连接。

方法原型

BulkloadOperation startBulkload(ResultHandler handler, String sql,
                        boolean suppressBegin, int flags)
                 throws SQLException

参数说明

  • handler:处理结果的回调。
  • sql:输入的sql语句。
  • suppressBegin:如果开始,应该被抑制。
  • flags:1位表示是否使用BulkloadOperation。

返回值

对应的BulkloadOperation对象

生命周期

startCopy

功能描述

发出一个COPY FROM STDIN / COPY TO STDOUT语句并返回相关操作的处理程序。在复制操作完成之前,不能执行其他数据库操作。

语法格式

CopyOperation startCopy(String sql,            
boolean suppressBegin)         
throws SQLException

参数说明

  • sql:输入的sql语句。
  • suppressBegin:如果开始,应该被抑制。

返回值

关联操作的处理程序。

willHealOnRetry

功能描述

是否在重试时恢复。

语法格式

boolean willHealOnRetry(SQLException e)

参数说明

e:异常。

返回值

若在重试时恢复,则返回true。

wrap

功能描述

将给定的本机查询包装为可执行的格式。

语法格式

Query wrap(List<NativeQuery> queries)

参数说明

queries:本地查询列表。

返回值

准备由此查询执行程序执行的查询对象。