public void castRecord(ARecordVisitablePointable recordAccessor, IVisitablePointable resultAccessor, ARecordType reqType, ACastVisitor visitor) throws HyracksDataException { List<IVisitablePointable> fieldNames = recordAccessor.getFieldNames(); List<IVisitablePointable> fieldTypeTags = recordAccessor.getFieldTypeTags(); List<IVisitablePointable> fieldValues = recordAccessor.getFieldValues(); numInputFields = fieldNames.size(); if (openFields == null || numInputFields > openFields.length) { openFields = new boolean[numInputFields]; fieldNamesSortedIndex = new int[numInputFields]; } if (!reqType.equals(cachedReqType)) { try { loadRequiredType(reqType); } catch (IOException e) { throw HyracksDataException.create(e); } } // clear the previous states reset(); matchClosedPart(fieldNames, fieldTypeTags); writeOutput(fieldNames, fieldTypeTags, fieldValues, outputDos, visitor); resultAccessor.set(outputBos.getByteArray(), 0, outputBos.size()); }
if (isOverridingKeyFieldTypes && !enforcedItemType.equals(itemType)) { sourceOp = createCastOp(spec, dataset.getDatasetType(), index.isEnforced()); spec.connect(new OneToOneConnectorDescriptor(spec), primaryScanOp, 0, sourceOp, 0); if (isOverridingKeyFieldTypes && !enforcedItemType.equals(itemType)) {
boolean isOverridingKeyFieldTypes = index.isOverridingKeyFieldTypes(); int numSecondaryKeys = index.getKeyFieldNames().size(); if (isOverridingKeyFieldTypes && !enforcedItemType.equals(itemType)) { sourceOp = createCastOp(spec, dataset.getDatasetType(), index.isEnforced()); spec.connect(new OneToOneConnectorDescriptor(spec), primaryScanOp, 0, sourceOp, 0);
if (isOverridingKeyFieldTypes && !enforcedItemType.equals(itemType)) { sourceOp = createCastOp(spec, dataset.getDatasetType(), index.isEnforced()); spec.connect(new OneToOneConnectorDescriptor(spec), primaryScanOp, 0, sourceOp, 0);
boolean isOverridingKeyFieldTypes = index.isOverridingKeyFieldTypes(); int numSecondaryKeys = index.getKeyFieldNames().size(); if (isOverridingKeyFieldTypes && !enforcedItemType.equals(itemType)) { sourceOp = createCastOp(spec, dataset.getDatasetType(), index.isEnforced()); spec.connect(new OneToOneConnectorDescriptor(spec), primaryScanOp, 0, sourceOp, 0);
if (isOverridingKeyFieldTypes && !enforcedItemType.equals(itemType)) { sourceOp = createCastOp(spec, dataset.getDatasetType(), index.isEnforced()); spec.connect(new OneToOneConnectorDescriptor(spec), primaryScanOp, 0, sourceOp, 0);
if (isOverridingKeyFieldTypes && !enforcedItemType.equals(itemType)) { sourceOp = createCastOp(spec, dataset.getDatasetType(), index.isEnforced()); spec.connect(new OneToOneConnectorDescriptor(spec), primaryScanOp, 0, sourceOp, 0); if (isOverridingKeyFieldTypes && !enforcedItemType.equals(itemType)) { sourceOp = createCastOp(spec, dataset.getDatasetType(), index.isEnforced()); spec.connect(new OneToOneConnectorDescriptor(spec), primaryScanOp, 0, sourceOp, 0);