diff options
5 files changed, 36 insertions, 21 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/HorizontalMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/HorizontalMapping.java index 321281351f..801fd50e4b 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/HorizontalMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/HorizontalMapping.java @@ -28,4 +28,10 @@ public class HorizontalMapping extends ValueMapping { return (HorizontalMappingStrategy)super.getMappingStrategy(); } + + @Override + protected boolean hasFullRevisionInfo() + { + return true; + } } diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/Mapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/Mapping.java index 1e987f052b..74ec5eaf70 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/Mapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/Mapping.java @@ -74,21 +74,26 @@ public abstract class Mapping implements IMapping return affectedTables; } - protected void appendFullInfo(StringBuilder builder, CDORevisionImpl revision) + protected void appendRevisionInfo(StringBuilder builder, CDORevisionImpl revision, boolean full) { - builder.append(ServerInfo.getDBID(revision.getCDOClass())); - builder.append(", "); - builder.append(revision.getVersion()); - builder.append(", "); - builder.append(new Date(revision.getCreated())); - builder.append(", "); - builder.append(new Date(revision.getRevised())); - builder.append(", "); - builder.append(revision.getResourceID().getValue()); - builder.append(", "); - builder.append(revision.getContainerID().getValue()); - builder.append(", "); - builder.append(revision.getContainingFeatureID()); + builder.append(revision.getID().getValue()); + if (full) + { + builder.append(", "); + builder.append(ServerInfo.getDBID(revision.getCDOClass())); + builder.append(", "); + builder.append(revision.getVersion()); + builder.append(", "); + builder.append(new Date(revision.getCreated())); + builder.append(", "); + builder.append(new Date(revision.getRevised())); + builder.append(", "); + builder.append(revision.getResourceID().getValue()); + builder.append(", "); + builder.append(revision.getContainerID().getValue()); + builder.append(", "); + builder.append(revision.getContainingFeatureID()); + } } protected void executeSQL(IDBStoreAccessor storeAccessor, String sql) throws DBException diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/RootMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/RootMapping.java index 86a6eda645..f51da87cba 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/RootMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/RootMapping.java @@ -31,9 +31,7 @@ public class RootMapping extends Mapping builder.append("INSERT INTO "); builder.append(getTable()); builder.append(" VALUES ("); - builder.append(revision.getID().getValue()); - builder.append(", "); - appendFullInfo(builder, revision); + appendRevisionInfo(builder, revision, true); builder.append(")"); executeSQL(storeAccessor, builder.toString()); } diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ValueMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ValueMapping.java index 9df7fc0134..97fdfc9fb5 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ValueMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/ValueMapping.java @@ -23,7 +23,7 @@ import java.util.List; /** * @author Eike Stepper */ -public class ValueMapping extends Mapping +public abstract class ValueMapping extends Mapping { private List<IAttributeMapping> attributeMappings; @@ -65,9 +65,7 @@ public class ValueMapping extends Mapping builder.append("INSERT INTO "); builder.append(getTable()); builder.append(" VALUES ("); - builder.append(revision.getID().getValue()); - builder.append(", "); - appendFullInfo(builder, revision); + appendRevisionInfo(builder, revision, hasFullRevisionInfo()); builder.append(", "); for (IAttributeMapping attributeMapping : attributeMappings) @@ -87,4 +85,6 @@ public class ValueMapping extends Mapping referenceMapping.writeReference(this, storeAccessor, revision); } } + + protected abstract boolean hasFullRevisionInfo(); } diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/VerticalMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/VerticalMapping.java index a6c49a3dba..0bf360012d 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/VerticalMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/VerticalMapping.java @@ -50,6 +50,12 @@ public class VerticalMapping extends ValueMapping return (VerticalMappingStrategy)super.getMappingStrategy(); } + @Override + protected boolean hasFullRevisionInfo() + { + return false; + } + public List<IMapping> getSuperMappings() { return superMappings; |