SQLServerVertexCacheBulkRecord(SQLServerBulkCopy bulkCopy, SqlgGraph sqlgGraph, SchemaTable schemaTable, Pair<SortedSet<String>, Map<SqlgVertex, Map<String, Object>>> vertices) throws SQLServerException {
this.rowIter = vertices.getRight().entrySet().iterator();
if (!schemaTable.isTemporary()) {
this.propertyColumns = sqlgGraph.getTopology()
.getSchema(schemaTable.getSchema()).orElseThrow(() -> new IllegalStateException(String.format("Schema %s not found", schemaTable.getSchema())))
.getVertexLabel(schemaTable.getTable()).orElseThrow(() -> new IllegalStateException(String.format("VertexLabel %s not found", schemaTable.getTable())))
.getProperties();
} else {
this.properties = sqlgGraph.getTopology().getPublicSchema().getTemporaryTable(VERTEX_PREFIX + schemaTable.getTable());
}
int i = 1;
this.columns = vertices.getLeft();
this.dummy = this.columns.isEmpty();
if (this.dummy) {
bulkCopy.addColumnMapping(i, "dummy");
this.columnMetadata.put(i, new ColumnMetadata(
"dummy",
sqlgGraph.getSqlDialect().propertyTypeToJavaSqlType(PropertyType.INTEGER)[0],
0,
0,
null,
PropertyType.INTEGER
));
} else {
addMetaData(bulkCopy, sqlgGraph);
}
}