@Test public void testParseCreateTablePrimaryKeyConstraintWithOrder() throws Exception { for (String order : new String[]{"asc", "desc"}) { String s = "create table core.entity_history_archive (id CHAR(15), name VARCHAR(150), constraint pk primary key (id ${o}, name ${o}))".replace("${o}", order); CreateTableStatement stmt = (CreateTableStatement)new SQLParser((s)).parseStatement(); PrimaryKeyConstraint pkConstraint = stmt.getPrimaryKeyConstraint(); List<Pair<ColumnName,SortOrder>> columns = pkConstraint.getColumnNames(); assertEquals(2, columns.size()); for (Pair<ColumnName,SortOrder> pair : columns) { assertEquals(SortOrder.fromDDLValue(order), pkConstraint.getColumnWithSortOrder(pair.getFirst()).getSecond()); } } }
Iterator<Pair<ColumnName,SortOrder>> pkColumnsIterator = Collections.emptyIterator(); if (pkConstraint != null) { pkColumnsNames = pkConstraint.getColumnNames(); pkColumnsIterator = pkColumnsNames.iterator(); pkName = pkConstraint.getName();
if (def.isPK() && !pkConstraint.getColumnNames().isEmpty() ) { throw new SQLExceptionInfo.Builder(SQLExceptionCode.PRIMARY_KEY_ALREADY_EXISTS) .setColumnName(columnName).build().buildException(); if (isPK && !addingToPK && pkConstraint.getColumnNames().size() <= 1) { if (def.isNull() && def.isNullSet()) { throw new SQLExceptionInfo.Builder(SQLExceptionCode.SINGLE_PK_MAY_NOT_BE_NULL)
Iterator<Pair<ColumnName,SortOrder>> pkColumnsIterator = Collections.emptyIterator(); if (pkConstraint != null) { pkColumnsNames = pkConstraint.getColumnNames(); pkColumnsIterator = pkColumnsNames.iterator(); pkName = pkConstraint.getName();
Iterator<Pair<ColumnName,SortOrder>> pkColumnsIterator = Collections.emptyIterator(); if (pkConstraint != null) { pkColumnsNames = pkConstraint.getColumnNames(); pkColumnsIterator = pkColumnsNames.iterator(); pkName = pkConstraint.getName();
if (def.isPK() && !pkConstraint.getColumnNames().isEmpty() ) { throw new SQLExceptionInfo.Builder(SQLExceptionCode.PRIMARY_KEY_ALREADY_EXISTS) .setColumnName(columnName).build().buildException(); if (isPK && !addingToPK && pkConstraint.getColumnNames().size() <= 1) { if (def.isNull() && def.isNullSet()) { throw new SQLExceptionInfo.Builder(SQLExceptionCode.SINGLE_PK_MAY_NOT_BE_NULL)
if (def.isPK() && !pkConstraint.getColumnNames().isEmpty() ) { throw new SQLExceptionInfo.Builder(SQLExceptionCode.PRIMARY_KEY_ALREADY_EXISTS) .setColumnName(columnName).build().buildException(); if (isPK && !addingToPK && pkConstraint.getColumnNames().size() <= 1) { if (def.isNull() && def.isNullSet()) { throw new SQLExceptionInfo.Builder(SQLExceptionCode.SINGLE_PK_MAY_NOT_BE_NULL)