/** * Computes the SQL statement to alter a table and add a column to it. * * @param column the column to add * @return the SQL alter table string */ @Override public String getAddColumnSql(Column column) { StringBuilder buf = new StringBuilder(); buf.append("ALTER TABLE "); buf.append(getQuotedName()); buf.append(' '); buf.append(dialect.getAddColumnString()); buf.append(' '); addOneColumn(buf, column); return buf.toString(); }
/** * Computes the SQL statement to drop the table. * <p> * TODO drop constraints and indexes * * @return the SQL drop string. */ @Override public String getDropSql() { StringBuilder buf = new StringBuilder(); buf.append("DROP TABLE "); if (dialect.supportsIfExistsBeforeTableName()) { buf.append("IF EXISTS "); } buf.append(getQuotedName()); buf.append(dialect.getCascadeDropConstraintsString()); if (dialect.supportsIfExistsAfterTableName()) { buf.append(" IF EXISTS"); } return buf.toString(); }
/** * Computes the SQL statement to create the table. * * @return the SQL create string. */ @Override public String getCreateSql() { StringBuilder buf = new StringBuilder(); buf.append("CREATE TABLE "); buf.append(getQuotedName()); buf.append(" ("); String custom = dialect.getCustomColumnDefinition(this); if (custom != null) { buf.append(custom); buf.append(", "); } for (Iterator<Column> it = columns.values().iterator(); it.hasNext();) { addOneColumn(buf, it.next()); if (it.hasNext()) { buf.append(", "); } } // unique // check buf.append(')'); buf.append(dialect.getTableTypeString(this)); return buf.toString(); }
+ dialect.closeQuote(); buf.append("ALTER TABLE "); buf.append(getQuotedName()); buf.append(dialect.getAddPrimaryKeyConstraintString(constraintName)); buf.append('('); StringBuilder buf = new StringBuilder(); buf.append("ALTER TABLE "); buf.append(getQuotedName()); buf.append(dialect.getAddForeignKeyConstraintString(constraintName, new String[] { column.getQuotedName() }, ft.getQuotedName(), new String[] { fc.getQuotedName() },
protected void getTable(Connection connection, String tbl) throws SQLException { String tablePhysicalName = dialect.getTableName(tbl); table = new TableImpl(dialect, tablePhysicalName, tablePhysicalName); keyCol = addColumn(KEY_COL, ColumnType.SYSNAME); keyCol.setPrimary(true); keyCol.setNullable(false); longCol = addColumn(LONG_COL, ColumnType.LONG); stringCol = addColumn(STRING_COL, ColumnType.CLOB); bytesCol = addColumn(BYTES_COL, ColumnType.BLOB); ttlCol = addColumn(TTL_COL, ColumnType.LONG); table.addIndex(TTL_COL); tableName = table.getQuotedName(); keyColName = keyCol.getQuotedName(); longColName = longCol.getQuotedName(); stringColName = stringCol.getQuotedName(); bytesColName = bytesCol.getQuotedName(); ttlColName = ttlCol.getQuotedName(); if (!tableExists(connection)) { createTable(connection); } checkColumns(connection); }