Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-4085

Binary objects: Do not use BinaryField when comparing objects with the same schema.

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 1.7
    • 1.8
    • binary

    Description

      It is not efficient to use BinaryField.value directly when comparing binary objects because it leads to "materialization" of the field.

      Instead, when well-known type is met, we should simply find field start in both objects and perform usual byte-by-byte comparison.

      E.g., for string it will be:
      1) Find position
      2) Compare lengths (readInt)
      3) Compare contents byte-by-byte.

      The same goes for other types:
      1) Primitive arrays
      2) UUID
      3) Data/TimeStamp.

      Please ensure that byte-by-byte comparison is performed efficiently, e.g. that we compare bigger chunks (e.g. 8 bytes at once).

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              vozerov Vladimir Ozerov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: