protected void postProcessInsert() { // insert (implicitly auto-generated sequences not included) Collection<Column> columns = table.getColumns(); List<Column> insertColumns = new ArrayList<>(columns.size()); Insert insert = new Insert(table); for (Column column : columns) { if (column.isIdentity()) { // identity column is never inserted continue; } insertColumns.add(column); insert.addColumn(column); } insertSqlMap.put(tableName, insert.getStatement()); insertColumnsMap.put(tableName, insertColumns); }
/** * Alternative to {@link #setNewValues} * * @param columns the columns * @param deltas which of the columns are delta updates */ public void setUpdatedColumns(List<Column> columns, Set<String> deltas) { List<String> updatedColumns = new LinkedList<>(); for (Column column : columns) { if (column.isIdentity()) { // identity column is never inserted continue; } String col = column.getQuotedName(); String fvs = column.getFreeVariableSetter(); String update; if (deltas.contains(column.getKey())) { update = col + " = " + col + " + " + fvs; } else { update = col + " = " + fvs; } updatedColumns.add(update); } newValues = StringUtils.join(updatedColumns, ", "); }
Insert insert = new Insert(table); for (Column column : columns) { if (column.isIdentity()) {
protected void postProcessCopy() { Collection<Column> columns = table.getColumns(); List<String> selectWhats = new ArrayList<>(columns.size()); Column copyIdColumn = table.getColumn(Model.MAIN_KEY); Insert insert = new Insert(table); for (Column column : columns) { if (column.isIdentity()) { // identity column is never copied continue; } insert.addColumn(column); if (column == copyIdColumn) { // explicit value selectWhats.add("?"); } else { // otherwise copy value selectWhats.add(column.getQuotedName()); } } Select select = new Select(table); select.setWhat(String.join(", ", selectWhats)); select.setFrom(table.getQuotedName()); select.setWhere(copyIdColumn.getQuotedName() + " = ?"); insert.setValues(select.getStatement()); copySqlMap.put(tableName, insert.getStatement()); copyIdColumnMap.put(tableName, copyIdColumn); }
protected void postAddColumn(Column column, List<String> sqls, Model model) { if (column.isPrimary() && !(column.isIdentity() && dialect.isIdentityAlreadyPrimary())) { StringBuilder buf = new StringBuilder(); String constraintName = dialect.openQuote() + dialect.getPrimaryKeyConstraintName(key) sqls.add(buf.toString()); if (column.isIdentity()) {
for (Iterator<Column> i = columnList.iterator(); i.hasNext();) { Column column = i.next(); if (column.isIdentity()) { idColumn = column;