Package org.mariadb.jdbc.client
Class ClientImpl
java.lang.Object
org.mariadb.jdbc.client.ClientImpl
- All Implemented Interfaces:
AutoCloseable
,Client
- Direct Known Subclasses:
ClientReplayImpl
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private final MutableInt
private final Configuration
protected Context
private final boolean
protected final ExceptionFactory
private final HostAddress
private final ReentrantLock
private static final Logger
private PacketReader
private final MutableInt
private final Socket
private int
private ClientMessage
private Statement
private int
protected PacketWriter
-
Constructor Summary
ConstructorsConstructorDescriptionClientImpl
(Configuration conf, HostAddress hostAddress, ReentrantLock lock, boolean skipPostCommands) -
Method Summary
Modifier and TypeMethodDescriptionvoid
private void
assignStream
(OutputStream out, InputStream in, Configuration conf, Long threadId) protected void
void
close()
void
closePrepare
(PrepareResultPacket prepare) private void
createSessionVariableQuery
(String serverTz) protected void
Closing socket in case of Connection error after socket creation.execute
(ClientMessage message) execute
(ClientMessage message, Statement stmt) execute
(ClientMessage message, Statement stmt, int fetchSize, long maxRows, int resultSetConcurrency, int resultSetType, boolean closeOnCompletion) executePipeline
(ClientMessage[] messages, Statement stmt, int fetchSize, long maxRows, int resultSetConcurrency, int resultSetType, boolean closeOnCompletion) int
int
private String
load server timezone and ensure this corresponds to client timezoneboolean
isClosed()
boolean
private void
readPacket
(ClientMessage message) readPacket
(Statement stmt, ClientMessage message, int fetchSize, long maxRows, int resultSetConcurrency, int resultSetType, boolean closeOnCompletion) Read server response packet.void
readResponse
(ClientMessage message) readResponse
(Statement stmt, ClientMessage message, int fetchSize, long maxRows, int resultSetConcurrency, int resultSetType, boolean closeOnCompletion) private void
readResults
(Statement stmt, ClientMessage message, List<Completion> completions, int fetchSize, long maxRows, int resultSetConcurrency, int resultSetType, boolean closeOnCompletion) void
readStreamingResults
(List<Completion> completions, int fetchSize, long maxRows, int resultSetConcurrency, int resultSetType, boolean closeOnCompletion) void
reset()
int
sendQuery
(ClientMessage message) void
setReadOnly
(boolean readOnly) void
setSocketTimeout
(int milliseconds)
-
Field Details
-
logger
-
socket
-
sequence
-
compressionSequence
-
lock
-
conf
-
hostAddress
-
closed
private boolean closed -
exceptionFactory
-
writer
-
reader
-
streamStmt
-
streamMsg
-
socketTimeout
private int socketTimeout -
waitTimeout
private int waitTimeout -
disablePipeline
private final boolean disablePipeline -
context
-
-
Constructor Details
-
ClientImpl
public ClientImpl(Configuration conf, HostAddress hostAddress, ReentrantLock lock, boolean skipPostCommands) throws SQLException - Throws:
SQLException
-
-
Method Details
-
assignStream
-
destroySocket
protected void destroySocket()Closing socket in case of Connection error after socket creation. -
handleTimezone
load server timezone and ensure this corresponds to client timezone- Throws:
SQLException
- if any socket error.
-
postConnectionQueries
- Throws:
SQLException
-
createSessionVariableQuery
-
setReadOnly
- Specified by:
setReadOnly
in interfaceClient
- Throws:
SQLException
-
sendQuery
- Throws:
SQLException
-
execute
- Specified by:
execute
in interfaceClient
- Throws:
SQLException
-
execute
- Specified by:
execute
in interfaceClient
- Throws:
SQLException
-
executePipeline
public List<Completion> executePipeline(ClientMessage[] messages, Statement stmt, int fetchSize, long maxRows, int resultSetConcurrency, int resultSetType, boolean closeOnCompletion) throws SQLException - Specified by:
executePipeline
in interfaceClient
- Throws:
SQLException
-
execute
public List<Completion> execute(ClientMessage message, Statement stmt, int fetchSize, long maxRows, int resultSetConcurrency, int resultSetType, boolean closeOnCompletion) throws SQLException - Specified by:
execute
in interfaceClient
- Throws:
SQLException
-
readResponse
public List<Completion> readResponse(Statement stmt, ClientMessage message, int fetchSize, long maxRows, int resultSetConcurrency, int resultSetType, boolean closeOnCompletion) throws SQLException - Throws:
SQLException
-
readResponse
- Throws:
SQLException
-
closePrepare
- Specified by:
closePrepare
in interfaceClient
- Throws:
SQLException
-
readStreamingResults
public void readStreamingResults(List<Completion> completions, int fetchSize, long maxRows, int resultSetConcurrency, int resultSetType, boolean closeOnCompletion) throws SQLException - Specified by:
readStreamingResults
in interfaceClient
- Throws:
SQLException
-
readResults
private void readResults(Statement stmt, ClientMessage message, List<Completion> completions, int fetchSize, long maxRows, int resultSetConcurrency, int resultSetType, boolean closeOnCompletion) throws SQLException - Throws:
SQLException
-
readPacket
- Throws:
SQLException
-
readPacket
public Completion readPacket(Statement stmt, ClientMessage message, int fetchSize, long maxRows, int resultSetConcurrency, int resultSetType, boolean closeOnCompletion) throws SQLException Read server response packet.- Parameters:
stmt
- current statement (null if internal)message
- current messagefetchSize
- default fetch sizeresultSetConcurrency
- concurrencyresultSetType
- typecloseOnCompletion
- must resultset close statement on completion- Throws:
SQLException
- if any exception- See Also:
-
checkNotClosed
- Throws:
SQLException
-
closeSocket
private void closeSocket() -
getWaitTimeout
public int getWaitTimeout()- Specified by:
getWaitTimeout
in interfaceClient
-
isClosed
public boolean isClosed() -
getContext
- Specified by:
getContext
in interfaceClient
-
abort
- Specified by:
abort
in interfaceClient
- Throws:
SQLException
-
getSocketTimeout
public int getSocketTimeout()- Specified by:
getSocketTimeout
in interfaceClient
-
setSocketTimeout
- Specified by:
setSocketTimeout
in interfaceClient
- Throws:
SQLException
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceClient
-
isPrimary
public boolean isPrimary() -
getExceptionFactory
- Specified by:
getExceptionFactory
in interfaceClient
-
getHostAddress
- Specified by:
getHostAddress
in interfaceClient
-
reset
public void reset()
-