final String tableName = "Account";
final String insertedName = "MetaModel TESTER contact";
// INSERT
dc.executeUpdate(new UpdateScript() {
@Override
public void run(UpdateCallback callback) {
callback.insertInto(tableName).value("name", insertedName).execute();
}
});
final List<String> ids = new ArrayList<String>();
DataSet ds;
ds = dc.query().from(tableName).select("id", "name").where("name").eq(insertedName).execute();
assertTrue(ds.next());
Row row = ds.getRow();
assertNotNull(row.getValue(0));
ids.add(row.getValue(0).toString());
while (ds.next()) {
row = ds.getRow();
ids.add(row.getValue(0).toString());
assertEquals("MetaModel TESTER contact", row.getValue(1));
}
ds.close();
// UPDATE
dc.executeUpdate(new UpdateScript() {
@Override
public void run(UpdateCallback callback) {
callback.update(tableName).where("id").eq(ids.get(0)).value("name", "Another test value").execute();
}
});
ds = dc.query().from(tableName).select("name").where("id").eq(ids.get(0)).execute();
assertTrue(ds.next());
assertEquals("Another test value", ds.getRow().getValue(0));
assertFalse(ds.next());
ds.close();
// UPDATE (a record that does not exist)
dc.executeUpdate(new UpdateScript() {
@Override
public void run(UpdateCallback callback) {
callback.update(tableName).where("id").eq("fooooooobaaaaaaaar")
.value("name", "A test value that should never occur").execute();
}
});
// DELETE
dc.executeUpdate(new UpdateScript() {
@Override
public void run(UpdateCallback callback) {
callback.deleteFrom(tableName).where("id").in(ids).execute();
}
});