Classes
BackendConnection
This class emulates a backend PostgreSQL connection. Statements are buffered in memory until a flush/sync is received. This makes it possible to batch multiple statements together before sending these to Cloud Spanner. This class also keeps track of the transaction status of the connection.
BackendConnection.NoResult
StatementResult implementation for statements that do not return anything (e.g. DDL).
BackendConnection.PartitionQueryResult
BackendConnection.QueryResult
BackendConnection.UpdateCount
Implementation of StatementResult for statements that return an update count (e.g. DML).
CopyStatement
CopyStatement models a COPY table FROM STDIN
statement. The same class is used both as
an IntermediatePreparedStatement and IntermediatePortalStatement, as COPY does
not support any statement parameters, which means that there is no difference between the two.
CopyToStatement
CopyStatement models a COPY table TO STDOUT
statement. The same class is used both as
an IntermediatePreparedStatement and IntermediatePortalStatement, as COPY does
not support any statement parameters, which means that there is no difference between the two.
ExtendedQueryProtocolHandler
Handles the message flow for the extended query protocol. Wire-protocol messages are buffered in memory until a flush/sync is received.
IntermediatePortalStatement
An intermediate representation of a portal statement (that is, a prepared statement which contains all relevant information for execution.
IntermediatePreparedStatement
Intermediate representation for prepared statements (i.e.: statements before they become portals)
IntermediateStatement
Data type to store simple SQL statement with designated metadata. Allows manipulation of statement, such as execution, termination, etc. Represented as an intermediate representation for statements which does not belong directly to Postgres, Spanner, etc.
SimpleQueryStatement
Class that represents a simple query protocol statement. This statement can contain multiple semi-colon separated SQL statements. The simple query protocol internally uses the extended query protocol to execute the statement(s) in the SQL string, but does not return all the messages that would have been returned by the extended protocol.
Enums
BackendConnection.ConnectionState
Connection state indicates whether the backend connection is idle, in a transaction or in an aborted transaction.
IntermediateStatement.ResultNotReadyBehavior
Indicates whether an attempt to get the result of a statement should block or fail if the result is not yet available. Normal SQL commands that can be executed directly on Cloud Spanner should always have their results available when a sync/flush message is received. COPY statements do not have that, as they require additional messages after a flush/sync has been received. Attempts to get the result of a COPY statement should therefore block until it is available, which is after a CopyDone or CopyFail message has been received.