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 Set<String>
getQueryParameters(String sql)
Note: This is an internal API and breaking changes can be made without prior notice.protected boolean
supportsExplain()
Indicates whether the parser supports theEXPLAIN
clause.-
Methods inherited from class com.google.cloud.spanner.connection.AbstractStatementParser
convertPositionalParametersToNamedParameters, getInstance, isDdlStatement, isQuery, isUpdateStatement, parse, removeCommentsAndTrim
-
-
-
-
Method Detail
-
supportsExplain
protected boolean supportsExplain()
Indicates whether the parser supports theEXPLAIN
clause. The PostgreSQL parser does not support it.- Specified by:
supportsExplain
in 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.
-
-