public static Pair<IAType, Boolean> getNonNullableOpenFieldType(IAType fieldType, List<String> fieldName, ARecordType recType) throws AlgebricksException { Pair<IAType, Boolean> keyPairType = null; IAType subType = recType; boolean nullable = false; for (int i = 0; i < fieldName.size(); i++) { if (subType instanceof AUnionType) { nullable = nullable || ((AUnionType) subType).isUnknownableType(); subType = ((AUnionType) subType).getActualType(); } if (subType instanceof ARecordType) { subType = ((ARecordType) subType).getFieldType(fieldName.get(i)); } else { throw AsterixException.create(ErrorCode.COMPILATION_ILLEGAL_STATE, "Unexpected type " + fieldType); } if (subType == null) { keyPairType = Index.getNonNullableType(fieldType); break; } } if (subType != null) { keyPairType = Index.getNonNullableKeyFieldType(fieldName, recType); } keyPairType.second = keyPairType.second || nullable; return keyPairType; }
Pair<IAType, Boolean> typePair = Index.getNonNullableKeyFieldType(filterFieldName, itemType); IAType type = typePair.first; ISerializerDeserializer serde = SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(type);
Pair<IAType, Boolean> typePair = Index.getNonNullableKeyFieldType(filterFieldName, itemType); IAType type = typePair.first; ISerializerDeserializer serde = SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(type);
metadataProvider.getDataFormat().getFieldAccessEvaluatorFactory( metadataProvider.getFunctionManager(), itemType, filterFieldName, recordColumn, sourceLoc); Pair<IAType, Boolean> keyTypePair = Index.getNonNullableKeyFieldType(filterFieldName, itemType); IAType type = keyTypePair.first; ISerializerDeserializer serde = serdeProvider.getSerializerDeserializer(type);
.getFieldAccessEvaluatorFactory(metadataProvider.getFunctionManager(), itemType, filterFieldName, numPrimaryKeys, sourceLoc); Pair<IAType, Boolean> keyTypePair = Index.getNonNullableKeyFieldType(filterFieldName, itemType); IAType type = keyTypePair.first; ISerializerDeserializer serde = serdeProvider.getSerializerDeserializer(type);
metadataProvider.getDataFormat().getFieldAccessEvaluatorFactory( metadataProvider.getFunctionManager(), itemType, filterFieldName, recordColumn, sourceLoc); Pair<IAType, Boolean> keyTypePair = Index.getNonNullableKeyFieldType(filterFieldName, itemType); IAType type = keyTypePair.first; ISerializerDeserializer serde = serdeProvider.getSerializerDeserializer(type);
.getFieldAccessEvaluatorFactory(metadataProvider.getFunctionManager(), itemType, filterFieldName, numPrimaryKeys, sourceLoc); Pair<IAType, Boolean> keyTypePair = Index.getNonNullableKeyFieldType(filterFieldName, itemType); IAType type = keyTypePair.first; ISerializerDeserializer serde = serdeProvider.getSerializerDeserializer(type);