Bläddra i källkod

Merge pull request #6638 from ghalliday/issue11614

HPCC-11614 Support outputting workunit result to disk in roxie

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 10 år sedan
förälder
incheckning
db874f8058

+ 2 - 1
ecl/hqlcpp/hqlhtcpp.cpp

@@ -10496,7 +10496,8 @@ ABoundActivity * HqlCppTranslator::doBuildActivityOutput(BuildCtx & ctx, IHqlExp
             //virtual const char * getFileName() = 0;
             if (filename && filename->getOperator() != no_pipe)
             {
-                buildFilenameFunction(*instance, instance->startctx, "getFileName", filename, hasDynamicFilename(expr));
+                bool isDynamic = expr->hasAttribute(resultAtom) || hasDynamicFilename(expr);
+                buildFilenameFunction(*instance, instance->startctx, "getFileName", filename, isDynamic);
                 if (!filename->isConstant())
                     constFilename = false;
             }

+ 5 - 0
ecl/regress/issue11614.ecl

@@ -0,0 +1,5 @@
+#option ('targetClusterType', 'roxie');
+
+ds := dataset(['This','is','the', 'result'], { string line });
+
+output(ds,,named('x'),thor);

+ 6 - 0
testing/regress/ecl/key/outputresultfile.xml

@@ -0,0 +1,6 @@
+<Dataset name='x'>
+ <Row><line>This</line><__fileposition__>0</__fileposition__></Row>
+ <Row><line>is</line><__fileposition__>8</__fileposition__></Row>
+ <Row><line>the</line><__fileposition__>14</__fileposition__></Row>
+ <Row><line>result</line><__fileposition__>21</__fileposition__></Row>
+</Dataset>

+ 3 - 0
testing/regress/ecl/outputresultfile.ecl

@@ -0,0 +1,3 @@
+ds := dataset(['This','is','the', 'result'], { string line });
+
+output(ds,,named('x'),thor);