private AlterTableAlterColumn parseAlterTableAlterColumnType(Table table, String columnName, Column column) { Column newColumn = parseColumnForTable(columnName, column.isNullable()); AlterTableAlterColumn command = new AlterTableAlterColumn(session, table.getSchema()); command.setTable(table); command.setType(CommandInterface.ALTER_TABLE_ALTER_COLUMN_CHANGE_TYPE); command.setOldColumn(column); command.setNewColumn(newColumn); return command; }
private Prepared parsePrepare() { if (readIf("COMMIT")) { TransactionCommand command = new TransactionCommand(session, CommandInterface.PREPARE_COMMIT); command.setTransactionName(readUniqueIdentifier()); return command; } readAliasIdentifier(); if (readIf("(")) { ArrayList<Column> list = New.arrayList(); for (int i = 0;; i++) { Column column = parseColumnForTable("C" + i, true); list.add(column); if (readIf(")")) { break; } read(","); } } read("AS"); parsePrepared(); return new NoOperation(session); }
do { String columnName = readColumnIdentifier(); Column column = parseColumnForTable(columnName, true); columnsToAdd.add(column); } while (readIf(",")); command.setIfNotExists(ifNotExists); String columnName = readColumnIdentifier(); Column column = parseColumnForTable(columnName, true); columnsToAdd.add(column); if (readIf("BEFORE")) {
private CreateUserDataType parseCreateUserDataType() { boolean ifNotExists = readIfNotExists(); CreateUserDataType command = new CreateUserDataType(session); command.setTypeName(readUniqueIdentifier()); read("AS"); Column col = parseColumnForTable("VALUE", true); if (readIf("CHECK")) { Expression expr = readExpression(); col.addCheckConstraint(session, expr); } col.rename(null); command.setColumn(col); command.setIfNotExists(ifNotExists); return command; }
} else { String columnName = readColumnIdentifier(); Column column = parseColumnForTable(columnName, true); if (column.isAutoIncrement() && column.isPrimaryKey()) { column.setPrimaryKey(false);
parseColumnForTable(newColumnName, column.isNullable()); AlterTableRenameColumn command = new AlterTableRenameColumn(session); command.setTable(table);