private Constraint extractIntegerPrimaryKeyConstraintFrom(Cursor columnsCursor) { if (isTableInfoItemAnIntegerPrimaryKey(columnsCursor)) { String columnName = columnsCursor.getString(columnsCursor.getColumnIndex(COLUMN_NAME)); return new Constraint(Collections.singletonList(columnName)); } return null; }
private Constraint uniqueIndexConstraintFrom(Cursor indexCursor) { if (!isIndexUnique(indexCursor)) { return null; } String indexName = indexCursor.getString(1); Cursor indexInfoCursor = queryInfoFor(indexName); List<String> columns = parseIndexColumnsFrom(indexInfoCursor); indexInfoCursor.close(); return new Constraint(columns); }
/** * Use {@link #tryUpdateWithConstraint(String, Constraint, ContentValues)} */ @Deprecated protected long tryUpdateWithConstrain(String table, String constrain, ContentValues values) { long rowId = -1; int update = dbHelper.getWritableDatabase().update(table, values, constrain + "=?", new String[]{ values.getAsString(constrain) }); if (Log.Provider.verboseLoggingEnabled()) { Log.Provider.v("Constrain " + constrain + " yield " + update); } if (update > 0) { rowId = getRowIdForUpdate(table, new Constraint(Arrays.asList(constrain)), values); } return rowId; }
public void testMultiColumnUniqueConstraints() { createDatabase(CREATE_TABLE_WITH_MULTI_COLUMN_CONSTRAINT); List<Constraint> constraints = databaseStructure.uniqueConstraintsFor("t"); assertContentsInAnyOrder(constraints, new Constraint(Arrays.asList("name", "desc"))); }
public void testUniqueConstraints() { createDatabase(CREATE_TABLE_WITH_CONSTRAINT); List<Constraint> constraints = databaseStructure.uniqueConstraintsFor("t"); assertContentsInAnyOrder(constraints, new Constraint(Collections.singletonList("const"))); }
public void testUniqueConstraintsForIntegerPrimaryKey() { createDatabase(CREATE_TABLE_WITH_INTEGER_PRIMARY_KEY); List<Constraint> constraints = databaseStructure.uniqueConstraintsFor("t"); assertContentsInAnyOrder(constraints, new Constraint(Collections.singletonList("_id"))); }