public abstract class ControlMessage extends WireMessage
Generic representation for a control wire message: that is, a message which does not handle any form of start-up, but reather general communications.
Static Methods
create(ConnectionHandler connection)
public static ControlMessage create(ConnectionHandler connection)
Factory method to create the message from the specific command type char.
Name | Description |
connection | ConnectionHandler The connection handler object setup with the ability to send/receive. |
Type | Description |
ControlMessage | The constructed wire message given the input message. |
Type | Description |
Exception | If construction or reading fails. |
getFormatCodes(DataInputStream input)
protected static List<Short> getFormatCodes(DataInputStream input)
Extract format codes from message (useful for both input and output format codes).
Name | Description |
input | DataInputStream The data stream containing the user request. |
Type | Description |
List<Short> | A list of format codes. |
Type | Description |
Exception | If reading fails in any way. |
Constructors
ControlMessage(ConnectionHandler connection)
public ControlMessage(ConnectionHandler connection)
Name | Description |
connection | ConnectionHandler |
ControlMessage(ConnectionHandler connection, int length, ControlMessage.ManuallyCreatedToken token)
protected ControlMessage(ConnectionHandler connection, int length, ControlMessage.ManuallyCreatedToken token)
Constructor for manually created Control messages.
Name | Description |
connection | ConnectionHandler |
length | int |
token | ControlMessage.ManuallyCreatedToken |
Methods
handleError(Exception exception)
protected void handleError(Exception exception)
Takes an Exception Object and relates its results to the user within the client.
Name | Description |
exception | Exception The exception to be related. |
Type | Description |
Exception | if there is some issue in the sending of the error messages. |
isExtendedProtocol()
protected boolean isExtendedProtocol()
Type | Description |
boolean |
sendResultSet(IntermediateStatement describedResult, ConnectionHandler.QueryMode mode, long maxRows)
public SendResultSetState sendResultSet(IntermediateStatement describedResult, ConnectionHandler.QueryMode mode, long maxRows)
Simple Adapter, which takes specific results from Spanner, and packages them in a format Postgres understands.
Name | Description |
describedResult | IntermediateStatement Statement output by Spanner. |
mode | ConnectionHandler.QueryMode Specific Query Mode required for this specific message for Postgres |
maxRows | long Maximum number of rows requested |
Type | Description |
SendResultSetState | An adapted representation with specific metadata which PG wire requires. |
Type | Description |
Exception | if traversing the ResultSet fails. |
sendSpannerResult(IntermediateStatement statement, ConnectionHandler.QueryMode mode, long maxRows)
public void sendSpannerResult(IntermediateStatement statement, ConnectionHandler.QueryMode mode, long maxRows)
Sends the result of an execute or query to the client. The type of message depends on the type of result of the statement. This method may also be called multiple times for one result if the client has set a max number of rows to fetch for each execute message. The IntermediateStatement will cache the result in between calls and continue serving rows from the position it was left off after the last execute message.
NOTE: This method does not flush the output stream.
Name | Description |
statement | IntermediateStatement |
mode | ConnectionHandler.QueryMode |
maxRows | long |
Type | Description |
Exception |