Browse Source

HPCC-17099 Allow eclcc/eclserver to read file information from Dali

Index crc not being generated properly if the untranslated definition of an
index did not include the filepos field but the translated one did.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 8 years ago
parent
commit
5da2aaf4c7
1 changed files with 3 additions and 0 deletions
  1. 3 0
      ecl/hqlcpp/hqlttcpp.cpp

+ 3 - 0
ecl/hqlcpp/hqlttcpp.cpp

@@ -8962,6 +8962,9 @@ IHqlExpression * DFSLayoutTransformer::createTransformed(IHqlExpression * expr)
                         // Note - this doesn't merit a warning - but if we changed the number of keyed it might?
                         ds.setown(replaceOwnedAttribute(ds, createExprAttribute(_payload_Atom, createConstant((int) dfsPayload))));
                     }
+                    // NOTE - we assume that the dfs info will always include a fileposition field, even if the ECL definition did not.
+                    // Hence we always need to set the filepositionAtom indicator to true
+                    ds.setown(replaceOwnedAttribute(ds, createExprAttribute(filepositionAtom, createConstant(true))));
                 }
 
                 OwnedHqlExpr diskread = replaceChild(ds, recordIdx, dfsLayout);