function testUpdate_PrimaryKeyViolation3() {
  var table = env.schema.table('tableA');
  var pkIndexSchema = table.getConstraint().getPrimaryKey();
  var pkIndex = env.indexStore.get(pkIndexSchema.getNormalizedName());

  var rows = [];
  for (var i = 0; i < 3; i++) {
    rows.push(table.createRow(
        {'id': 'pk' + i.toString(), 'name': 'DummyName'}));
  }

  var journal = createJournal([table]);
  journal.insert(table, rows);
  journal.commit();
  assertEquals(rows.length, env.cache.getCount());
  rows.forEach(function(row) {
    assertTrue(pkIndex.containsKey(row.payload()['id']));
  });

  var rowsUpdated = rows.map(function(row) {
    var updatedRow = table.createRow({'id': 'somePk', 'name': 'DummyName'});
    updatedRow.assignRowId(row.id());
    return updatedRow;
  });

  journal = createJournal([table]);
  lf.testing.util.assertThrowsError(
      201,  // Duplicate keys are not allowed.
      journal.update.bind(journal, table, rowsUpdated));
  journal.rollback();
}
Tests the case where multiple rows are updated to have the same primary key
and that primary key does not already exist.