浏览代码

Merge branch 'candidate-4.2.8' into closedown-5.0.x

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 11 年之前
父节点
当前提交
9d9ed10631
共有 3 个文件被更改,包括 7 次插入4 次删除
  1. 2 2
      common/workunit/pkgimpl.hpp
  2. 3 1
      ecl/hql/hqlexpr.cpp
  3. 2 1
      roxie/ccd/ccddali.cpp

+ 2 - 2
common/workunit/pkgimpl.hpp

@@ -400,7 +400,7 @@ public:
         Owned<IPropertyTree> query = resolveQueryAlias(querySet, queryname, true);
         if (!query)
             throw MakeStringException(PACKAGE_QUERY_NOT_FOUND, "Query %s not found", queryname);
-        Owned<IReferencedFileList> filelist = createReferencedFileList(NULL, NULL, true);
+        Owned<IReferencedFileList> filelist = createReferencedFileList(NULL, true, false);
         Owned<IWorkUnitFactory> wufactory = getWorkUnitFactory(NULL, NULL);
         Owned<IConstWorkUnit> cw = wufactory->openWorkUnit(query->queryProp("@wuid"), false);
 
@@ -494,7 +494,7 @@ public:
             const char *queryid = queries->query().queryProp("@id");
             if (queryid && *queryid)
             {
-                Owned<IReferencedFileList> filelist = createReferencedFileList(NULL, NULL, true);
+                Owned<IReferencedFileList> filelist = createReferencedFileList(NULL, true, false);
                 Owned<IConstWorkUnit> cw = wufactory->openWorkUnit(queries->query().queryProp("@wuid"), false);
 
                 StringArray libnames, unresolvedLibs;

+ 3 - 1
ecl/hql/hqlexpr.cpp

@@ -3483,7 +3483,9 @@ void CHqlExpression::updateFlagsAfterOperands()
     case no_attr_link:
     case no_attr_expr:
         if (queryName() == onFailAtom)
-            infoFlags &= ~HEFonFailDependent;
+        {
+            infoFlags &= ~(HEFonFailDependent|HEFcontainsSkip); // ONFAIL(SKIP) - skip shouldn't extend any further
+        }
         infoFlags &= ~(HEFthrowscalar|HEFthrowds|HEFoldthrows);
         break;
     case no_clustersize:

+ 2 - 1
roxie/ccd/ccddali.cpp

@@ -272,7 +272,8 @@ private:
     static void writeCache(const char *foundLoc, const char *newLoc, IPropertyTree *val)
     {
         CriticalBlock b(cacheCrit);
-        loadCache();
+        if (!cache)
+            initCache();
         cache->removeProp(foundLoc);
         if (val)
             cache->addPropTree(newLoc, LINK(val));