Class BackendConnection (0.27.1)

public class 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.

Inheritance

java.lang.Object > BackendConnection

Static Fields

MAX_PARTITIONS

public static final int MAX_PARTITIONS
Field Value
Type Description
int

TRANSACTION_ABORTED_ERROR

public static final String TRANSACTION_ABORTED_ERROR
Field Value
Type Description
String

Methods

analyze(String command, AbstractStatementParser.ParsedStatement parsedStatement, Statement statement)

public ListenableFuture<StatementResult> analyze(String command, AbstractStatementParser.ParsedStatement parsedStatement, Statement statement)
Parameters
Name Description
command String
parsedStatement ParsedStatement
statement com.google.cloud.spanner.Statement
Returns
Type Description
com.google.common.util.concurrent.ListenableFuture<StatementResult>

execute(ReleaseStatement releaseStatement)

public Future<StatementResult> execute(ReleaseStatement releaseStatement)
Parameter
Name Description
releaseStatement ReleaseStatement
Returns
Type Description
Future<StatementResult>

execute(RollbackToStatement rollbackToStatement)

public Future<StatementResult> execute(RollbackToStatement rollbackToStatement)
Parameter
Name Description
rollbackToStatement RollbackToStatement
Returns
Type Description
Future<StatementResult>

execute(SavepointStatement savepointStatement)

public Future<StatementResult> execute(SavepointStatement savepointStatement)
Parameter
Name Description
savepointStatement SavepointStatement
Returns
Type Description
Future<StatementResult>

execute(TruncateStatement truncateStatement)

public Future<StatementResult> execute(TruncateStatement truncateStatement)
Parameter
Name Description
truncateStatement TruncateStatement
Returns
Type Description
Future<StatementResult>

execute(VacuumStatement vacuumStatement)

public Future<StatementResult> execute(VacuumStatement vacuumStatement)
Parameter
Name Description
vacuumStatement VacuumStatement
Returns
Type Description
Future<StatementResult>

execute(String command, AbstractStatementParser.ParsedStatement parsedStatement, Statement statement, Function<Statement,Statement> statementBinder)

public Future<StatementResult> execute(String command, AbstractStatementParser.ParsedStatement parsedStatement, Statement statement, Function<Statement,Statement> statementBinder)

Buffers the given statement for execution on the backend connection when the next flush/sync message is received. The returned future will contain the result of the statement when execution has finished.

Parameters
Name Description
command String
parsedStatement ParsedStatement
statement com.google.cloud.spanner.Statement
statementBinder Function<com.google.cloud.spanner.Statement,com.google.cloud.spanner.Statement>
Returns
Type Description
Future<StatementResult>

executeCopy(AbstractStatementParser.ParsedStatement parsedStatement, Statement statement, CopyDataReceiver copyDataReceiver, MutationWriter mutationWriter, ExecutorService executor)

public Future<StatementResult> executeCopy(AbstractStatementParser.ParsedStatement parsedStatement, Statement statement, CopyDataReceiver copyDataReceiver, MutationWriter mutationWriter, ExecutorService executor)

Buffers the given COPY operation for execution on the backend connection when the next flush/sync message is received. The returned future will contain the result of the COPY operation when execution has finished.

Parameters
Name Description
parsedStatement ParsedStatement
statement com.google.cloud.spanner.Statement
copyDataReceiver CopyDataReceiver
mutationWriter MutationWriter
executor ExecutorService
Returns
Type Description
Future<StatementResult>

executeCopyOut(AbstractStatementParser.ParsedStatement parsedStatement, Statement statement)

public Future<StatementResult> executeCopyOut(AbstractStatementParser.ParsedStatement parsedStatement, Statement statement)
Parameters
Name Description
parsedStatement ParsedStatement
statement com.google.cloud.spanner.Statement
Returns
Type Description
Future<StatementResult>

getConnectionState()

public BackendConnection.ConnectionState getConnectionState()

Returns the current connection state.

Returns
Type Description
BackendConnection.ConnectionState

getCurrentDatabase()

public String getCurrentDatabase()

Returns the id of the database that this connection uses.

Returns
Type Description
String

getCurrentSchema()

public String getCurrentSchema()

Returns the current schema that is used by this BackendConnection.

Returns
Type Description
String

getSessionState()

public SessionState getSessionState()

Returns the session state of this connection.

Returns
Type Description
SessionState

getSpannerConnection()

public Connection getSpannerConnection()

Returns the Spanner connection used by this BackendConnection.

Returns
Type Description
Connection

initSessionSetting(String name, String value)

public void initSessionSetting(String name, String value)

Sets the initial value of a pg_settings setting for this connection. This method should only be called during startup with values that come from the connection request.

Parameters
Name Description
name String
value String