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

Merge pull request #7769 from ghalliday/issue14161

HPCC-14161 Fix processing FORWARD definitions with inline transforms

Reviewed-By: Jamie Noss <james.noss@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 9 éve
szülő
commit
78b880f1cc
2 módosított fájl, 23 hozzáadás és 1 törlés
  1. 1 1
      ecl/hql/hqlgram2.cpp
  2. 22 0
      ecl/regress/issue14161.ecl

+ 1 - 1
ecl/hql/hqlgram2.cpp

@@ -2908,7 +2908,7 @@ void HqlGram::processForwardModuleDefinition(const attribute & errpos)
         switch (next)
         {
         case ASSIGN:
-            if ((sharedSymbolKind != 0) && prevId && (endNesting == 0))
+            if ((sharedSymbolKind != 0) && !sharedSymbolName && prevId && (endNesting == 0))
             {
                 sharedSymbolName = prevId;
             }

+ 22 - 0
ecl/regress/issue14161.ecl

@@ -0,0 +1,22 @@
+testforward := MODULE, FORWARD
+
+Ins001_Structure:=RECORD
+ INTEGER2 ordernumber;
+ STRING orderdate;
+ STRING requireddate;
+ STRING shippeddate;
+END;
+;
+
+EXPORT Ins001_dsOutput := DATASET('~birt::orders',Ins001_Structure,THOR);
+
+EXPORT Ins003_dsOutput:=PROJECT(Ins001_dsOutput,TRANSFORM({RECORDOF(Ins001_dsOutput),STRING year,STRING shippedyear},
+SELF.year:=LEFT.orderdate[1..4];
+SELF.shippedyear:=LEFT.shippeddate[1..4];
+SELF:=LEFT;));
+
+  EXPORT x := Ins003_dsOutput;
+
+END;
+
+output(testforward.x);