liquibase-core/src/main/java/liquibase/change/AbstractChange.java
@Override
    public Warnings warn(Database database) {
        Warnings warnings = new Warnings();
        if (generateStatementsVolatile(database)) {
            return warnings;
        }

        SqlStatement[] statements = generateStatements(database);
        if (statements == null) {
            return warnings;
        }
        for (SqlStatement statement : statements) {
            if (SqlGeneratorFactory.getInstance().supports(statement, database)) {
                warnings.addAll(SqlGeneratorFactory.getInstance().warn(statement, database));
            } else if (statement.skipOnUnsupported()) {
                warnings.addWarning(
                    statement.getClass().getName() + " is not supported on " + database.getShortName() +
                        ", but " + Scope.getCurrentScope().getSingleton(ChangeFactory.class).getChangeMetaData(this).getName() +
                        " will still execute");
            }
        }

        return warnings;
    }
@Override
    public Warnings warn(Database database) {
        Warnings warnings = new Warnings();
        if (generateStatementsVolatile(database)) {
            return warnings;
        }

        SqlStatement[] statements = generateStatements(database);
        if (statements == null) {
            return warnings;
        }
        for (SqlStatement statement : statements) {
            if (SqlGeneratorFactory.getInstance().supports(statement, database)) {
                warnings.addAll(SqlGeneratorFactory.getInstance().warn(statement, database));
            } else if (statement.skipOnUnsupported()) {
                warnings.addWarning(
                    statement.getClass().getName() + " is not supported on " + database.getShortName() +
                        ", but " + Scope.getCurrentScope().getSingleton(ChangeFactory.class).getChangeMetaData(this).getName() +
                        " will still execute");
            }
        }

        return warnings;
    }
@ Override public Warnings warn ( Database database ) { Warnings warnings = new Warnings ( ) ; if ( generateStatementsVolatile ( database ) ) { return warnings ; } SqlStatement [ ] statements = generateStatements ( database ) ; if ( statements == null ) { return warnings ; } for ( SqlStatement statement : statements ) { if ( SqlGeneratorFactory . getInstance ( ) . supports ( statement , database ) ) { warnings . addAll ( SqlGeneratorFactory . getInstance ( ) . warn ( statement , database ) ) ; } else if ( statement . skipOnUnsupported ( ) ) { warnings . addWarning ( statement . getClass ( ) . getName ( ) + " is not supported on " + database . getShortName ( ) + ", but " + Scope . getCurrentScope ( ) . getSingleton ( ChangeFactory . class ) . getChangeMetaData ( this ) . getName ( ) + " will still execute" ) ; } } return warnings ; }
Implementation delegates logic to the
{@link liquibase.sqlgenerator.SqlGenerator#warn(liquibase.statement.SqlStatement, liquibase.database.Database,
liquibase.sqlgenerator.SqlGeneratorChain)} method on the {@link SqlStatement} objects returned by
{@link #generateStatements }.
If a generated statement is not supported for the given database, no warning will be added since that is a
validation error. If no or null SqlStatements are returned by generateStatements then this method returns no
warnings.
Implementation delegates logic to the {