Repository: cayenne Updated Branches: refs/heads/master 9a86dc506 -> 03b0d270d
test that we are allowed to commit within an iterator Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/03b0d270 Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/03b0d270 Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/03b0d270 Branch: refs/heads/master Commit: 03b0d270db3ae4dfd81b08ed0e0333a9e88765d3 Parents: 9a86dc5 Author: Andrus Adamchik <[email protected]> Authored: Mon Sep 5 14:17:38 2016 +0300 Committer: Andrus Adamchik <[email protected]> Committed: Mon Sep 5 14:17:38 2016 +0300 ---------------------------------------------------------------------- .../access/DataContextIteratedQueryIT.java | 22 ++++++++++++++++++++ 1 file changed, 22 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/03b0d270/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIteratedQueryIT.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIteratedQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIteratedQueryIT.java index b3e4326..ba35c5d 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIteratedQueryIT.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIteratedQueryIT.java @@ -206,4 +206,26 @@ public class DataContextIteratedQueryIT extends ServerCase { } } } + + @Test + public void testPerformIteratedQuery_CommitWithinIterator() throws Exception { + createArtistsAndPaintingsDataSet(); + + assertEquals(7, tPainting.getRowCount()); + + try (ResultIterator<?> it = context.performIteratedQuery(SelectQuery.query(Artist.class));) { + while (it.hasNextRow()) { + DataRow row = (DataRow) it.nextRow(); + + Artist artist = context.objectFromDataRow(Artist.class, row); + + Painting painting = context.newObject(Painting.class); + painting.setPaintingTitle("P_" + artist.getArtistName()); + painting.setToArtist(artist); + context.commitChanges(); + } + } + + assertEquals(14, tPainting.getRowCount()); + } }
