Skip to content

Commit 9105540

Browse files
committed
CAY-2896 Inserting two identical objects into two datamaps stores both objects in the last used datamap
- release notes and minor cleaup
1 parent aa5ef22 commit 9105540

2 files changed

Lines changed: 8 additions & 9 deletions

File tree

RELEASE-NOTES.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ CAY-2876 Memory leak in the ObjectStore
2727
CAY-2879 Negative number for non parameterized ObjectSelect query not processed correctly
2828
CAY-2883 License and notice templates are not processed by the Gradle build
2929
CAY-2885 Modeler: DbImport fails to load DB schema view
30+
CAY-2896 Inserting two identical objects into two datamaps stores both objects in the last used datamap
3031

3132
----------------------------------
3233
Release: 5.0-M1

cayenne/src/main/java/org/apache/cayenne/access/flush/operation/BaseDbRowOp.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,13 @@ public String toString() {
7777
return entity.getName() + " " + changeId;
7878
}
7979

80+
/**
81+
* Internal check used in the batching ops logic
82+
* @param rowOp to compare with
83+
* @return true if another op has the same entity name and datamap
84+
*/
8085
protected boolean entitiesHaveSameNameAndDataMap(DbRowOp rowOp) {
81-
return entitiesHaveSameName(rowOp) && entitiesHaveSameDataMap(rowOp);
82-
}
83-
84-
boolean entitiesHaveSameName(DbRowOp rowOp) {
85-
return rowOp.getEntity().getName().equals(getEntity().getName());
86-
}
87-
88-
private boolean entitiesHaveSameDataMap(DbRowOp rowOp) {
89-
return rowOp.getEntity().getDataMap().getName().equals(getEntity().getDataMap().getName());
86+
return getEntity().getName().equals(rowOp.getEntity().getName())
87+
&& getEntity().getDataMap().getName().equals(rowOp.getEntity().getDataMap().getName());
9088
}
9189
}

0 commit comments

Comments
 (0)