| Bug #114200 | Incorrect result of getting data from a spatial index on column with SRID | ||
|---|---|---|---|
| Submitted: | 4 Mar 2024 6:44 | Modified: | 14 Jun 2024 0:39 |
| Reporter: | Jinyou Ma | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: InnoDB storage engine | Severity: | S3 (Non-critical) |
| Version: | 8.0, 8.0.36 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[4 Mar 2024 6:44]
Jinyou Ma
[4 Mar 2024 6:58]
MySQL Verification Team
Hello jin ma, Thank you for the report and test case. Verified as described. regards, Umesh
[5 Mar 2024 0:43]
Jinyou Ma
After adding the break point at the row_search_mvcc, I can see that InnoDB does support sequential scan for Rtree index
Thread 38 "connection" hit Breakpoint 1, row_search_mvcc (buf=0xffff28c2e140 "", mode=PAGE_CUR_G, prebuilt=0xffff28c10758, match_mode=0, direction=0)
at /usr/src/debug/mysql-community-8.0.36-1.el9.aarch64/mysql-8.0.36/storage/innobase/row/row0sel.cc:4401
4401 const ulint direction) {
(gdb) p prebuilt->index.name
$1 = {m_name = 0xffff28c08828 "shape"}
(gdb) n
4612 if (dict_index_is_spatial(index) && !RTREE_SEARCH_MODE(mode)) {
(gdb) n
4613 err = DB_END_OF_INDEX;
(gdb) n
6002 if (heap != nullptr) {
--------------------------------
/* We don't support sequential scan for Rtree index, because it
is no meaning to do so. */
if (dict_index_is_spatial(index) && !RTREE_SEARCH_MODE(mode)) {
err = DB_END_OF_INDEX;
goto func_exit;
}
[14 Jun 2024 0:39]
Philip Olson
Posted by developer: Fixed as of the upcoming MySQL Server 8.0.38, 8.4.1, and 9.0.0 releases, and here's the proposed changelog entry from the documentation team: The result from a spatial index containing a column with a spacial reference identifier (SRID) attribute would return as empty. Thank you for the bug report.
