public static boolean isClosed(IAType t) { switch (t.getTypeTag()) { case MISSING: case ANY: return false; case UNION: return isClosed(((AUnionType) t).getActualType()); default: return true; } }
@Override public boolean canBeMissing(Object type) { IAType t = (IAType) type; return TypeHelper.canBeMissing(t); }
boolean unknownable = TypeHelper.canBeUnknown(type0) || TypeHelper.canBeUnknown(type1); Map<String, IAType> additionalFields = new HashMap<>(); List<String> resultFieldNames = new ArrayList<>();
boolean unknownable = TypeHelper.canBeUnknown(t0) || TypeHelper.canBeUnknown(t1); ARecordType recType0 = TypeComputeUtils.extractRecordType(t0); if (recType0 == null) {
private boolean hasClosedType(ILogicalExpression expr) throws AlgebricksException { IAType t = (IAType) context.getExpressionTypeComputer().getType(expr, context.getMetadataProvider(), env); return TypeHelper.isClosed(t); } }
LogicalVariable countVar = ((VariableReferenceExpression) arg).getVariableReference(); Object varType = env.getVarType(countVar); boolean nullable = TypeHelper.canBeUnknown((IAType) varType); if (!nullable) { fun.getArguments().get(0).setValue(new ConstantExpression(new AsterixConstantValue(new AInt64(1L))));
IAType t2 = (IAType) env.getType(e2); String fieldName = ConstantExpressionUtil.getStringConstant(e1); if (fieldName != null && t2 != null && TypeHelper.isClosed(t2)) { if (namesList.contains(fieldName)) { throw new CompilationException(ErrorCode.DUPLICATE_FIELD_NAME, f.getSourceLocation(), fieldName);
@Override public ClosedDataInfo visitVariableReferenceExpression(VariableReferenceExpression expr, Void arg) throws AlgebricksException { Object varType = env.getVarType(expr.getVariableReference()); if (varType == null) { throw new CompilationException(ErrorCode.COMPILATION_ERROR, expr.getSourceLocation(), "Could not infer type for variable '" + expr.getVariableReference() + "'."); } return new ClosedDataInfo(false, TypeHelper.isClosed((IAType) varType), expr); }