Search in sources :

Example 1 with CreateSequence

use of org.h2.command.ddl.CreateSequence in project h2database by h2database.

the class Parser method parseCreateSequence.

private CreateSequence parseCreateSequence() {
    boolean ifNotExists = readIfNotExists();
    String sequenceName = readIdentifierWithSchema();
    CreateSequence command = new CreateSequence(session, getSchema());
    command.setIfNotExists(ifNotExists);
    command.setSequenceName(sequenceName);
    while (true) {
        if (readIf("START")) {
            readIf("WITH");
            command.setStartWith(readExpression());
        } else if (readIf("INCREMENT")) {
            readIf("BY");
            command.setIncrement(readExpression());
        } else if (readIf("MINVALUE")) {
            command.setMinValue(readExpression());
        } else if (readIf("NOMINVALUE")) {
            command.setMinValue(null);
        } else if (readIf("MAXVALUE")) {
            command.setMaxValue(readExpression());
        } else if (readIf("NOMAXVALUE")) {
            command.setMaxValue(null);
        } else if (readIf("CYCLE")) {
            command.setCycle(true);
        } else if (readIf("NOCYCLE")) {
            command.setCycle(false);
        } else if (readIf("NO")) {
            if (readIf("MINVALUE")) {
                command.setMinValue(null);
            } else if (readIf("MAXVALUE")) {
                command.setMaxValue(null);
            } else if (readIf("CYCLE")) {
                command.setCycle(false);
            } else if (readIf("CACHE")) {
                command.setCacheSize(ValueExpression.get(ValueLong.get(1)));
            } else {
                break;
            }
        } else if (readIf("CACHE")) {
            command.setCacheSize(readExpression());
        } else if (readIf("NOCACHE")) {
            command.setCacheSize(ValueExpression.get(ValueLong.get(1)));
        } else if (readIf("BELONGS_TO_TABLE")) {
            command.setBelongsToTable(true);
        } else if (readIf("ORDER")) {
        // Oracle compatibility
        } else {
            break;
        }
    }
    return command;
}
Also used : CreateSequence(org.h2.command.ddl.CreateSequence) ValueString(org.h2.value.ValueString)

Aggregations

CreateSequence (org.h2.command.ddl.CreateSequence)1 ValueString (org.h2.value.ValueString)1