Class ExtendedQueryProtocolHandler (0.18.0)

public class ExtendedQueryProtocolHandler

Handles the message flow for the extended query protocol. Wire-protocol messages are buffered in memory until a flush/sync is received.

Inheritance

java.lang.Object > ExtendedQueryProtocolHandler

Constructors

ExtendedQueryProtocolHandler(ConnectionHandler connectionHandler)

public ExtendedQueryProtocolHandler(ConnectionHandler connectionHandler)

Creates an ExtendedQueryProtocolHandler for the given connection.

Parameter
NameDescription
connectionHandlerConnectionHandler

ExtendedQueryProtocolHandler(ConnectionHandler connectionHandler, BackendConnection backendConnection)

public ExtendedQueryProtocolHandler(ConnectionHandler connectionHandler, BackendConnection backendConnection)

Constructor only intended for testing.

Parameters
NameDescription
connectionHandlerConnectionHandler
backendConnectionBackendConnection

Methods

buffer(AbstractQueryProtocolMessage message)

public void buffer(AbstractQueryProtocolMessage message)

Buffer an extended query protocol message for execution when the next flush/sync message is received.

Parameter
NameDescription
messageAbstractQueryProtocolMessage

flush()

public void flush()

Flushes the current queue of messages. Any pending database statements are first executed, before sending the wire-protocol responses to the frontend. A flush does not commit the implicit transaction (if any).

This method will execute a #sync() if it determines that the next message in the buffer is a Sync message.

Exceptions
TypeDescription
Exception

getBackendConnection()

public BackendConnection getBackendConnection()

Returns the backend PG connection for this query handler.

Returns
TypeDescription
BackendConnection

sync()

public void sync()

Flushes the current queue of messages and commits the implicit transaction (if any). Any pending database statements are first executed, before sending the wire-protocol responses to the frontend.

Exceptions
TypeDescription
Exception