Browse Source

HPCC-19593 Add a flag to indicate an index read uses blobs

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Gavin Halliday 7 years ago
parent
commit
eec2567395
2 changed files with 3 additions and 1 deletions
  1. 2 1
      ecl/hqlcpp/hqlsource.cpp
  2. 1 0
      rtl/include/eclhelper.hpp

+ 2 - 1
ecl/hqlcpp/hqlsource.cpp

@@ -1735,7 +1735,6 @@ void SourceBuilder::doBuildNormalizeIterators(BuildCtx & ctx, IHqlExpression * e
         {
             iterctx.addQuotedLiteral("byte * src;");
             associateFilePositions(iterctx, "activity->fpp", "activity->src");      // in case no projection in first()
-            translator.associateBlobHelper(iterctx, tableExpr, "fpp");
             firstFunc.ctx.addQuotedLiteral("src = (byte *)_src;");
         }
         else
@@ -3864,6 +3863,8 @@ void IndexReadBuilderBase::buildFlagsMember(IHqlExpression * expr)
     if (requiresOrderedMerge) flags.append("|TIRorderedmerge");
     if (translator.queryOptions().createValueSets)
         flags.append("|TIRnewfilters");
+    if (containsOperator(expr, no_id2blob))
+        flags.append("|TIRusesblob");
 
     if (flags.length())
         translator.doBuildUnsignedFunction(instance->classctx, "getFlags", flags.str()+1);

+ 1 - 0
rtl/include/eclhelper.hpp

@@ -1139,6 +1139,7 @@ enum
     TIRorderedmerge     = 0x00008000,
     TIRunordered        = 0x00010000,
     TIRnewfilters       = 0x00020000,               // Uses new style field filters
+    TIRusesblob         = 0x00040000,               // Uses blob in the transform/projected row
 };
 
 //flags for thor index write