Class SQLInterpolator


  • public class SQLInterpolator
    extends Object
    • Constructor Detail

      • SQLInterpolator

        public SQLInterpolator()
    • Method Detail

      • interpolateSQL

        public static String interpolateSQL​(String sql,
                                            Map<Integer,​ImmutableSqlParameter> params)
                                     throws DatabricksValidationException
        Interpolates the given SQL string by replacing placeholders with the provided parameters.

        This method splits the SQL string by placeholders (question marks) and replaces each placeholder with the corresponding parameter from the provided map. The map keys are 1-based indexes, aligning with the SQL parameter positions.

        Parameters:
        sql - the SQL string containing placeholders ('?') to be replaced.
        params - a map of parameters where the key is the 1-based index of the placeholder in the SQL string, and the value is the corresponding ImmutableSqlParameter.
        Returns:
        the interpolated SQL string with placeholders replaced by the corresponding parameters.
        Throws:
        DatabricksValidationException - if the number of placeholders in the SQL string does not match the number of parameters provided in the map.
      • surroundPlaceholdersWithQuotes

        public static String surroundPlaceholdersWithQuotes​(String sql)
        Surrounds unquoted placeholders (?) with single quotes, preserving already quoted ones. This is crucial for DESCRIBE QUERY commands as unquoted placeholders will cause a parse_syntax_error.