List<Topology.TopologyValidationError> validateTopology(DatabaseMetaData metadata) throws SQLException { List<Topology.TopologyValidationError> validationErrors = new ArrayList<>(); for (VertexLabel vertexLabel : getVertexLabels().values()) { try (ResultSet tableRs = metadata.getTables(null, this.getName(), "V_" + vertexLabel.getLabel(), null)) { if (!tableRs.next()) { validationErrors.add(new Topology.TopologyValidationError(vertexLabel)); } else { validationErrors.addAll(vertexLabel.validateTopology(metadata)); //validate edges for (EdgeLabel edgeLabel : vertexLabel.getOutEdgeLabels().values()) { try (ResultSet edgeRs = metadata.getTables(null, this.getName(), "E_" + edgeLabel.getLabel(), null)) { if (!edgeRs.next()) { validationErrors.add(new Topology.TopologyValidationError(edgeLabel)); } else { validationErrors.addAll(edgeLabel.validateTopology(metadata)); } } } } } } return validationErrors; }
List<Topology.TopologyValidationError> validateTopology(DatabaseMetaData metadata) throws SQLException { List<Topology.TopologyValidationError> validationErrors = new ArrayList<>(); try (ResultSet propertyRs = metadata.getIndexInfo(null, this.abstractLabel.getSchema().getName(), this.abstractLabel.getPrefix() + this.abstractLabel.getLabel(), false, false)) { Map<String, List<String>> indexColumns = new HashMap<>(); while (propertyRs.next()) { String columnName = propertyRs.getString("COLUMN_NAME"); String indexName = propertyRs.getString("INDEX_NAME"); List<String> columnNames; if (!indexColumns.containsKey(indexName)) { columnNames = new ArrayList<>(); indexColumns.put(indexName, columnNames); } else { columnNames = indexColumns.get(indexName); } columnNames.add(columnName); } if (!indexColumns.containsKey(this.getName())) { validationErrors.add(new Topology.TopologyValidationError(this)); } } return validationErrors; }
List<Topology.TopologyValidationError> validateTopology(DatabaseMetaData metadata) throws SQLException { List<Topology.TopologyValidationError> validationErrors = new ArrayList<>(); try (ResultSet propertyRs = metadata.getIndexInfo(null, this.abstractLabel.getSchema().getName(), this.abstractLabel.getPrefix() + this.abstractLabel.getLabel(), false, false)) { Map<String, List<String>> indexColumns = new HashMap<>(); while (propertyRs.next()) { String columnName = propertyRs.getString("COLUMN_NAME"); String indexName = propertyRs.getString("INDEX_NAME"); List<String> columnNames; if (!indexColumns.containsKey(indexName)) { columnNames = new ArrayList<>(); indexColumns.put(indexName, columnNames); } else { columnNames = indexColumns.get(indexName); } columnNames.add(columnName); } if (!indexColumns.containsKey(this.getName())) { validationErrors.add(new Topology.TopologyValidationError(this)); } } return validationErrors; }
List<Topology.TopologyValidationError> validateTopology(DatabaseMetaData metadata) throws SQLException { List<Topology.TopologyValidationError> validationErrors = new ArrayList<>(); for (VertexLabel vertexLabel : getVertexLabels().values()) { try (ResultSet tableRs = metadata.getTables(null, this.getName(), "V_" + vertexLabel.getLabel(), null)) { if (!tableRs.next()) { validationErrors.add(new Topology.TopologyValidationError(vertexLabel)); } else { validationErrors.addAll(vertexLabel.validateTopology(metadata)); //validate edges for (EdgeLabel edgeLabel : vertexLabel.getOutEdgeLabels().values()) { try (ResultSet edgeRs = metadata.getTables(null, this.getName(), "E_" + edgeLabel.getLabel(), null)) { if (!edgeRs.next()) { validationErrors.add(new Topology.TopologyValidationError(edgeLabel)); } else { validationErrors.addAll(edgeLabel.validateTopology(metadata)); } } } } } } return validationErrors; }
@Override public List<Topology.TopologyValidationError> validateTopology(DatabaseMetaData metadata) throws SQLException { List<Topology.TopologyValidationError> validationErrors = new ArrayList<>(); for (PropertyColumn propertyColumn : getProperties().values()) { List<Triple<String, Integer, String>> columns = this.sqlgGraph.getSqlDialect().getTableColumns(metadata, null, this.getSchema().getName(), "V_" + this.getLabel(), propertyColumn.getName()); if (columns.isEmpty()) { validationErrors.add(new Topology.TopologyValidationError(propertyColumn)); } // try (ResultSet propertyRs = metadata.getColumns(null, this.getSchema().getName(), "V_" + this.getLabel(), propertyColumn.getName())) { // if (!propertyRs.next()) { // validationErrors.add(new Topology.TopologyValidationError(propertyColumn)); // } // } } for (Index index : getIndexes().values()) { validationErrors.addAll(index.validateTopology(metadata)); } return validationErrors; }
@Override public List<Topology.TopologyValidationError> validateTopology(DatabaseMetaData metadata) throws SQLException { List<Topology.TopologyValidationError> validationErrors = new ArrayList<>(); for (PropertyColumn propertyColumn : getProperties().values()) { List<Triple<String, Integer, String>> columns = this.sqlgGraph.getSqlDialect().getTableColumns(metadata, null, this.getSchema().getName(), "V_" + this.getLabel(), propertyColumn.getName()); if (columns.isEmpty()) { validationErrors.add(new Topology.TopologyValidationError(propertyColumn)); } // try (ResultSet propertyRs = metadata.getColumns(null, this.getSchema().getName(), "V_" + this.getLabel(), propertyColumn.getName())) { // if (!propertyRs.next()) { // validationErrors.add(new Topology.TopologyValidationError(propertyColumn)); // } // } } for (Index index : getIndexes().values()) { validationErrors.addAll(index.validateTopology(metadata)); } return validationErrors; }
@Override public List<Topology.TopologyValidationError> validateTopology(DatabaseMetaData metadata) { List<Topology.TopologyValidationError> validationErrors = new ArrayList<>(); for (PropertyColumn propertyColumn : getProperties().values()) { List<Triple<String, Integer, String>> columns = this.sqlgGraph.getSqlDialect().getTableColumns(metadata, null, this.getSchema().getName(), "E_" + this.getLabel(), propertyColumn.getName()); if (columns.isEmpty()) { validationErrors.add(new Topology.TopologyValidationError(propertyColumn)); } // try (ResultSet propertyRs = metadata.getColumns(null, this.getSchema().getName(), "E_" + this.getLabel(), propertyColumn.getName())) { // if (!propertyRs.next()) { // validationErrors.add(new Topology.TopologyValidationError(propertyColumn)); // } // } } return validationErrors; }
@Override public List<Topology.TopologyValidationError> validateTopology(DatabaseMetaData metadata) { List<Topology.TopologyValidationError> validationErrors = new ArrayList<>(); for (PropertyColumn propertyColumn : getProperties().values()) { List<Triple<String, Integer, String>> columns = this.sqlgGraph.getSqlDialect().getTableColumns(metadata, null, this.getSchema().getName(), "E_" + this.getLabel(), propertyColumn.getName()); if (columns.isEmpty()) { validationErrors.add(new Topology.TopologyValidationError(propertyColumn)); } // try (ResultSet propertyRs = metadata.getColumns(null, this.getSchema().getName(), "E_" + this.getLabel(), propertyColumn.getName())) { // if (!propertyRs.next()) { // validationErrors.add(new Topology.TopologyValidationError(propertyColumn)); // } // } } return validationErrors; }
public void validateTopology() { Connection conn = this.sqlgGraph.tx().getConnection(); try { DatabaseMetaData metadata = conn.getMetaData(); List<String> schemaNames = this.sqlgGraph.getSqlDialect().getSchemaNames(metadata); for (Schema schema : getSchemas()) { if (schemaNames.contains(schema.getName())) { this.validationErrors.addAll(schema.validateTopology(metadata)); } else { this.validationErrors.add(new TopologyValidationError(schema)); } } } catch (SQLException e) { throw new RuntimeException(e); } }
public void validateTopology() { Connection conn = this.sqlgGraph.tx().getConnection(); try { DatabaseMetaData metadata = conn.getMetaData(); List<String> schemaNames = this.sqlgGraph.getSqlDialect().getSchemaNames(metadata); for (Schema schema : getSchemas()) { if (schemaNames.contains(schema.getName())) { this.validationErrors.addAll(schema.validateTopology(metadata)); } else { this.validationErrors.add(new TopologyValidationError(schema)); } } } catch (SQLException e) { throw new RuntimeException(e); } }
private void validateTopology() { this.sqlgGraph.getTopology().validateTopology(); if (!this.sqlgGraph.getTopology().getValidationErrors().isEmpty()) { for (Topology.TopologyValidationError topologyValidationError : this.sqlgGraph.getTopology().getValidationErrors()) { logger.warn(topologyValidationError.toString()); } } }
private void validateTopology() { this.sqlgGraph.getTopology().validateTopology(); if (!this.sqlgGraph.getTopology().getValidationErrors().isEmpty()) { for (Topology.TopologyValidationError topologyValidationError : this.sqlgGraph.getTopology().getValidationErrors()) { logger.warn(topologyValidationError.toString()); } } }