Преглед изворни кода

HPCC-14385 Minor fixes in preparation for HPCC-9318

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Gavin Halliday пре 9 година
родитељ
комит
d00db23069
2 измењених фајлова са 11 додато и 12 уклоњено
  1. 10 11
      ecl/hql/hqlexpr.cpp
  2. 1 1
      ecl/hqlcpp/hqlcppds.cpp

+ 10 - 11
ecl/hql/hqlexpr.cpp

@@ -1973,7 +1973,7 @@ childDatasetType getChildDatasetType(IHqlExpression * expr)
     case no_subgraph:
     case no_deserialize:
     case no_serialize:
-        if (expr->queryChild(0)->isDataset())
+        if (expr->queryChild(0)->isDataset() || expr->queryChild(0)->isDictionary())
             return childdataset_dataset_noscope;
         return childdataset_none;
     case no_pipe:
@@ -2241,9 +2241,15 @@ inline unsigned doGetNumChildTables(IHqlExpression * dataset)
     case no_ensureresult:
         return 1;
     case no_executewhen:
+    case no_setresult:
+    case no_sizeof:
+    case no_offsetof:
+    case no_nameof:
+    case no_blob2id:
+    case no_subgraph:
     case no_deserialize:
     case no_serialize:
-        if (dataset->queryChild(0)->isDataset())
+        if (dataset->queryChild(0)->isDataset() || dataset->queryChild(0)->isDictionary())
             return 1;
         return 0;
     case no_childdataset:
@@ -2300,15 +2306,6 @@ inline unsigned doGetNumChildTables(IHqlExpression * dataset)
     case no_purevirtual:
     case no_libraryinput:
         return 0;
-    case no_subgraph:
-    case no_sizeof:
-    case no_offsetof:
-    case no_nameof:
-    case no_blob2id:
-    case no_setresult:
-        if (dataset->queryChild(0)->isDataset())
-            return 1;
-        return 0;
     case no_select:
         if (dataset->hasAttribute(newAtom) && dataset->isDataset())
             return 1;
@@ -6349,6 +6346,8 @@ void CHqlDataset::cacheParent()
     case no_mergejoin:
     case no_nwayjoin:
     case no_nwaymerge:
+    case no_serialize:
+    case no_deserialize:
         rootTable = this;       //?
         break;
     case no_table:

+ 1 - 1
ecl/hqlcpp/hqlcppds.cpp

@@ -1928,7 +1928,7 @@ void HqlCppTranslator::buildAssignSerializedDataset(BuildCtx & ctx, const CHqlBo
     }
 
 
-    OwnedHqlExpr call = bindFunctionCall(func, args);
+    OwnedHqlExpr call = bindFunctionCall(func, args, serializedType);
     buildExprAssign(ctx, target, call);
 }