public OrderedListConstructorEvaluatorFactory(IScalarEvaluatorFactory[] args, AOrderedListType type) { this.args = args; this.orderedlistType = type; if (type == null || type.getItemType() == null || type.getItemType().getTypeTag() == ATypeTag.ANY) { this.selfDescList = true; } }
@Override public IAType computeType(ILogicalExpression expression, IVariableTypeEnvironment env, IMetadataProvider<?, ?> metadataProvider) throws AlgebricksException { return new AOrderedListType(((AOrderedListType) type).getItemType(), ((AOrderedListType) type).getItemType().getTypeName()); }
private static AOrderedListType generalizeOrderedListTypes(AOrderedListType leftType, AOrderedListType rightType) { return new AOrderedListType(processItemType(generalizeTypes(leftType.getItemType(), rightType.getItemType())), "generalized-ordered-list"); }
private void checkOrderedList(IAType type, SourceLocation sourceLoc) throws AlgebricksException { AOrderedListType listType = (AOrderedListType) type; ATypeTag itemTypeTag = listType.getItemType().getTypeTag(); if (itemTypeTag != ATypeTag.STRING && itemTypeTag != ATypeTag.ANY) { throw new TypeMismatchException(sourceLoc, itemTypeTag, ATypeTag.STRING, ATypeTag.ANY); } }
@Override public void setImmutableStates(Object... states) { outRecType = TypeComputeUtils.extractRecordType((IAType) states[0]); inRecType = TypeComputeUtils.extractRecordType((IAType) states[1]); inListType = TypeComputeUtils.extractOrderedListType((IAType) states[2]); inputFieldListItemType = inListType.getItemType(); if (inputFieldListItemType == null || inputFieldListItemType.getTypeTag() == ATypeTag.ANY) { inputFieldListItemType = DefaultOpenFieldType.NESTED_OPEN_RECORD_TYPE; } }
public AOrderedListSerializerDeserializer(AOrderedListType orderedlistType) { this.orderedlistType = orderedlistType; this.itemType = orderedlistType.getItemType(); serializer = SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(itemType); deserializer = itemType.getTypeTag() == ATypeTag.ANY ? SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(itemType) : SerializerDeserializerProvider.INSTANCE.getNonTaggedSerializerDeserializer(itemType); }
private void checkTypeCompatibility(IAType type) throws AsterixException { if (UNSUPPORTED_TYPES.contains(type.getTypeTag())) { throw new AsterixException(ErrorCode.TYPE_UNSUPPORTED, JSONDataParserFactory.class.getName(), type.getTypeTag().toString()); } else if (type.getTypeTag() == ATypeTag.ARRAY) { checkTypeCompatibility(((AOrderedListType) type).getItemType()); } else if (type.getTypeTag() == ATypeTag.OBJECT) { checkRecordTypeCompatibility((ARecordType) type); } else if (type.getTypeTag() == ATypeTag.UNION) { checkTypeCompatibility(((AUnionType) type).getActualType()); } //Compatible type }
private boolean validateArray(IAType type, IAdmNode node) { if (node.getType() != ATypeTag.ARRAY) { setExpectedAndActualType(ATypeTag.ARRAY, node.getType()); return false; } final IAType itemType = ((AOrderedListType) type).getItemType(); final AdmArrayNode array = (AdmArrayNode) node; for (int i = 0; i < array.size(); i++) { if (!validate(itemType, array.get(i))) { addToPath(i); return false; } } return true; }
ATypeTag tt = inputOrderedListType.getItemType().getTypeTag(); if (tt == ATypeTag.STRING) { // If top-fieldlist if (setFieldNameSet(arg1, fieldNameSet)) {
/** * Receives data stream one tuple at a time from a data source and records samples. * @param tuple one sample * @throws HyracksDataException */ @Override public void step(IFrameTupleReference tuple) throws HyracksDataException { if (numSamplesTaken >= numSamplesRequired) { return; } // start over for a new sample oneSampleBuilder.reset((AbstractCollectionType) ListOfSamplesTypeComputer.TYPE.getItemType()); for (IScalarEvaluator fieldEval : sampledFieldsEval) { // add fields to make up one sample fieldEval.evaluate(tuple, inputFieldValue); oneSampleBuilder.addItem(inputFieldValue); } // prepare the sample to add it to the list of samples storage.reset(); oneSampleBuilder.write(storage.getDataOutput(), true); listOfSamplesBuilder.addItem(storage); numSamplesTaken++; }
private void parseOrderedList(AOrderedListType aOrderedListType, Object obj, ListObjectInspector foi) throws HyracksDataException { OrderedListBuilder orderedListBuilder = getOrderedListBuilder(); IAType itemType = null; if (aOrderedListType != null) itemType = aOrderedListType.getItemType(); orderedListBuilder.reset(aOrderedListType); int n = foi.getListLength(obj); for (int i = 0; i < n; i++) { Object element = foi.getListElement(obj, i); ObjectInspector eoi = foi.getListElementObjectInspector(); if (element == null) { throw new RuntimeDataException(ErrorCode.PARSER_HIVE_NULL_VALUE_IN_LIST); } parseItem(itemType, element, eoi, listItemBuffer.getDataOutput(), true); orderedListBuilder.addItem(listItemBuffer); } orderedListBuilder.write(fieldValueBuffer.getDataOutput(), true); }
itemType = oltype.getItemType();
private void parseOrderedList(AOrderedListType oltype, Value listVal, DataOutput out) throws IOException, AsterixException { ArrayBackedValueStorage itemBuffer = getTempBuffer(); OrderedListBuilder orderedListBuilder = (OrderedListBuilder) getOrderedListBuilder(); IAType itemType = null; if (oltype != null) { itemType = oltype.getItemType(); } orderedListBuilder.reset(oltype); for (ExprTree tree : listVal.getListVal().getExprList()) { itemBuffer.reset(); writeFieldValueToBuffer(itemType, itemBuffer.getDataOutput(), null, tree, null); orderedListBuilder.addItem(itemBuffer); } orderedListBuilder.write(out, true); }
case ARRAY: AOrderedListType ot = (AOrderedListType) type; IAType orderedItemType = ot.getItemType(); retValue = new JOrderedList(orderedItemType); break;