Class PostgreSQLStatementParser

java.lang.Object
com.google.cloud.spanner.connection.AbstractStatementParser
com.google.cloud.spanner.connection.PostgreSQLStatementParser

@InternalApi public class PostgreSQLStatementParser extends AbstractStatementParser
  • Method Details

    • supportsExplain

      protected boolean supportsExplain()
      Indicates whether the parser supports the EXPLAIN clause. The PostgreSQL parser does not support it.
      Specified by:
      supportsExplain in class AbstractStatementParser
    • 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 allowed to contain comments. 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.
      Returns:
      A set containing all the parameters in the SQL-string.
    • checkReturningClauseInternal

      @InternalApi protected boolean checkReturningClauseInternal(String rawSql)
      Description copied from class: AbstractStatementParser
      Checks if the given SQL string contains a Returning clause. This method is used only in case of a DML statement.
      Specified by:
      checkReturningClauseInternal in class AbstractStatementParser
      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.