Ver código fonte

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 anos atrás
pai
commit
5da2aaf4c7
1 arquivos alterados com 3 adições e 0 exclusões
  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);