|
@@ -1447,11 +1447,11 @@ const char *getOpString(node_operator op)
|
|
|
case no_debug_option_value: return "__DEBUG__";
|
|
|
case no_dataset_alias: return "TABLE";
|
|
|
case no_childquery: return "no_childquery";
|
|
|
- case no_inlinedictionary: return "DICTIONARY";
|
|
|
+ case no_inlinedictionary: case no_userdictionary: case no_newuserdictionary: return "DICTIONARY";
|
|
|
|
|
|
case no_unused6:
|
|
|
case no_unused13: case no_unused14: case no_unused15: case no_unused18: case no_unused19:
|
|
|
- case no_unused20: case no_unused21: case no_unused22: case no_unused23: case no_unused24: case no_unused25: case no_unused26: case no_unused27: case no_unused28: case no_unused29:
|
|
|
+ case no_unused20: case no_unused21: case no_unused22: case no_unused23: case no_unused24: case no_unused25: case no_unused28: case no_unused29:
|
|
|
case no_unused30: case no_unused31: case no_unused32: case no_unused33: case no_unused34: case no_unused35: case no_unused36: case no_unused37: case no_unused38:
|
|
|
case no_unused40: case no_unused41: case no_unused42: case no_unused43: case no_unused44: case no_unused45: case no_unused46: case no_unused47: case no_unused48: case no_unused49:
|
|
|
case no_unused50: case no_unused52:
|
|
@@ -1816,6 +1816,8 @@ childDatasetType getChildDatasetType(IHqlExpression * expr)
|
|
|
case no_transformascii:
|
|
|
case no_selectfields:
|
|
|
case no_newaggregate:
|
|
|
+ case no_userdictionary:
|
|
|
+ case no_newuserdictionary:
|
|
|
case no_newusertable:
|
|
|
case no_usertable:
|
|
|
case no_alias_project:
|
|
@@ -2102,6 +2104,7 @@ inline unsigned doGetNumChildTables(IHqlExpression * dataset)
|
|
|
case no_compound_inline:
|
|
|
case no_transformascii:
|
|
|
case no_transformebcdic:
|
|
|
+ case no_newuserdictionary:
|
|
|
case no_newusertable:
|
|
|
case no_aggregate:
|
|
|
case no_usertable:
|
|
@@ -2606,6 +2609,7 @@ IHqlExpression * queryNewColumnProvider(IHqlExpression * expr)
|
|
|
case no_createrow:
|
|
|
case no_typetransfer:
|
|
|
return expr->queryChild(0);
|
|
|
+ case no_userdictionary:
|
|
|
case no_usertable:
|
|
|
case no_selectfields:
|
|
|
case no_transformebcdic:
|
|
@@ -2623,6 +2627,7 @@ IHqlExpression * queryNewColumnProvider(IHqlExpression * expr)
|
|
|
case no_newkeyindex:
|
|
|
case no_aggregate:
|
|
|
case no_newaggregate:
|
|
|
+ case no_newuserdictionary:
|
|
|
case no_newusertable:
|
|
|
case no_normalize:
|
|
|
case no_xmlparse:
|
|
@@ -9884,6 +9889,8 @@ IHqlExpression *createDictionary(node_operator op, HqlExprArray & parms)
|
|
|
|
|
|
switch (op)
|
|
|
{
|
|
|
+ case no_newuserdictionary:
|
|
|
+ case no_userdictionary:
|
|
|
case no_inlinedictionary:
|
|
|
type.setown(makeDictionaryType(makeRowType(createRecordType(&parms.item(1)))));
|
|
|
break;
|
|
@@ -15241,6 +15248,14 @@ bool recordTypesMatch(IHqlExpression * left, IHqlExpression * right)
|
|
|
}
|
|
|
|
|
|
|
|
|
+bool recordTypesMatchIgnorePayload(IHqlExpression *left, IHqlExpression *right)
|
|
|
+{
|
|
|
+ OwnedHqlExpr simpleLeft = removeProperty(left->queryRecord(), _payload_Atom);
|
|
|
+ OwnedHqlExpr simpleRight = removeProperty(right->queryRecord(), _payload_Atom);
|
|
|
+ return recordTypesMatch(simpleLeft->queryType(), simpleRight->queryType());
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
IHqlExpression * queryTransformSingleAssign(IHqlExpression * transform)
|
|
|
{
|
|
|
if (transform->numChildren() != 1)
|