Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-25758

InnoDB spatial indexes miss large geometry fields after MDEV-25459

    XMLWordPrintable

    Details

      Description

      MDEV-25459 corrected MVCC missing reads from CHAR or VARCHAR indexes, but omits handling InnoDB spatial r-tree indexes in storage/innobase/row/row0sel.cc row_sel_sec_rec_is_for_clust_rec. It seems to work for geometry fields which fit in the key prefix length.

      Checking for dict_index_is_spatial(sec_index) in check_for_blob: goto works, although repetitive code. Not familiar enough with the internals to tell if it would be safe to skip the other checks entirely in case of spatial index.

      Additionally, row_sel_sec_rec_is_for_blob doesn't seem to work right. When len > REC_VERSION_56_MAX_INDEX_COL_LEN it becomes REC_VERSION_56_MAX_INDEX_COL_LEN + 1, causing assert failure in debug build.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              thiru Thirunarayanan Balathandayuthapani
              Reporter:
              jsantala Jukka Santala
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration