From de38f313633ac982a26f34c599eaddf11e8b325e Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Tue, 24 Oct 2023 02:22:32 +0200 Subject: [PATCH] DOC: update CHANGELOG --- CHANGELOG.md | 2 ++ .../backend/implementation/MySQL/DatabaseUtils.java | 8 +------- .../backend/implementation/MySQL/Replacement.java | 10 +++++----- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a744c76c..5fca5f27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * `FIND ENTITY <ID> is broken`. [linkahead-server#323](https://gitlab.indiscale.com/caosdb/src/caosdb-server/-/issues/323) +* Unknown Server Error when inserting an Entity. + [linkahead-mariadbbackend](https://gitlab.indiscale.com/caosdb/src/caosdb-mysqlbackend/-/issues/48) ### Security diff --git a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseUtils.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseUtils.java index 18c994e4..5383de9b 100644 --- a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseUtils.java +++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseUtils.java @@ -107,20 +107,15 @@ public class DatabaseUtils { final List<Property> stage1Inserts, Deque<EntityID> replacementIds, EntityInterface entity) { - Map<String, EntityInterface> replacements = new HashMap<>(); for (final Property p : stage1Inserts) { if (p instanceof Replacement) { if (!p.hasId() || p.getId().isTemporary()) { EntityID replacementId = replacementIds.pop(); - replacements.put(replacementId.toString(), p); ((Replacement) p).setReplacementId(replacementId); } } - } - - for (final Property p : stage1Inserts) { if (p.hasProperties()) { - if (p instanceof Replacement && ((Replacement) p).isState2Replacement()) { + if (p instanceof Replacement && ((Replacement) p).isStage2Replacement()) { stage2Inserts.add(((Replacement) p).replacement); } for (Property subP : p.getProperties()) { @@ -148,7 +143,6 @@ public class DatabaseUtils { subP.setDomain(p); if (subP.hasProperties()) { Replacement r = new Replacement(subP); - r.replacement.setDomain(p); r.setStage2Replacement(true); stage1Inserts.add(r); processSubPropertiesStage1(stage1Inserts, r); diff --git a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/Replacement.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/Replacement.java index fbe2f57e..c672c0ea 100644 --- a/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/Replacement.java +++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/Replacement.java @@ -41,7 +41,7 @@ enum ReplacementStatus implements StatementStatusInterface { public class Replacement extends Property { public Property replacement; - private boolean state2Replacement; + private boolean stage2Replacement; @Override public EntityID getId() { @@ -61,7 +61,7 @@ public class Replacement extends Property { super(p); replacement = new Property(new RetrieveEntity()); - replacement.setDomain(p); + replacement.setDomain(p.getDomainEntity()); replacement.setId(new EntityID()); replacement.setStatementStatus(ReplacementStatus.REPLACEMENT); replacement.setValue(new ReferenceValue(p.getId())); @@ -69,10 +69,10 @@ public class Replacement extends Property { } public void setStage2Replacement(boolean t) { - this.state2Replacement = t; + this.stage2Replacement = t; } - public boolean isState2Replacement() { - return state2Replacement; + public boolean isStage2Replacement() { + return stage2Replacement; } } -- GitLab