Uploaded image for project: 'HPCC'
  1. HPCC
  2. HPCC-18624

Refactor the way fileposition fields are handled by indexes


    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 7.0.0
    • Component/s: Code Generator, JHTree
    • Labels:
    • Compatibility:


      Currently the fileposition field for indexes is special cased - primarily because it is stored in a special place before the record.  This causes problems in various places


      • transform for index read etc. needs to special case file positions
      • meta information for an index can't really represent the field sensibly
      • it makes it hard to integrate into the new remote filtering code.
      • code generator needs to implement some special case code to access the field.


      This issue proposes changing the jhtree code so that the special fileposition field is always appended to the record.  jhtree would treat it just like any other payload field.  The code generator would still need some of the special casing, but it would still be simpler. It will also simplify the work on remote index reads etc.


      The changes could be done in 3 stages:

      • Change jhtree so it always appends the field.  Could access the value from the row via the callback, and could verify that it is initialised correctly.
      • Modify the code generator to get the value from the row instead of from the special callback
      • Modify the helpers and engines to avoid the need for the callback.


      The changes in jhtree are fairly localised.

      Jake Smith FYI.



          Issue Links



              • Assignee:
                ghalliday Gavin Halliday
                ghalliday Gavin Halliday
              • Votes:
                0 Vote for this issue
                1 Start watching this issue


                • Created: