|
@@ -1492,7 +1492,7 @@ IHqlExpression * createIf(IHqlExpression * cond, IHqlExpression * left, IHqlExpr
|
|
ITypeInfo * leftType = left->queryType();
|
|
ITypeInfo * leftType = left->queryType();
|
|
ITypeInfo * rightType = right->queryType();
|
|
ITypeInfo * rightType = right->queryType();
|
|
Owned<ITypeInfo> type = ::getPromotedECLType(leftType, rightType);
|
|
Owned<ITypeInfo> type = ::getPromotedECLType(leftType, rightType);
|
|
- if (isStringType(type) && (leftType->getStringLen() != rightType->getStringLen()))
|
|
|
|
|
|
+ if ((isStringType(type) || isUnicodeType(type)) && (leftType->getStringLen() != rightType->getStringLen()))
|
|
type.setown(getStretchedType(UNKNOWN_LENGTH, type));
|
|
type.setown(getStretchedType(UNKNOWN_LENGTH, type));
|
|
|
|
|
|
return createValue(no_if, type.getClear(), cond, left, right);
|
|
return createValue(no_if, type.getClear(), cond, left, right);
|