return unique;
}
public OracleConstraint parseConstaint() {
OracleConstraint constraint = (OracleConstraint) super.parseConstaint();
for (;;) {
if (lexer.token() == Token.EXCEPTIONS) {
lexer.nextToken();
accept(Token.INTO);
SQLName exceptionsInto = this.name();
constraint.setExceptionsInto(exceptionsInto);
continue;
}
if (lexer.token() == Token.DISABLE) {
lexer.nextToken();
constraint.setEnable(false);
continue;
}
if (lexer.token() == Token.ENABLE) {
lexer.nextToken();
constraint.setEnable(true);
continue;
}
if (lexer.token() == Token.INITIALLY) {
lexer.nextToken();
if (lexer.token() == Token.IMMEDIATE) {
lexer.nextToken();
constraint.setInitially(Initially.IMMEDIATE);
} else {
accept(Token.DEFERRED);
constraint.setInitially(Initially.DEFERRED);
}
continue;
}
if (lexer.token() == Token.NOT) {
lexer.nextToken();
if (identifierEquals("DEFERRABLE")) {
lexer.nextToken();
constraint.setDeferrable(false);
continue;
}
throw new ParserException("TODO " + lexer.token());
}
if (identifierEquals("DEFERRABLE")) {
lexer.nextToken();
constraint.setDeferrable(true);
continue;
}
break;
}