private ValidationErrors validateViewExists()

in src/main/java/com/epam/digital/data/platform/liquibase/extension/change/core/DdmExposeSearchConditionChange.java [59:84]


    private ValidationErrors validateViewExists(Database database) {
        ValidationErrors validationErrors = new ValidationErrors();
        Statement statement = null;
        ResultSet resultSet = null;

        if ((!existsInChangeLog()) && (database.getConnection() instanceof JdbcConnection)) {
            try {
                statement = ((JdbcConnection) database.getConnection()).createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);

                String sql = "SELECT " + DdmConstants.METADATA_CHANGE_NAME + " FROM " + DdmConstants.METADATA_TABLE +
                    " WHERE " + DdmConstants.METADATA_CHANGE_TYPE + " = '" + DdmConstants.SEARCH_METADATA_CHANGE_TYPE_VALUE + "'" +
                    " AND " + DdmConstants.METADATA_CHANGE_NAME + " = '" + getName() + "';";

                resultSet = statement.executeQuery(sql);

                if (!resultSet.next()) {
                    validationErrors.addError("Search Condition '" + getName() + "' does not exist");
                }
            } catch (SQLException | DatabaseException e) {
                Scope.getCurrentScope().getLog(database.getClass()).info("Cannot check existing Search Condition '" + getName() + "'", e);
            } finally {
                JdbcUtils.close(resultSet, statement);
            }
        }
        return validationErrors;
    }