浏览代码

HPCC-14997 Error 'First parameter of FETCH should be a disk file' seems to be context dependent, why?

Signed-off-by: Shamser Ahmed <shamser.ahmed@lexisnexis.co.uk>
Shamser Ahmed 9 年之前
父节点
当前提交
6d8f8a0366
共有 1 个文件被更改,包括 49 次插入0 次删除
  1. 49 0
      ecl/regress/fetchinfunc2.ecl

+ 49 - 0
ecl/regress/fetchinfunc2.ecl

@@ -0,0 +1,49 @@
+/*##############################################################################
+
+    HPCC SYSTEMS software Copyright (C) 2014 HPCC Systems®.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+############################################################################## */
+
+#option ('targetClusterType', 'roxie');
+
+import sq;
+sq.declareCommon();
+
+//UseStandardFiles
+
+//Daft test of fetch retrieving a dataset
+myPeople := sqSimplePersonBookDs(surname <> '');
+
+recfp := {unsigned8 rfpos, sqSimplePersonBookDs};
+
+recfp makeRec3(sqSimplePersonBookDs L, myPeople R) := TRANSFORM
+    self.rfpos := R.filepos;
+    self.books := L.books+R.books;
+    self := L;
+END;
+
+// temporary hack to get around codegen optimizing platform(),once call into global (and therefore hthor) context.
+nononcelib :=
+    SERVICE
+varstring platform() : library='graph', include='eclhelper.hpp', ctxmethod, entrypoint='getPlatform';
+    END;
+
+fetchit (dataset(sqSimplePersonBookExRec) ds, string sname) := FUNCTION
+   return fetch(ds, ds(surname=sname), right.filepos, makeRec3(left,right));
+END;
+
+ds2 := nofold(dataset(100, transform(recordof(sqSimplePersonBookDs), SELF := [])));
+fetched := fetchit( ds2, 'Halliday' );
+
+output(fetched);