public static ITypeTraits[] variablesToTypeTraits(Collection<LogicalVariable> varLogical, IVariableTypeEnvironment env, JobGenContext context) throws AlgebricksException { ITypeTraits[] typeTraits = new ITypeTraits[varLogical.size()]; ITypeTraitProvider typeTraitProvider = context.getTypeTraitProvider(); int i = 0; for (LogicalVariable v : varLogical) { Object type = env.getVarType(v); typeTraits[i++] = typeTraitProvider.getTypeTrait(type); } return typeTraits; }
public static ITypeTraits[] variablesToTypeTraits(List<LogicalVariable> varLogical, int start, int size, IVariableTypeEnvironment env, JobGenContext context) throws AlgebricksException { ITypeTraits[] typeTraits = new ITypeTraits[size]; ITypeTraitProvider typeTraitProvider = context.getTypeTraitProvider(); for (int i = 0; i < size; i++) { Object type = env.getVarType(varLogical.get(start + i)); typeTraits[i] = typeTraitProvider.getTypeTrait(type); } return typeTraits; }
public ITypeTraits[] getPrimaryTypeTraits(MetadataProvider metadataProvider, ARecordType recordType, ARecordType metaType) throws AlgebricksException { IStorageComponentProvider storageComponentProvider = metadataProvider.getStorageComponentProvider(); ITypeTraitProvider ttProvider = storageComponentProvider.getTypeTraitProvider(); List<List<String>> partitioningKeys = getPrimaryKeys(); int numPrimaryKeys = partitioningKeys.size(); ITypeTraits[] typeTraits = new ITypeTraits[numPrimaryKeys + 1 + (hasMetaPart() ? 1 : 0)]; List<Integer> indicators = null; if (hasMetaPart()) { indicators = ((InternalDatasetDetails) getDatasetDetails()).getKeySourceIndicator(); } for (int i = 0; i < numPrimaryKeys; i++) { IAType keyType = datasetType == DatasetType.EXTERNAL ? IndexingConstants.getFieldType(i) : (indicators == null || indicators.get(i) == 0) ? recordType.getSubFieldType(partitioningKeys.get(i)) : metaType.getSubFieldType(partitioningKeys.get(i)); typeTraits[i] = ttProvider.getTypeTrait(keyType); } typeTraits[numPrimaryKeys] = ttProvider.getTypeTrait(recordType); if (hasMetaPart()) { typeTraits[numPrimaryKeys + 1] = ttProvider.getTypeTrait(metaType); } return typeTraits; }
@SuppressWarnings("rawtypes") public static RecordDescriptor mkRecordDescriptor(IVariableTypeEnvironment env, IOperatorSchema opSchema, JobGenContext context) throws AlgebricksException { ISerializerDeserializer[] fields = new ISerializerDeserializer[opSchema.getSize()]; ITypeTraits[] typeTraits = new ITypeTraits[opSchema.getSize()]; ISerializerDeserializerProvider sdp = context.getSerializerDeserializerProvider(); ITypeTraitProvider ttp = context.getTypeTraitProvider(); int i = 0; for (LogicalVariable var : opSchema) { Object t = env.getVarType(var); if (t == null) { LOGGER.warn("No type for variable " + var); } fields[i] = sdp.getSerializerDeserializer(t); typeTraits[i] = ttp.getTypeTrait(t); i++; } return new RecordDescriptor(fields, typeTraits); }
index.getKeyFieldNames().get(i), sourceType); IAType keyType = keyTypePair.first; secondaryTypeTraits[i] = typeTraitProvider.getTypeTrait(keyType);
IAType nestedKeyType = NonTaggedFormatUtil.getNestedSpatialType(spatialType.getTypeTag()); for (int i = 0; i < numNestedSecondaryKeyFields; i++) { secondaryTypeTraits[i] = ttProvider.getTypeTrait(nestedKeyType);
secondaryRecFields[i] = keySerde; secondaryComparatorFactories[i] = comparatorFactoryProvider.getBinaryComparatorFactory(keyType, true); secondaryTypeTraits[i] = typeTraitProvider.getTypeTrait(keyType); secondaryBloomFilterKeyFields[i] = i; enforcedTypeTraits[numPrimaryKeys] = typeTraitProvider.getTypeTrait(itemType); if (dataset.hasMetaPart()) { enforcedRecFields[numPrimaryKeys + 1] = serdeProvider.getSerializerDeserializer(metaType); enforcedTypeTraits[numPrimaryKeys + 1] = typeTraitProvider.getTypeTrait(metaType); enforcedRecFields[numPrimaryKeys + 1 + (dataset.hasMetaPart() ? 1 : 0)] = serde; enforcedTypeTraits[numPrimaryKeys + 1 + (dataset.hasMetaPart() ? 1 : 0)] = typeTraitProvider.getTypeTrait(type);
index.getKeyFieldNames().get(i), sourceType); IAType keyType = keyTypePair.first; secondaryTypeTraits[i] = typeTraitProvider.getTypeTrait(keyType);
secondaryRecFields[i] = keySerde; secondaryComparatorFactories[i] = comparatorFactoryProvider.getBinaryComparatorFactory(keyType, true); secondaryTypeTraits[i] = typeTraitProvider.getTypeTrait(keyType); secondaryBloomFilterKeyFields[i] = i; enforcedTypeTraits[numPrimaryKeys] = typeTraitProvider.getTypeTrait(itemType); if (dataset.hasMetaPart()) { enforcedRecFields[numPrimaryKeys + 1] = serdeProvider.getSerializerDeserializer(metaType); enforcedTypeTraits[numPrimaryKeys + 1] = typeTraitProvider.getTypeTrait(metaType); enforcedRecFields[numPrimaryKeys + 1 + (dataset.hasMetaPart() ? 1 : 0)] = serde; enforcedTypeTraits[numPrimaryKeys + 1 + (dataset.hasMetaPart() ? 1 : 0)] = typeTraitProvider.getTypeTrait(type);
primaryComparatorFactories[i] = storageComponentProvider.getComparatorFactoryProvider() .getBinaryComparatorFactory(keyType, true); primaryTypeTraits[i] = storageComponentProvider.getTypeTraitProvider().getTypeTrait(keyType); storageComponentProvider.getTypeTraitProvider().getTypeTrait(recordType); if (dataset.hasMetaPart()) { primaryTypeTraits[numPrimaryKeys + 1] = storageComponentProvider.getTypeTraitProvider().getTypeTrait(recordType); secondaryComparatorFactories[i] = storageComponentProvider.getComparatorFactoryProvider() .getBinaryComparatorFactory(nestedKeyType, true); secondaryTypeTraits[i] = storageComponentProvider.getTypeTraitProvider().getTypeTrait(nestedKeyType); valueProviderFactories[i] = storageComponentProvider.getPrimitiveValueProviderFactory();
outputTypeTraits[f] = dataFormat.getTypeTraitProvider().getTypeTrait(BuiltinType.ABOOLEAN); f++; outputTypeTraits[f] = dataFormat.getTypeTraitProvider().getTypeTrait(itemType); f++; outputTypeTraits[f] = dataFormat.getTypeTraitProvider().getTypeTrait(metaItemType); f++; outputTypeTraits[f] = dataFormat.getTypeTraitProvider().getTypeTrait(itemType.getFieldTypes()[fieldIdx]); outputSerDes[f] = dataFormat.getSerdeProvider().getSerializerDeserializer(itemType.getFieldTypes()[fieldIdx]);
ISerializerDeserializer keySerde = serdeProvider.getSerializerDeserializer(secondaryKeyType); secondaryRecFields[0] = keySerde; secondaryTypeTraits[0] = typeTraitProvider.getTypeTrait(secondaryKeyType);
outputTypeTraits[f] = FormatUtils.getDefaultFormat().getTypeTraitProvider().getTypeTrait(metaItemType); f++; .getTypeTrait(itemType.getFieldTypes()[fieldIdx]); outputSerDes[f] = FormatUtils.getDefaultFormat().getSerdeProvider() .getSerializerDeserializer(itemType.getFieldTypes()[fieldIdx]);
ISerializerDeserializer keySerde = serdeProvider.getSerializerDeserializer(secondaryKeyType); secondaryRecFields[0] = keySerde; secondaryTypeTraits[0] = typeTraitProvider.getTypeTrait(secondaryKeyType);