2 Replies Latest reply: Dec 13, 2012 2:25 PM by FonzDesselle RSS

    Weird behavior when deleting too many rows from a table

    FonzDesselle
      Hello ADFr's

      I have the following code in my managed bean which removes data from an adf table. I am getting an id set from a calling process in my app.

      DCIteratorBinding tableIterato = getIterator(); // returns iterator of the table being modified
      RowSetIterator rsi = tableIterator.getRowSetIterator();
      for(Integer id : idSet) {
      Key key = new Key(new Object[]{id.toString()});
      Row foundRow = rsi.findByKey(key, 1)[0];
      foundRow.remove();
      }

      My issue ..

      This seems to work when the idSet is small 30 or so. But when the idSet is like 50(maybe a littel less) or more, none of the rows seem to be getting deleted. Any clue?

      I added this test in there to see if any rows were being deleted after the loop above, and all the records were still being printed out.

      for(Row row : tableIterator.getAllRowsInRange()) {
      System.out.println("row with name " row.getAtribute("name") " swtill exists");
      }

      This seems to work under 30 fine.

      Why doesn't this work for any size idSet?