private void delete(Event event) throws SQLException {
    List<Object> newRow = event.getNewRow();
    boolean isPossibleDuplicate = event.isPossibleDuplicate();
    int count = 0;
    if (newRow != null)
      throw new TestException("BEFORE_DELETE is invoked, but " + "newRow is not null: " + newRow);

    deleteStmt.get().setInt(1, (Integer) event.getPrimaryKey()[0]); // through primary key
    Log.getLogWriter()
        .info("deleting from buyorders in derby where oid =" + (Integer) event.getPrimaryKey()[0]);
    count = deleteStmt.get().executeUpdate();
    Log.getLogWriter().info("deleted " + count + " row");
    if (count != 1 && !isPossibleDuplicate && !SQLTest.setTx)
      throw new TestException(
          "delete from writer does not "
              + "delete the corresponding row in back_end, deleted row is "
              + count);
  }
 private void insert(Event event) throws SQLException {
   List<Object> oldRow = event.getOldRow();
   List<Object> newRow = event.getNewRow();
   boolean isPossibleDuplicate = event.isPossibleDuplicate();
   // for HA case, before insert check if record has been inserted already to avoid duplicate
   if (isPossibleDuplicate) {
     ResultSet rs =
         stmt.get()
             .executeQuery(
                 "select * from trade.buyorders where oid = "
                     + (Integer) event.getPrimaryKey()[0]);
     if (rs.next()) {
       Log.getLogWriter().info("this row has been inserted already " + newRow);
       // if it is there, do not insert again
     } else {
       doInsert(oldRow, newRow, isPossibleDuplicate);
     }
   } else doInsert(oldRow, newRow, isPossibleDuplicate);
 }