createIndexNode.setExternal(createIndex.isExternal()); createIndexNode.setKeySortSpecs(relationNode.getLogicalSchema(), annotateSortSpecs(block, referNames, sortSpecs)); createIndexNode.setIndexMethod(IndexMethod.valueOf(createIndex.getMethodSpec().getName().toUpperCase()));
createIndexNode.setExternal(createIndex.isExternal()); createIndexNode.setKeySortSpecs(relationNode.getLogicalSchema(), annotateSortSpecs(block, referNames, sortSpecs)); createIndexNode.setIndexMethod(IndexMethod.valueOf(createIndex.getMethodSpec().getName().toUpperCase()));
private static CreateIndexNode convertCreateIndex(Map<Integer, LogicalNode> nodeMap, PlanProto.LogicalNode protoNode) { CreateIndexNode createIndex = new CreateIndexNode(protoNode.getNodeId()); PlanProto.CreateIndexNode createIndexProto = protoNode.getCreateIndex(); createIndex.setIndexName(createIndexProto.getIndexName()); createIndex.setIndexMethod(createIndexProto.getIndexMethod()); try { createIndex.setIndexPath(new URI(createIndexProto.getIndexPath())); } catch (URISyntaxException e) { e.printStackTrace(); } SortSpec[] keySortSpecs = new SortSpec[createIndexProto.getKeySortSpecsCount()]; for (int i = 0; i < keySortSpecs.length; i++) { keySortSpecs[i] = new SortSpec(createIndexProto.getKeySortSpecs(i)); } createIndex.setKeySortSpecs(SchemaFactory.newV1(createIndexProto.getTargetRelationSchema()), keySortSpecs); createIndex.setUnique(createIndexProto.getIsUnique()); createIndex.setClustered(createIndexProto.getIsClustered()); if (createIndexProto.hasIndexProperties()) { createIndex.setOptions(new KeyValueSet(createIndexProto.getIndexProperties())); } createIndex.setChild(nodeMap.get(createIndexProto.getChildSeq())); createIndex.setInSchema(convertSchema(protoNode.getInSchema())); createIndex.setOutSchema(convertSchema(protoNode.getOutSchema())); createIndex.setExternal(createIndexProto.getIsExternal()); return createIndex; }
private static CreateIndexNode convertCreateIndex(Map<Integer, LogicalNode> nodeMap, PlanProto.LogicalNode protoNode) { CreateIndexNode createIndex = new CreateIndexNode(protoNode.getNodeId()); PlanProto.CreateIndexNode createIndexProto = protoNode.getCreateIndex(); createIndex.setIndexName(createIndexProto.getIndexName()); createIndex.setIndexMethod(createIndexProto.getIndexMethod()); try { createIndex.setIndexPath(new URI(createIndexProto.getIndexPath())); } catch (URISyntaxException e) { e.printStackTrace(); } SortSpec[] keySortSpecs = new SortSpec[createIndexProto.getKeySortSpecsCount()]; for (int i = 0; i < keySortSpecs.length; i++) { keySortSpecs[i] = new SortSpec(createIndexProto.getKeySortSpecs(i)); } createIndex.setKeySortSpecs(new Schema(createIndexProto.getTargetRelationSchema()), keySortSpecs); createIndex.setUnique(createIndexProto.getIsUnique()); createIndex.setClustered(createIndexProto.getIsClustered()); if (createIndexProto.hasIndexProperties()) { createIndex.setOptions(new KeyValueSet(createIndexProto.getIndexProperties())); } createIndex.setChild(nodeMap.get(createIndexProto.getChildSeq())); createIndex.setInSchema(convertSchema(protoNode.getInSchema())); createIndex.setOutSchema(convertSchema(protoNode.getOutSchema())); createIndex.setExternal(createIndexProto.getIsExternal()); return createIndex; }