Class PostgreSQLStatementParser
- java.lang.Object
-
- com.google.cloud.spanner.connection.AbstractStatementParser
-
- com.google.cloud.spanner.connection.PostgreSQLStatementParser
-
@InternalApi public class PostgreSQLStatementParser extends AbstractStatementParser
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.cloud.spanner.connection.AbstractStatementParser
AbstractStatementParser.ParametersInfo, AbstractStatementParser.ParsedStatement, AbstractStatementParser.StatementType
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancheckReturningClauseInternal(String rawSql)Checks if the given SQL string contains a Returning clause.Set<String>getQueryParameters(String sql)Note: This is an internal API and breaking changes can be made without prior notice.protected booleansupportsExplain()Indicates whether the parser supports theEXPLAINclause.-
Methods inherited from class com.google.cloud.spanner.connection.AbstractStatementParser
checkReturningClause, convertPositionalParametersToNamedParameters, getInstance, isDdlStatement, isQuery, isUpdateStatement, parse, removeCommentsAndTrim
-
-
-
-
Method Detail
-
supportsExplain
protected boolean supportsExplain()
Indicates whether the parser supports theEXPLAINclause. The PostgreSQL parser does not support it.- Specified by:
supportsExplainin classAbstractStatementParser
-
getQueryParameters
@InternalApi public Set<String> getQueryParameters(String sql)
Note: This is an internal API and breaking changes can be made without prior notice.Returns the PostgreSQL-style query parameters ($1, $2, ...) in the given SQL string. The SQL-string is assumed to not contain any comments. Use
AbstractStatementParser.removeCommentsAndTrim(String)to remove all comments before calling this method. Occurrences of query-parameter like strings inside quoted identifiers or string literals are ignored.The following example will return a set containing ("$1", "$2").
select col1, col2, "col$4" from some_table where col1=$1 and col2=$2 and not col3=$1 and col4='$3'- Parameters:
sql- the SQL-string to check for parameters. Must not contain comments.- Returns:
- A set containing all the parameters in the SQL-string.
-
checkReturningClauseInternal
@InternalApi protected boolean checkReturningClauseInternal(String rawSql)
Description copied from class:AbstractStatementParserChecks if the given SQL string contains a Returning clause. This method is used only in case of a DML statement.- Specified by:
checkReturningClauseInternalin classAbstractStatementParser- Parameters:
rawSql- The sql string without comments that has to be evaluated.- Returns:
- A boolean indicating whether the sql string has a Returning clause or not.
-
-