IdentifierUtil.buildFQName(context.queryContext.get(SessionVars.CURRENT_DATABASE), createIndex.getIndexName())); createIndexNode.setUnique(createIndex.isUnique()); Sort.SortSpec[] sortSpecs = createIndex.getSortSpecs(); int sortKeyNum = sortSpecs.length;
CatalogUtil.buildFQName(context.queryContext.get(SessionVars.CURRENT_DATABASE), createIndex.getIndexName())); createIndexNode.setUnique(createIndex.isUnique()); Sort.SortSpec[] sortSpecs = createIndex.getSortSpecs(); int sortKeyNum = sortSpecs.length;
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; }