class UpdateSqlCommandStep extends AbstractUpdateCommandStep {

    public static final String[] COMMAND_NAME = {"updateSql"};
    public static final String[] LEGACY_COMMAND_NAME = {"migrateSql"};

    public static final CommandArgumentDefinition<String> CHANGELOG_FILE_ARG;
    public static final CommandArgumentDefinition<String> LABEL_FILTER_ARG;
    public static final CommandArgumentDefinition<String> CONTEXTS_ARG;
    public static final CommandArgumentDefinition<Writer> OUTPUT_WRITER;
    public static final CommandArgumentDefinition<Boolean> OUTPUT_DEFAULT_SCHEMA_ARG;
    public static final CommandArgumentDefinition<Boolean> OUTPUT_DEFAULT_CATALOG_ARG;

    static {
        CommandBuilder builder = new CommandBuilder(COMMAND_NAME, LEGACY_COMMAND_NAME);
        CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required()
                .description("The root changelog").build();
        LABEL_FILTER_ARG = builder.argument("labelFilter", String.class)
                .addAlias("labels")
                .description("Changeset labels to match").build();
        CONTEXTS_ARG = builder.argument("contextFilter", String.class)
                .addAlias("contexts")
                .description("Changeset contexts to match").build();
        OUTPUT_WRITER = builder.argument("outputWriter", Writer.class)
                .hidden().build();
        OUTPUT_DEFAULT_SCHEMA_ARG = builder.argument("outputDefaultSchema", Boolean.class)
                .description("Control whether names of objects in the default schema are fully qualified or not. If true they are. If false, only objects outside the default schema are fully qualified")
                .defaultValue(true)
                .build();
        OUTPUT_DEFAULT_CATALOG_ARG = builder.argument("outputDefaultCatalog", Boolean.class)
                .description("Control whether names of objects in the default catalog are fully qualified or not. If true they are. If false, only objects outside the default catalog are fully qualified")
                .defaultValue(true)
                .build();
    }

    @Override
    public List<Class<?>> requiredDependencies() {
        List<Class<?>> dependencies = new ArrayList<>();
        dependencies.add(Writer.class);
        dependencies.addAll(super.requiredDependencies());
        return dependencies;
    }

    @Override
    public void run(CommandResultsBuilder resultsBuilder) throws Exception {
        final CommandScope commandScope = resultsBuilder.getCommandScope();
        final Database database = (Database) commandScope.getDependency(Database.class);
        final String changelogFile = commandScope.getArgumentValue(DatabaseChangelogCommandStep.CHANGELOG_FILE_ARG);
        LoggingExecutorTextUtil.outputHeader("Update Database Script", database, changelogFile);
        super.run(resultsBuilder);
    }

    @Override
    public String[][] defineCommandNames() {
        return new String[][]{
                COMMAND_NAME,
                LEGACY_COMMAND_NAME
        };
    }

    @Override
    public void adjustCommandDefinition(CommandDefinition commandDefinition) {<FILL_FUNCTION_BODY>}


    @Override
    public String getChangelogFileArg(CommandScope commandScope) {
        return commandScope.getArgumentValue(CHANGELOG_FILE_ARG);
    }

    @Override
    public String getContextsArg(CommandScope commandScope) {
        return commandScope.getArgumentValue(CONTEXTS_ARG);
    }

    @Override
    public String getLabelFilterArg(CommandScope commandScope) {
        return commandScope.getArgumentValue(LABEL_FILTER_ARG);
    }

    @Override
    public String[] getCommandName() {
        return COMMAND_NAME;
    }

    @Override
    public UpdateSummaryEnum getShowSummary(CommandScope commandScope) {
        return UpdateSummaryEnum.OFF;
    }
}

        commandDefinition.setShortDescription("Generate the SQL to deploy changes in the changelog which have not been deployed");
        if (commandDefinition.is(LEGACY_COMMAND_NAME)) {
            commandDefinition.setHidden(true);
        }
    
<methods>public non-sealed void <init>() ,public void cleanUp(liquibase.command.CommandResultsBuilder) ,public abstract java.lang.String getChangelogFileArg(liquibase.command.CommandScope) ,public abstract java.lang.String[] getCommandName() ,public abstract java.lang.String getContextsArg(liquibase.command.CommandScope) ,public abstract java.lang.String getLabelFilterArg(liquibase.command.CommandScope) ,public abstract liquibase.UpdateSummaryEnum getShowSummary(liquibase.command.CommandScope) ,public liquibase.UpdateSummaryOutputEnum getShowSummaryOutput(liquibase.command.CommandScope) ,public liquibase.changelog.ChangeLogIterator getStandardChangelogIterator(liquibase.command.CommandScope, liquibase.database.Database, liquibase.Contexts, liquibase.LabelExpression, liquibase.changelog.DatabaseChangeLog) throws liquibase.exception.LiquibaseException,public liquibase.changelog.ChangeLogIterator getStatusChangelogIterator(liquibase.command.CommandScope, liquibase.database.Database, liquibase.Contexts, liquibase.LabelExpression, liquibase.changelog.DatabaseChangeLog) throws liquibase.exception.LiquibaseException,public boolean isUpToDate(liquibase.command.CommandScope, liquibase.database.Database, liquibase.changelog.DatabaseChangeLog, liquibase.Contexts, liquibase.LabelExpression, java.io.OutputStream) throws liquibase.exception.LiquibaseException, java.io.IOException,public boolean isUpToDateFastCheck(liquibase.command.CommandScope, liquibase.database.Database, liquibase.changelog.DatabaseChangeLog, liquibase.Contexts, liquibase.LabelExpression) throws liquibase.exception.LiquibaseException,public void postUpdateLog(int) ,public List<Class<?>> requiredDependencies() ,public void run(liquibase.command.CommandResultsBuilder) throws java.lang.Exception,public void setFastCheckEnabled(boolean) <variables>private static final java.lang.String DATABASE_UP_TO_DATE_MESSAGE,public static final java.lang.String DEFAULT_CHANGE_EXEC_LISTENER_RESULT_KEY,private boolean isDBLocked,private boolean isFastCheckEnabled,private final Map<java.lang.String,java.lang.Boolean> upToDateFastCheck