private void buildQuestionMark(StringBuilder sql, VertexLabel vertexLabel) { if (vertexLabel.getIdentifiers().isEmpty()) { sql.append("?"); } else { for (String identifier : vertexLabel.getIdentifiers()) { if (!vertexLabel.isDistributed() || !vertexLabel.getDistributionPropertyColumn().getName().equals(identifier)) { sql.append("?, "); } } //remove the extra comma sql.delete(sql.length() - 2, sql.length()); } }
private void buildQuestionMark(StringBuilder sql, VertexLabel vertexLabel) { if (vertexLabel.getIdentifiers().isEmpty()) { sql.append("?"); } else { for (String identifier : vertexLabel.getIdentifiers()) { if (!vertexLabel.isDistributed() || !vertexLabel.getDistributionPropertyColumn().getName().equals(identifier)) { sql.append("?, "); } } //remove the extra comma sql.delete(sql.length() - 2, sql.length()); } }
int cnt = 1; sql.append("("); for (String identifier : vertexLabel.getIdentifiers()) { sql.append(maybeWrapInQoutes(identifier)); if (cnt++ < vertexLabel.getIdentifiers().size()) { sql.append(",");
int cnt = 1; sql.append("("); for (String identifier : vertexLabel.getIdentifiers()) { sql.append(maybeWrapInQoutes(identifier)); if (cnt++ < vertexLabel.getIdentifiers().size()) { sql.append(",");
sql.append("("); int count = 1; for (String identifier : vertexLabel.getIdentifiers()) { sql.append(maybeWrapInQoutes( vertexLabel.getSchema().getName() + "." + vertexLabel.getName() + "." + identifier + (out ? Topology.OUT_VERTEX_COLUMN_END : Topology.IN_VERTEX_COLUMN_END))); if (count++ < vertexLabel.getIdentifiers().size()) { sql.append(",");
sql.append("("); int count = 1; for (String identifier : vertexLabel.getIdentifiers()) { sql.append(maybeWrapInQoutes( vertexLabel.getSchema().getName() + "." + vertexLabel.getName() + "." + identifier + (out ? Topology.OUT_VERTEX_COLUMN_END : Topology.IN_VERTEX_COLUMN_END))); if (count++ < vertexLabel.getIdentifiers().size()) { sql.append(",");
} else { int count = 1; for (String identifier : vertexLabel.getIdentifiers()) { sql.append(this.sqlgGraph.getSqlDialect().maybeWrapInQoutes(identifier)); sql.append(" = ?"); if (count++ < vertexLabel.getIdentifiers().size()) { sql.append(" AND ");
} else { foreignKey = new ForeignKey(); for (String identifier : this.getIdentifiers()) { foreignKey.add(this.getFullName() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); for (String identifier : this.getIdentifiers()) { foreignKey.add(this.getFullName() + "." + identifier + Topology.IN_VERTEX_COLUMN_END);
} else { foreignKey = new ForeignKey(); for (String identifier : this.getIdentifiers()) { foreignKey.add(this.getFullName() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); for (String identifier : this.getIdentifiers()) { foreignKey.add(this.getFullName() + "." + identifier + 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); } 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);
} 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); } 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);
} 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); } 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);
} 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); } 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);
@Override public Vertex addVertex(Object... keyValues) { if (this.tx().isInStreamingBatchMode()) { throw SqlgExceptions.invalidMode(String.format("Transaction is in %s, use streamVertex(Object ... keyValues)", this.tx().getBatchModeType().toString())); } if (this.tx().isInStreamingWithLockBatchMode()) { return internalStreamVertex(keyValues); } else { Triple<Map<String, PropertyType>, Map<String, Object>, Map<String, Object>> keyValueMapTriple = SqlgUtil.validateVertexKeysValues(this.sqlDialect, keyValues); final Pair<Map<String, Object>, Map<String, Object>> keyValueMapPair = Pair.of(keyValueMapTriple.getMiddle(), keyValueMapTriple.getRight()); final Map<String, PropertyType> columns = keyValueMapTriple.getLeft(); final String label = ElementHelper.getLabelValue(keyValues).orElse(Vertex.DEFAULT_LABEL); SchemaTable schemaTablePair = SchemaTable.from(this, label); this.tx().readWrite(); VertexLabel vertexLabel = this.getTopology().ensureVertexLabelExist(schemaTablePair.getSchema(), schemaTablePair.getTable(), columns); if (!vertexLabel.hasIDPrimaryKey()) { Preconditions.checkArgument(columns.keySet().containsAll(vertexLabel.getIdentifiers()), "identifiers must be present %s", vertexLabel.getIdentifiers()); } return new SqlgVertex(this, false, false, schemaTablePair.getSchema(), schemaTablePair.getTable(), keyValueMapPair); } }
@Override public Vertex addVertex(Object... keyValues) { if (this.tx().isInStreamingBatchMode()) { throw SqlgExceptions.invalidMode(String.format("Transaction is in %s, use streamVertex(Object ... keyValues)", this.tx().getBatchModeType().toString())); } if (this.tx().isInStreamingWithLockBatchMode()) { return internalStreamVertex(keyValues); } else { Triple<Map<String, PropertyType>, Map<String, Object>, Map<String, Object>> keyValueMapTriple = SqlgUtil.validateVertexKeysValues(this.sqlDialect, keyValues); final Pair<Map<String, Object>, Map<String, Object>> keyValueMapPair = Pair.of(keyValueMapTriple.getMiddle(), keyValueMapTriple.getRight()); final Map<String, PropertyType> columns = keyValueMapTriple.getLeft(); final String label = ElementHelper.getLabelValue(keyValues).orElse(Vertex.DEFAULT_LABEL); SchemaTable schemaTablePair = SchemaTable.from(this, label); this.tx().readWrite(); VertexLabel vertexLabel = this.getTopology().ensureVertexLabelExist(schemaTablePair.getSchema(), schemaTablePair.getTable(), columns); if (!vertexLabel.hasIDPrimaryKey()) { Preconditions.checkArgument(columns.keySet().containsAll(vertexLabel.getIdentifiers()), "identifiers must be present %s", vertexLabel.getIdentifiers()); } return new SqlgVertex(this, false, false, schemaTablePair.getSchema(), schemaTablePair.getTable(), keyValueMapPair); } }
)); } else { for (String identifier : inVertexLabel.getIdentifiers()) { bulkCopy.addColumnMapping(i, metaEdge.getInLabel() + "." + identifier + Topology.IN_VERTEX_COLUMN_END); PropertyType propertyType = inVertexLabel.getProperty(identifier).orElseThrow(() -> new IllegalStateException(String.format("BUG: Did not find the identifier property %s.", identifier))).getPropertyType(); )); } else { for (String identifier : outVertexLabel.getIdentifiers()) { PropertyType propertyType = outVertexLabel.getProperty(identifier).orElseThrow(() -> new IllegalStateException(String.format("BUG: Did not find the identifier property %s.", identifier))).getPropertyType(); bulkCopy.addColumnMapping(i, metaEdge.getOutLabel() + "." + identifier + Topology.OUT_VERTEX_COLUMN_END);
private void setIdentifiersAndDistributionColumn() { if (this.schemaTable.isVertexTable()) { VertexLabel vertexLabel = this.sqlgGraph.getTopology().getVertexLabel( this.schemaTable.withOutPrefix().getSchema(), this.schemaTable.withOutPrefix().getTable() ).orElseThrow(() -> new IllegalStateException(String.format("Label %s must ne present.", this.schemaTable.toString()))); this.identifiers = vertexLabel.getIdentifiers(); if (vertexLabel.isDistributed()) { this.distributionColumn = vertexLabel.getDistributionPropertyColumn().getName(); } else { this.distributionColumn = null; } } else { EdgeLabel edgeLabel = this.sqlgGraph.getTopology().getEdgeLabel( this.schemaTable.withOutPrefix().getSchema(), this.schemaTable.withOutPrefix().getTable() ).orElseThrow(() -> new IllegalStateException(String.format("Label %s must ne present.", this.schemaTable.toString()))); this.identifiers = edgeLabel.getIdentifiers(); if (edgeLabel.isDistributed()) { this.distributionColumn = edgeLabel.getDistributionPropertyColumn().getName(); } else { this.distributionColumn = null; } } }
private void setIdentifiersAndDistributionColumn() { if (this.schemaTable.isVertexTable()) { VertexLabel vertexLabel = this.sqlgGraph.getTopology().getVertexLabel( this.schemaTable.withOutPrefix().getSchema(), this.schemaTable.withOutPrefix().getTable() ).orElseThrow(() -> new IllegalStateException(String.format("Label %s must ne present.", this.schemaTable.toString()))); this.identifiers = vertexLabel.getIdentifiers(); if (vertexLabel.isDistributed()) { this.distributionColumn = vertexLabel.getDistributionPropertyColumn().getName(); } else { this.distributionColumn = null; } } else { EdgeLabel edgeLabel = this.sqlgGraph.getTopology().getEdgeLabel( this.schemaTable.withOutPrefix().getSchema(), this.schemaTable.withOutPrefix().getTable() ).orElseThrow(() -> new IllegalStateException(String.format("Label %s must ne present.", this.schemaTable.toString()))); this.identifiers = edgeLabel.getIdentifiers(); if (edgeLabel.isDistributed()) { this.distributionColumn = edgeLabel.getDistributionPropertyColumn().getName(); } else { this.distributionColumn = null; } } }
} else { foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + OUT_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + IN_VERTEX_COLUMN_END);
} else { foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + OUT_VERTEX_COLUMN_END); } else { foreignKey = new ForeignKey(); for (String identifier : vertexLabel.getIdentifiers()) { foreignKey.add(vertexLabel.getFullName() + "." + identifier + IN_VERTEX_COLUMN_END);