@Override protected boolean isInternalPrimaryKeyIndex(Connection connection, DatabaseMetaDataWrapper metaData, Table table, IIndex index) { return table.doesIndexContainOnlyPrimaryKeyColumns(index); }
protected String aliasedPrimaryKeyJoinVar(String alias, String prefix, Column[] columns) { String text = ""; for (int i = 0; i < columns.length; i++) { text += alias + ".\"" + columns[i].getName() + "\""; text += "=@" + prefix + "pk" + i; if (i + 1 < columns.length) { text += " and "; } } return text; }
protected void adjustColumns(Table table) { Column[] columns = table.getColumns(); for (int idx = 0; idx < columns.length; idx++) { if (columns[idx].getMappedTypeCode() == Types.FLOAT) { columns[idx].setMappedTypeCode(Types.REAL); } else if ((columns[idx].getMappedTypeCode() == Types.NUMERIC) || (columns[idx].getMappedTypeCode() == Types.DECIMAL)) { if ((columns[idx].getMappedTypeCode() == Types.NUMERIC) && (columns[idx].getSizeAsInt() == 18) && (columns[idx].getScale() == 0)) { columns[idx].setMappedTypeCode(Types.BIGINT); } } else if (TypeMap.isTextType(columns[idx].getMappedTypeCode())) { columns[idx].setDefaultValue(unescape(columns[idx].getDefaultValue(), "'", "''")); } } }
protected Table postprocessTableFromDatabase(Table table) { if (table != null) { for (int columnIdx = 0; columnIdx < table.getColumnCount(); columnIdx++) { Column column = table.getColumn(columnIdx); if (TypeMap.isTextType(column.getMappedTypeCode()) || TypeMap.isDateTimeType(column.getMappedTypeCode())) { String defaultValue = column.getDefaultValue(); if ((defaultValue != null) && (defaultValue.length() >= 2) && defaultValue.startsWith("'") && defaultValue.endsWith("'")) { defaultValue = defaultValue.substring(1, defaultValue.length() - 1); column.setDefaultValue(defaultValue); } } } } return table; }
public String getFullyQualifiedTargetTableName() { return Table.getFullyQualifiedTableName(sourceCatalogName, sourceSchemaName, sourceTableName); }
@Override protected Column readColumn(DatabaseMetaDataWrapper metaData, Map<String,Object> values) throws SQLException { Column column = super.readColumn(metaData, values); if (column.getMappedTypeCode() == Types.FLOAT) { column.setMappedTypeCode(Types.REAL); } else if (TypeMap.isTextType(column.getMappedTypeCode())) { column.setDefaultValue(unescape(column.getDefaultValue(), "'", "''")); } return column; }
public Database execute(Connection connection) throws SQLException { Database db = new Database(); db.setName(Table.getQualifiedTablePrefix(catalog, schema)); db.addTables(readTables(connection, catalog, schema, tableTypes)); db.initialize(); return db; } }));
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])); } }
protected List<String> getLocalFkRefColumns(Table table) { List<String> columns = new ArrayList<String>(); for (ForeignKey fk : table.getForeignKeys()) { for (Reference ref : fk.getReferences()) { columns.add(ref.getLocalColumnName()); } } return columns; }
@Override protected boolean isInternalPrimaryKeyIndex(Connection connection, DatabaseMetaDataWrapper metaData, Table table, IIndex index) { // Sql Server generates an index "PK__[table name]__[hex number]" StringBuffer pkIndexName = new StringBuffer(); pkIndexName.append("PK__"); pkIndexName.append(table.getName()); pkIndexName.append("__"); return index.getName().toUpperCase().startsWith(pkIndexName.toString().toUpperCase()); }
protected boolean matches(IIndex index, List<String> columnsToSearchFor) { for (String column : columnsToSearchFor) { boolean found = false; for (int i = 0; i < index.getColumnCount(); i++) { if (column != null && column.equals(index.getColumn(i).getName())) { found = true; } } if (!found) { return false; } } return true; }
RealmMigration migration = new RealmMigration() { @Override public long execute(Realm realm, long version) { Table table = realm.getTable(Dog.class); table.convertColumnToNullable(table.getColumnIndex("name")); return 1; } };
@Override public boolean canColumnBeUsedInWhereClause(Column column) { return !column.isOfBinaryType(); }
public String getFullyQualifiedSourceTableName() { return Table.getFullyQualifiedTableName(sourceCatalogName, sourceSchemaName, sourceTableName); }
@Override public boolean canColumnBeUsedInWhereClause(Column column) { return !column.isOfBinaryType(); }
public String getFullyQualifiedSourceTableName() { return Table.getFullyQualifiedTableName(sourceCatalogName, sourceSchemaName, sourceTableName); }
@Override public boolean canColumnBeUsedInWhereClause(Column column) { return !column.isOfBinaryType(); }
public String getFullyQualifiedSourceTableName() { return Table.getFullyQualifiedTableName(sourceCatalogName, sourceSchemaName, sourceTableName, null); }