Skip to content

Range query correctness #4

Description

@skyelves

fkey = (uint8_t *)&key;

fkey can not work on the machine using little-endian. Although insert and search can work well on both machines with big-endian or little-endian, the range query can only report the correct results on machines with big-endian.

For example, if I want to scan(0x1, 0x100), on a little-endian machine, fkey[0] of key 0x1 equals to 1 while fkey[0] of key 0x100 equals to 0. Therefore, key_key_lt returns false.

To fix this bug, defining a MACRO to get the fkey from the key works.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions