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

Dubious code in CKeyMerger::BuffCompare

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Timed Out
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: JHTree
    • Labels:
      None
    • Compatibility:
      Major

      Description

      There are a few problems with the code that is used for merging multiple index streams (which is used in super keys and in the smart stepping):

      • Any data stored in the fileposition field is not compared.
      • The payload is compared using memcmp.  That may not be appropriate to give the correct ordering - e.g., if there were unicode/decimal or other fixed size fields.
      • Variable size keys compare the maximum length of the row.  That means if all the payload matches it will compare uninitialised data before comparing the keyed portion.

      Fixing these are likely to cause query results to change, and some will require other changes migrating type information into jhtree before they can be tackled.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ghalliday Gavin Halliday
                Reporter:
                ghalliday Gavin Halliday
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: