Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-4039

Move row-store missing-value support into the cell unpack code.

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.6.6, 4.0.0-rc0, WT3.1.0
    • Component/s: None
    • Labels:
      None
    • Sprint:
      Storage Non-NYC 2018-04-23, Storage Non-NYC 2018-05-07

      Description

      Michael Cahill comments with reference to the Pull Request in WT-4031:

      I'd be inclined to go the other way and always "unpack" a missing value cell as if it was a zero-length value. If __wt_row_leaf_value_cell returned an unpacked value, rather than a pointer to the raw cell, that would be straightforward (AFAICT, all callers currently call __wt_cell_unpack right after).

      Alternatively, we could keep around the bits corresponding to a zero-length value cell in a static array, and have __wt_row_leaf_value_cell return a pointer to that, but that seems messier to me.

      This change would clean up various callers like __cursor_row_slot_return and __value_return that currently have to check for NULL and hard-code knowledge that NULL means an empty value in multiple parts of the code.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              keith.bostic Keith Bostic
              Reporter:
              keith.bostic Keith Bostic
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: