protected void determineAutoIncrementColumns(Connection connection, Table table) throws SQLException { Column[] columns = table.getColumns(); for (int idx = 0; idx < columns.length; idx++) { columns[idx].setAutoIncrement(isAutoIncrement(connection, table, columns[idx])); } }
@Override protected Column readColumn(DatabaseMetaDataWrapper metaData, Map<String, Object> values) throws SQLException { Column column = super.readColumn(metaData, values); if ("SERIAL".equalsIgnoreCase(column.getJdbcTypeName()) || "BIGSERIAL".equalsIgnoreCase(column.getJdbcTypeName())) { column.setAutoIncrement(true); } return column; }
@Override protected Column readColumn(DatabaseMetaDataWrapper metaData, Map<String, Object> values) throws SQLException { Column column = super.readColumn(metaData, values); if (TypeMap.isTextType(column.getMappedTypeCode()) && (column.getDefaultValue() != null)) { column.setDefaultValue(unescape(column.getDefaultValue(), "'", "''")); } String autoIncrement = (String) values.get("IS_AUTOINCREMENT"); if (autoIncrement != null) { column.setAutoIncrement("YES".equalsIgnoreCase(autoIncrement.trim())); } return column; }
Column column = table.getColumnWithName(columnName); if (column != null) { column.setAutoIncrement(true);
columnsToCheck[idx].setAutoIncrement(true);
column.setAutoIncrement(true); column.setDefaultValue(null);
@Override protected Column readColumn(DatabaseMetaDataWrapper metaData, Map<String,Object> values) throws SQLException { Column column = super.readColumn(metaData, values); String defaultValue = column.getDefaultValue(); if (defaultValue != null) { // we check for these strings // GENERATED_BY_DEFAULT -> 'GENERATED BY DEFAULT AS IDENTITY' // AUTOINCREMENT: start 1 increment 1 -> 'GENERATED ALWAYS AS // IDENTITY' if ("GENERATED_BY_DEFAULT".equals(defaultValue) || defaultValue.startsWith("AUTOINCREMENT:")) { column.setDefaultValue(null); column.setAutoIncrement(true); } else if (TypeMap.isTextType(column.getMappedTypeCode())) { column.setDefaultValue(unescape(defaultValue, "'", "''")); } } return column; }
protected Table toAuditTable(Table table) { Table auditTable = table.copy(); String tableName = table.getName(); if (!FormatUtils.isMixedCase(tableName)) { tableName = tableName.toUpperCase(); } auditTable.setName(String.format("%s_AUDIT", tableName)); Column[] columns = auditTable.getColumns(); auditTable.removeAllColumns(); auditTable.addColumn(new Column(COLUMN_AUDIT_ID, true, Types.BIGINT, 0, 0)); auditTable.addColumn(new Column(COLUMN_AUDIT_TIME, false, Types.TIMESTAMP, 0, 0)); auditTable.addColumn(new Column(COLUMN_AUDIT_EVENT, false, Types.CHAR, 1, 0)); for (Column column : columns) { column.setRequired(false); column.setPrimaryKey(false); column.setAutoIncrement(false); auditTable.addColumn(column); } auditTable.removeAllForeignKeys(); auditTable.removeAllIndices(); engine.getDatabasePlatform().alterCaseToMatchDatabaseDefaultCase(auditTable); return auditTable; }
column.setAutoIncrement(true); defaultValue = null; } else {