class SnowflakeJdbcExecutor extends JdbcExecutor {

    @Override
    public boolean supports(Database database) {
        return database instanceof SnowflakeDatabase;
    }

    @Override
    public int getPriority() {
        return PRIORITY_SPECIALIZED;
    }

    @Override
    public void execute(SqlStatement sql, List<SqlVisitor> sqlVisitors) throws DatabaseException {<FILL_FUNCTION_BODY>}
}

        try {
            super.execute(sql, sqlVisitors);
        } catch (DatabaseException e) {
            if (sql instanceof SetColumnRemarksStatement &&
                        e.getMessage().contains("Object found is of type 'VIEW', not specified type 'TABLE'")) {
                throw new DatabaseException(SET_COLUMN_REMARKS_NOT_SUPPORTED_ON_VIEW_MSG, e);
            }
            throw e;
        }
    
<methods>public non-sealed void <init>() ,public void comment(java.lang.String) throws liquibase.exception.DatabaseException,public java.lang.Object execute(liquibase.executor.jvm.StatementCallback, List<liquibase.sql.visitor.SqlVisitor>) throws liquibase.exception.DatabaseException,public java.lang.Object execute(liquibase.executor.jvm.CallableStatementCallback, List<liquibase.sql.visitor.SqlVisitor>) throws liquibase.exception.DatabaseException,public void execute(liquibase.statement.SqlStatement) throws liquibase.exception.DatabaseException,public void execute(liquibase.statement.SqlStatement, List<liquibase.sql.visitor.SqlVisitor>) throws liquibase.exception.DatabaseException,public java.lang.String getName() ,public int getPriority() ,public java.lang.Object query(liquibase.statement.SqlStatement, liquibase.executor.jvm.ResultSetExtractor) throws liquibase.exception.DatabaseException,public java.lang.Object query(liquibase.statement.SqlStatement, liquibase.executor.jvm.ResultSetExtractor, List<liquibase.sql.visitor.SqlVisitor>) throws liquibase.exception.DatabaseException,public List#RAW query(liquibase.statement.SqlStatement, liquibase.executor.jvm.RowMapper) throws liquibase.exception.DatabaseException,public List#RAW query(liquibase.statement.SqlStatement, liquibase.executor.jvm.RowMapper, List<liquibase.sql.visitor.SqlVisitor>) throws liquibase.exception.DatabaseException,public int queryForInt(liquibase.statement.SqlStatement) throws liquibase.exception.DatabaseException,public int queryForInt(liquibase.statement.SqlStatement, List<liquibase.sql.visitor.SqlVisitor>) throws liquibase.exception.DatabaseException,public List#RAW queryForList(liquibase.statement.SqlStatement, Class#RAW) throws liquibase.exception.DatabaseException,public List#RAW queryForList(liquibase.statement.SqlStatement, Class#RAW, List<liquibase.sql.visitor.SqlVisitor>) throws liquibase.exception.DatabaseException,public List<Map<java.lang.String,?>> queryForList(liquibase.statement.SqlStatement) throws liquibase.exception.DatabaseException,public List<Map<java.lang.String,?>> queryForList(liquibase.statement.SqlStatement, List<liquibase.sql.visitor.SqlVisitor>) throws liquibase.exception.DatabaseException,public long queryForLong(liquibase.statement.SqlStatement) throws liquibase.exception.DatabaseException,public long queryForLong(liquibase.statement.SqlStatement, List<liquibase.sql.visitor.SqlVisitor>) throws liquibase.exception.DatabaseException,public java.lang.Object queryForObject(liquibase.statement.SqlStatement, liquibase.executor.jvm.RowMapper) throws liquibase.exception.DatabaseException,public java.lang.Object queryForObject(liquibase.statement.SqlStatement, liquibase.executor.jvm.RowMapper, List<liquibase.sql.visitor.SqlVisitor>) throws liquibase.exception.DatabaseException,public T queryForObject(liquibase.statement.SqlStatement, Class<T>) throws liquibase.exception.DatabaseException,public T queryForObject(liquibase.statement.SqlStatement, Class<T>, List<liquibase.sql.visitor.SqlVisitor>) throws liquibase.exception.DatabaseException,public int update(liquibase.statement.SqlStatement) throws liquibase.exception.DatabaseException,public int update(liquibase.statement.SqlStatement, List<liquibase.sql.visitor.SqlVisitor>) throws liquibase.exception.DatabaseException,public boolean updatesDatabase() <variables>public static final java.lang.String ROWS_AFFECTED_SCOPE_KEY,public static final java.lang.String SHOULD_UPDATE_ROWS_AFFECTED_SCOPE_KEY