Forráskód Böngészése

HPCC-14997 Error 'First parameter of FETCH should be a disk file'

Signed-off-by: Shamser Ahmed <shamser.ahmed@lexisnexis.co.uk>
Shamser Ahmed 9 éve
szülő
commit
e0a4df67bd

+ 0 - 12
ecl/hql/hqlgram.y

@@ -8667,12 +8667,6 @@ simpleDataSet
                             IHqlExpression * left = $3.getExpr();
                             IHqlExpression * right = $5.getExpr();
 
-                            node_operator modeOp = no_none;
-                            if (left->getOperator() == no_table)
-                                modeOp = left->queryChild(2)->getOperator();
-                            if ((modeOp != no_thor) && (modeOp != no_flat) && (modeOp != no_csv) && (modeOp != no_xml) && (modeOp != no_json))
-                                parser->reportError(ERR_FETCH_NON_DATASET, $3, "First parameter of FETCH should be a disk file");
-
                             IHqlExpression *join = createDataset(no_fetch, left, createComma(right, $7.getExpr(), $9.getExpr(), createComma($10.getExpr(), $12.getExpr())));
 
                             $$.setExpr(join);
@@ -8685,12 +8679,6 @@ simpleDataSet
                             IHqlExpression * right = $5.getExpr();
                             IHqlExpression * transform = parser->createDefJoinTransform(left, right, $7, $10.queryExpr(),NULL);
 
-                            node_operator modeOp = no_none;
-                            if (left->getOperator() == no_table)
-                                modeOp = left->queryChild(2)->getOperator();
-                            if ((modeOp != no_thor) && (modeOp != no_flat) && (modeOp != no_csv) && (modeOp != no_xml)  && (modeOp != no_json))
-                                parser->reportError(ERR_FETCH_NON_DATASET, $3, "First parameter of FETCH should be a disk file");
-
                             IHqlExpression *join = createDataset(no_fetch, left, createComma(right, $7.getExpr(), transform, createComma($8.getExpr(), $10.getExpr())));
 
                             $$.setExpr(join);

+ 1 - 1
esp/src/Visualization

@@ -1 +1 @@
-Subproject commit a40abcd1b85efe2802f5c5cba1c3fa529ce01af3
+Subproject commit ae58f3281e6c48d30866cf7664db468b3f12cc14

+ 8 - 1
testing/regress/ecl/fetch2.ecl

@@ -52,6 +52,12 @@ fetched := fetch(sq.SimplePersonBookDs, myPeople, right.filepos, makeRec(left, r
 fetched2 := fetch(sq.SimplePersonBookDs, myPeople, right.filepos, makeRec2(left, right));
 fetched3 := fetch(sq.SimplePersonBookDs, myPeople, right.filepos, makeRec3(left, right));
 
+fetchit (dataset(sq.SimplePersonBookExRec) ds, string sname) := FUNCTION
+   return fetch(ds, ds(surname=sname), right.filepos, makeRec3(left,right));
+END;
+
+fetched4 := fetchit( sq.SimplePersonBookDs, 'Halliday' );
+
 recordof(sq.SimplePersonBookDs) removeFp(recfp l) := TRANSFORM
     SELF := l;
 END;
@@ -62,5 +68,6 @@ END;
 sequential(
     output(sortIt(fetched)),
     output(sortIt(fetched2)),
-    output(sortIt(fetched3))
+    output(sortIt(fetched3)),
+    output(sortIt(fetched4))
 );

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 5 - 0
testing/regress/ecl/key/fetch2.xml