Skip to content
Snippets Groups Projects

BUG: replacement ids interfering with external ids

Merged Timm Fitschen requested to merge f-mariadb-48 into dev
3 files
+ 8
12
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -107,20 +107,15 @@ public class DatabaseUtils {
@@ -107,20 +107,15 @@ public class DatabaseUtils {
final List<Property> stage1Inserts,
final List<Property> stage1Inserts,
Deque<EntityID> replacementIds,
Deque<EntityID> replacementIds,
EntityInterface entity) {
EntityInterface entity) {
Map<String, EntityInterface> replacements = new HashMap<>();
for (final Property p : stage1Inserts) {
for (final Property p : stage1Inserts) {
if (p instanceof Replacement) {
if (p instanceof Replacement) {
if (!p.hasId() || p.getId().isTemporary()) {
if (!p.hasId() || p.getId().isTemporary()) {
EntityID replacementId = replacementIds.pop();
EntityID replacementId = replacementIds.pop();
replacements.put(replacementId.toString(), p);
((Replacement) p).setReplacementId(replacementId);
((Replacement) p).setReplacementId(replacementId);
}
}
}
}
}
for (final Property p : stage1Inserts) {
if (p.hasProperties()) {
if (p.hasProperties()) {
if (p instanceof Replacement && ((Replacement) p).isState2Replacement()) {
if (p instanceof Replacement && ((Replacement) p).isStage2Replacement()) {
stage2Inserts.add(((Replacement) p).replacement);
stage2Inserts.add(((Replacement) p).replacement);
}
}
for (Property subP : p.getProperties()) {
for (Property subP : p.getProperties()) {
@@ -148,7 +143,6 @@ public class DatabaseUtils {
@@ -148,7 +143,6 @@ public class DatabaseUtils {
subP.setDomain(p);
subP.setDomain(p);
if (subP.hasProperties()) {
if (subP.hasProperties()) {
Replacement r = new Replacement(subP);
Replacement r = new Replacement(subP);
r.replacement.setDomain(p);
r.setStage2Replacement(true);
r.setStage2Replacement(true);
stage1Inserts.add(r);
stage1Inserts.add(r);
processSubPropertiesStage1(stage1Inserts, r);
processSubPropertiesStage1(stage1Inserts, r);
Loading