Package com.google.cloud.spanner.pgadapter.statements (0.22.0)

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).

ClientSideResultSet

Wrapper class for query results that are handled directly in PGAdapter.

CloseStatement

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.

DdlTranslator

Translates Cloud Spanner PostgreSQL DDL statements into PostgreSQL compatible DDL statements.

DeallocateStatement

DeclareStatement

ExecuteStatement

ExtendedQueryProtocolHandler

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

FetchStatement

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.

InvalidStatement

MoveStatement

MOVE is the same as FETCH, except it just skips the results instead of actually sending the rows back to the client.

PgCatalog

PgCatalog.EmptyPgEnum

PgCatalog.PgAttrdef

PgCatalog.PgAttribute

PgCatalog.PgClass

PgCatalog.PgCollation

PgCatalog.PgConstraint

PgCatalog.PgExtension

PgCatalog.PgIndex

PgCatalog.PgNamespace

PgCatalog.PgRange

PgCatalog.PgType

PrepareStatement

ReleaseStatement

RollbackToStatement

SavepointStatement

SessionStatementParser

Simple parser for session management commands (SET/SHOW/RESET variable_name)

ShowDatabaseDdlStatement

SHOW DATABASE DDL [FOR POSTGRESQL] returns a result set with the DDL statements that are needed to (re-)create the schema of the current database. The FOR POSTGRESQL clause will instruct PGAdapter to only return DDL statements that are compatible with PostgreSQL. Cloud Spanner specific clauses will be commented out in the returned DDL.

SimpleParser

A very simple parser that can interpret SQL statements to find specific parts in the string.

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.

TruncateStatement

VacuumStatement

Interfaces

PgCatalog.PgCatalogTable

Enums

BackendConnection.ConnectionState

Connection state indicates whether the backend connection is idle, in a transaction or in an aborted transaction.

CopyStatement.Format

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.