public LSMRTreeSortedCursor(ILSMIndexOperationContext opCtx, ILinearizeComparatorFactory linearizer, int[] buddyBTreeFields) throws HyracksDataException { super(opCtx); this.linearizeCmp = linearizer.createBinaryComparator(); this.btreeTuple = new PermutingTupleReference(buddyBTreeFields); close(); }
@Override public JsonNode toJson(IPersistedResourceRegistry registry) throws HyracksDataException { ObjectNode jsonObject = registry.getClassIdentifier(getClass(), serialVersionUID); super.appendToJson(jsonObject, registry); ArrayNode btreeCmpFactoriesArray = OBJECT_MAPPER.createArrayNode(); for (IBinaryComparatorFactory factory : btreeCmpFactories) { btreeCmpFactoriesArray.add(factory.toJson(registry)); } jsonObject.set("btreeCmpFactories", btreeCmpFactoriesArray); jsonObject.set("linearizeCmpFactory", linearizeCmpFactory.toJson(registry)); final ArrayNode valueProviderFactoriesArray = OBJECT_MAPPER.createArrayNode(); for (IPrimitiveValueProviderFactory factory : valueProviderFactories) { valueProviderFactoriesArray.add(factory.toJson(registry)); } jsonObject.set("valueProviderFactories", valueProviderFactoriesArray); jsonObject.set("rtreePolicyType", rtreePolicyType.toJson(registry)); jsonObject.putPOJO("rtreeFields", rtreeFields); jsonObject.put("isPointMBR", isPointMBR); return jsonObject; }
@Override protected void appendToJson(final ObjectNode json, IPersistedResourceRegistry registry) throws HyracksDataException { super.appendToJson(json, registry); final ArrayNode btreeCmpFactoriesArray = OBJECT_MAPPER.createArrayNode(); for (IBinaryComparatorFactory factory : btreeCmpFactories) { btreeCmpFactoriesArray.add(factory.toJson(registry)); } json.set("btreeCmpFactories", btreeCmpFactoriesArray); json.set("linearizeCmpFactory", linearizeCmpFactory.toJson(registry)); final ArrayNode valueProviderFactoriesArray = OBJECT_MAPPER.createArrayNode(); for (IPrimitiveValueProviderFactory factory : valueProviderFactories) { valueProviderFactoriesArray.add(factory.toJson(registry)); } json.set("valueProviderFactories", valueProviderFactoriesArray); json.set("rtreePolicyType", rtreePolicyType.toJson(registry)); json.putPOJO("rtreeFields", rtreeFields); json.putPOJO("buddyBTreeFields", buddyBTreeFields); json.put("isPointMBR", isPointMBR); json.put("bloomFilterFalsePositiveRate", bloomFilterFalsePositiveRate); }