/** * remove a vertex label from the in collection * * @param lbl the vertex label * @param preserveData should we keep the sql data? */ void removeInVertexLabel(VertexLabel lbl, boolean preserveData) { this.uncommittedRemovedInVertexLabels.add(lbl); if (!preserveData) { deleteColumn(lbl.getFullName() + Topology.IN_VERTEX_COLUMN_END); } }
/** * remove a vertex label from the out collection * * @param lbl the vertex label * @param preserveData should we keep the sql data? */ void removeOutVertexLabel(VertexLabel lbl, boolean preserveData) { this.uncommittedRemovedOutVertexLabels.add(lbl); if (!preserveData) { deleteColumn(lbl.getFullName() + Topology.OUT_VERTEX_COLUMN_END); } }
/** * remove a vertex label from the out collection * * @param lbl the vertex label * @param preserveData should we keep the sql data? */ void removeOutVertexLabel(VertexLabel lbl, boolean preserveData) { this.uncommittedRemovedOutVertexLabels.add(lbl); if (!preserveData) { deleteColumn(lbl.getFullName() + Topology.OUT_VERTEX_COLUMN_END); } }
/** * remove a vertex label from the in collection * * @param lbl the vertex label * @param preserveData should we keep the sql data? */ void removeInVertexLabel(VertexLabel lbl, boolean preserveData) { this.uncommittedRemovedInVertexLabels.add(lbl); if (!preserveData) { deleteColumn(lbl.getFullName() + Topology.IN_VERTEX_COLUMN_END); } }
if (!this.uncommittedRemovedInVertexLabels.contains(vertexLabel)) { if (vertexLabel.hasIDPrimaryKey()) { result.add(ForeignKey.of(vertexLabel.getFullName() + Topology.IN_VERTEX_COLUMN_END)); } else { ForeignKey foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { if (!vertexLabel.isDistributed() || !vertexLabel.getDistributionPropertyColumn().getName().equals(identifier)) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + Topology.IN_VERTEX_COLUMN_END); if (!this.uncommittedRemovedOutVertexLabels.contains(vertexLabel)) { if (vertexLabel.hasIDPrimaryKey()) { result.add(ForeignKey.of(vertexLabel.getFullName() + Topology.OUT_VERTEX_COLUMN_END)); } else { ForeignKey foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { if (!vertexLabel.isDistributed() || !vertexLabel.getDistributionPropertyColumn().getName().equals(identifier)) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END);
if (!this.uncommittedRemovedInVertexLabels.contains(vertexLabel)) { if (vertexLabel.hasIDPrimaryKey()) { result.add(ForeignKey.of(vertexLabel.getFullName() + Topology.IN_VERTEX_COLUMN_END)); } else { ForeignKey foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { if (!vertexLabel.isDistributed() || !vertexLabel.getDistributionPropertyColumn().getName().equals(identifier)) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + Topology.IN_VERTEX_COLUMN_END); if (!this.uncommittedRemovedOutVertexLabels.contains(vertexLabel)) { if (vertexLabel.hasIDPrimaryKey()) { result.add(ForeignKey.of(vertexLabel.getFullName() + Topology.OUT_VERTEX_COLUMN_END)); } else { ForeignKey foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { if (!vertexLabel.isDistributed() || !vertexLabel.getDistributionPropertyColumn().getName().equals(identifier)) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END);
if (!this.getSchema().getTopology().isSqlWriteLockHeldByCurrentThread() || !this.uncommittedRemovedInVertexLabels.contains(vertexLabel)) { if (vertexLabel.hasIDPrimaryKey()) { result.add(ForeignKey.of(vertexLabel.getFullName() + Topology.IN_VERTEX_COLUMN_END)); } else { ForeignKey foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { if (!vertexLabel.isDistributed() || !vertexLabel.getDistributionPropertyColumn().getName().equals(identifier)) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + Topology.IN_VERTEX_COLUMN_END); if (!this.getSchema().getTopology().isSqlWriteLockHeldByCurrentThread() || !this.uncommittedRemovedOutVertexLabels.contains(vertexLabel)) { if (vertexLabel.hasIDPrimaryKey()) { result.add(ForeignKey.of(vertexLabel.getFullName() + Topology.OUT_VERTEX_COLUMN_END)); } else { ForeignKey foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { if (!vertexLabel.isDistributed() || !vertexLabel.getDistributionPropertyColumn().getName().equals(identifier)) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END);
if (!this.getSchema().getTopology().isSqlWriteLockHeldByCurrentThread() || !this.uncommittedRemovedInVertexLabels.contains(vertexLabel)) { if (vertexLabel.hasIDPrimaryKey()) { result.add(ForeignKey.of(vertexLabel.getFullName() + Topology.IN_VERTEX_COLUMN_END)); } else { ForeignKey foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { if (!vertexLabel.isDistributed() || !vertexLabel.getDistributionPropertyColumn().getName().equals(identifier)) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + Topology.IN_VERTEX_COLUMN_END); if (!this.getSchema().getTopology().isSqlWriteLockHeldByCurrentThread() || !this.uncommittedRemovedOutVertexLabels.contains(vertexLabel)) { if (vertexLabel.hasIDPrimaryKey()) { result.add(ForeignKey.of(vertexLabel.getFullName() + Topology.OUT_VERTEX_COLUMN_END)); } else { ForeignKey foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { if (!vertexLabel.isDistributed() || !vertexLabel.getDistributionPropertyColumn().getName().equals(identifier)) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END);
ForeignKey foreignKey; if (hasIDPrimaryKey()) { foreignKey = ForeignKey.of(this.getFullName() + Topology.OUT_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); for (String identifier : this.getIdentifiers()) { foreignKey.add(this.getFullName() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END); ForeignKey foreignKey; if (this.hasIDPrimaryKey()) { foreignKey = ForeignKey.of(this.getFullName() + Topology.IN_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); for (String identifier : this.getIdentifiers()) { foreignKey.add(this.getFullName() + "." + identifier + Topology.IN_VERTEX_COLUMN_END);
ForeignKey foreignKey; if (hasIDPrimaryKey()) { foreignKey = ForeignKey.of(this.getFullName() + Topology.OUT_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); for (String identifier : this.getIdentifiers()) { foreignKey.add(this.getFullName() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END); ForeignKey foreignKey; if (this.hasIDPrimaryKey()) { foreignKey = ForeignKey.of(this.getFullName() + Topology.IN_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); for (String identifier : this.getIdentifiers()) { foreignKey.add(this.getFullName() + "." + identifier + Topology.IN_VERTEX_COLUMN_END);
foreignKey = ForeignKey.of(vertexLabel.getFullName() + OUT_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + OUT_VERTEX_COLUMN_END); foreignKey = ForeignKey.of(vertexLabel.getFullName() + IN_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + IN_VERTEX_COLUMN_END);
foreignKey = ForeignKey.of(vertexLabel.getFullName() + OUT_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + OUT_VERTEX_COLUMN_END); foreignKey = ForeignKey.of(vertexLabel.getFullName() + IN_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + IN_VERTEX_COLUMN_END);
ForeignKey foreignKey; if (this.hasIDPrimaryKey()) { foreignKey = ForeignKey.of(this.getFullName() + Topology.IN_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); if (!isDistributed() || !getDistributionPropertyColumn().getName().equals(identifier)) { foreignKey.add(this.getFullName() + "." + identifier + Topology.IN_VERTEX_COLUMN_END); ForeignKey foreignKey; if (this.hasIDPrimaryKey()) { foreignKey = ForeignKey.of(this.getFullName() + Topology.IN_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); for (String identifier : this.getIdentifiers()) { foreignKey.add(this.getFullName() + "." + identifier + Topology.IN_VERTEX_COLUMN_END);
ForeignKey foreignKey; if (this.hasIDPrimaryKey()) { foreignKey = ForeignKey.of(this.getFullName() + Topology.IN_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); if (!isDistributed() || !getDistributionPropertyColumn().getName().equals(identifier)) { foreignKey.add(this.getFullName() + "." + identifier + Topology.IN_VERTEX_COLUMN_END); ForeignKey foreignKey; if (this.hasIDPrimaryKey()) { foreignKey = ForeignKey.of(this.getFullName() + Topology.IN_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); for (String identifier : this.getIdentifiers()) { foreignKey.add(this.getFullName() + "." + identifier + Topology.IN_VERTEX_COLUMN_END);
if (inVertexLabel.hasIDPrimaryKey()) { sql.append("\n\t"); sql.append(sqlDialect.maybeWrapInQoutes(inVertexLabel.getFullName() + Topology.IN_VERTEX_COLUMN_END)); sql.append(" "); sql.append(sqlDialect.getForeignKeyTypeDefinition()); for (String sqlDefinition : propertyTypeToSqlDefinition) { if (count > 1) { sql.append(sqlgGraph.getSqlDialect().maybeWrapInQoutes(inVertexLabel.getFullName() + "." + identifier + propertyType.getPostFixes()[count - 2] + Topology.IN_VERTEX_COLUMN_END)).append(" ").append(sqlDefinition); } else { sql.append(sqlgGraph.getSqlDialect().maybeWrapInQoutes(inVertexLabel.getFullName() + "." + identifier + Topology.IN_VERTEX_COLUMN_END)).append(" ").append(sqlDefinition); if (outVertexLabel.hasIDPrimaryKey()) { sql.append("\n\t"); sql.append(sqlDialect.maybeWrapInQoutes(outVertexLabel.getFullName() + Topology.OUT_VERTEX_COLUMN_END)); sql.append(" "); sql.append(sqlDialect.getForeignKeyTypeDefinition()); for (String sqlDefinition : propertyTypeToSqlDefinition) { if (count > 1) { sql.append(sqlgGraph.getSqlDialect().maybeWrapInQoutes(outVertexLabel.getFullName() + "." + identifier + propertyType.getPostFixes()[count - 2] + Topology.OUT_VERTEX_COLUMN_END)).append(" ").append(sqlDefinition); } else { sql.append(sqlgGraph.getSqlDialect().maybeWrapInQoutes(outVertexLabel.getFullName() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END)).append(" ").append(sqlDefinition); sql.append("FOREIGN KEY ("); if (inVertexLabel.hasIDPrimaryKey()) { sql.append(sqlDialect.maybeWrapInQoutes(inVertexLabel.getFullName() + Topology.IN_VERTEX_COLUMN_END));
if (inVertexLabel.hasIDPrimaryKey()) { sql.append("\n\t"); sql.append(sqlDialect.maybeWrapInQoutes(inVertexLabel.getFullName() + Topology.IN_VERTEX_COLUMN_END)); sql.append(" "); sql.append(sqlDialect.getForeignKeyTypeDefinition()); for (String sqlDefinition : propertyTypeToSqlDefinition) { if (count > 1) { sql.append(sqlgGraph.getSqlDialect().maybeWrapInQoutes(inVertexLabel.getFullName() + "." + identifier + propertyType.getPostFixes()[count - 2] + Topology.IN_VERTEX_COLUMN_END)).append(" ").append(sqlDefinition); } else { sql.append(sqlgGraph.getSqlDialect().maybeWrapInQoutes(inVertexLabel.getFullName() + "." + identifier + Topology.IN_VERTEX_COLUMN_END)).append(" ").append(sqlDefinition); if (outVertexLabel.hasIDPrimaryKey()) { sql.append("\n\t"); sql.append(sqlDialect.maybeWrapInQoutes(outVertexLabel.getFullName() + Topology.OUT_VERTEX_COLUMN_END)); sql.append(" "); sql.append(sqlDialect.getForeignKeyTypeDefinition()); for (String sqlDefinition : propertyTypeToSqlDefinition) { if (count > 1) { sql.append(sqlgGraph.getSqlDialect().maybeWrapInQoutes(outVertexLabel.getFullName() + "." + identifier + propertyType.getPostFixes()[count - 2] + Topology.OUT_VERTEX_COLUMN_END)).append(" ").append(sqlDefinition); } else { sql.append(sqlgGraph.getSqlDialect().maybeWrapInQoutes(outVertexLabel.getFullName() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END)).append(" ").append(sqlDefinition); sql.append("FOREIGN KEY ("); if (inVertexLabel.hasIDPrimaryKey()) { sql.append(sqlDialect.maybeWrapInQoutes(inVertexLabel.getFullName() + Topology.IN_VERTEX_COLUMN_END));
ForeignKey foreignKey; if (this.hasIDPrimaryKey()) { foreignKey = ForeignKey.of(this.getFullName() + Topology.OUT_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); if (!isDistributed() || !getDistributionPropertyColumn().getName().equals(identifier)) { foreignKey.add(this.getFullName() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END); ForeignKey foreignKey; if (this.hasIDPrimaryKey()) { foreignKey = ForeignKey.of(this.getFullName() + Topology.OUT_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); if (!isDistributed() || !getDistributionPropertyColumn().getName().equals(identifier)) { foreignKey.add(this.getFullName() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END);
ForeignKey foreignKey; if (this.hasIDPrimaryKey()) { foreignKey = ForeignKey.of(this.getFullName() + Topology.OUT_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); if (!isDistributed() || !getDistributionPropertyColumn().getName().equals(identifier)) { foreignKey.add(this.getFullName() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END); ForeignKey foreignKey; if (this.hasIDPrimaryKey()) { foreignKey = ForeignKey.of(this.getFullName() + Topology.OUT_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); if (!isDistributed() || !getDistributionPropertyColumn().getName().equals(identifier)) { foreignKey.add(this.getFullName() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END);