1
0
mirror of https://github.com/MariaDB/server.git synced 2026-10-23 18:49:29 +03:00
Files
mariadb/sql
bsrikanth-mariadb 29f0cd882c MDEV-40553 Print GIS ranges in optimizer trace and context
Ranges built over GIS (geometry) columns could not be printed in the
optimizer trace or the recorded optimizer context: Field_geom printed
every key value as the placeholder "unprintable_geometry_value",
regardless of whether the index stored the column's raw value (or a
prefix of it) or, for a SPATIAL index, its MBR (Minimum Bounding
Rectangle).

Field::print_key_part_value() now takes an image_type argument (see
Field::image_type()) that says which of the two the key holds. For a
SPATIAL index (image_type itMBR), Field_geom::print_key_part_value()
decodes the four doubles the key stores and prints them as a WKT
POLYGON. For every other index (image_type itRAW), the key holds the
value or a prefix of it, and it now prints in binary form, the same
way Field_blob does, instead of the placeholder.

print_mbr_range_operator() prints the spatial relation a GEOM range
carries (MBRWITHIN, MBRCONTAINS, MBRINTERSECTS, MBRDISJOINT,
MBREQUALS), inverted where needed so the indexed column reads on the
left. print_range() and print_key_value() thread the new image_type
argument through to Field_geom::print_key_part_value().

Added new tests in opt_trace, opt_context_store_stats,
opt_context_replay_basic
2026-10-13 13:46:03 +05:30
..
2026-06-15 16:53:03 +02:00
…
2026-10-13 08:39:01 +03:00
2026-10-13 09:56:55 +03:00
2025-07-28 21:29:29 +02:00
2024-11-05 14:00:48 -08:00
2025-09-29 18:25:09 +03:00
…
2025-03-14 12:08:56 +04:00
2026-02-16 21:55:18 +01:00
2025-03-14 12:08:56 +04:00
…
2024-12-02 17:51:17 +02:00
2026-01-31 14:08:54 +01:00
2026-07-20 13:23:00 +03:00
2026-07-20 13:23:00 +03:00
…
2024-12-02 11:35:34 +02:00
2026-03-24 09:49:17 +02:00
2026-03-24 09:49:17 +02:00
…
…
2026-10-13 09:56:55 +03:00
2026-06-15 16:53:03 +02:00
2026-05-26 21:15:58 +02:00
2026-10-13 09:56:55 +03:00
2026-07-29 12:27:46 +02:00
2024-11-29 13:43:17 +02:00
…
…
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2024-12-05 10:11:58 +01:00
2026-08-20 08:27:14 +02:00
2026-02-03 14:53:15 +01:00
2026-10-13 09:56:55 +03:00
2026-05-26 21:15:58 +02:00
2026-02-03 14:53:15 +01:00
2026-10-13 08:39:01 +03:00
2026-08-20 08:27:14 +02:00
2026-10-13 09:56:55 +03:00
2026-03-24 09:49:17 +02:00
2026-01-31 14:08:54 +01:00
2026-10-13 09:56:55 +03:00
2026-10-13 09:56:55 +03:00
2026-01-08 12:02:45 +01:00
2026-08-03 13:42:39 +02:00
2024-07-08 22:40:16 +02:00
2026-05-26 21:15:58 +02:00
2026-10-13 09:56:55 +03:00
2026-10-13 09:56:55 +03:00
2026-05-26 21:15:58 +02:00
…
2025-03-14 12:08:56 +04:00
2026-09-04 12:21:02 +02:00
…
2024-10-03 15:59:20 +10:00
…
2025-03-14 12:08:56 +04:00
2026-05-26 21:15:58 +02:00
2026-10-13 09:56:55 +03:00
2026-10-13 08:39:01 +03:00
2026-07-29 12:27:46 +02:00
2026-10-13 09:56:55 +03:00
2026-09-04 12:21:02 +02:00
2026-07-30 11:41:55 +02:00
2026-05-08 08:00:01 +02:00
2026-09-04 12:21:02 +02:00
2026-01-31 14:08:54 +01:00
2026-05-26 21:15:58 +02:00
2026-10-13 08:39:01 +03:00
2026-02-03 14:53:15 +01:00
2025-09-29 18:25:09 +03:00
2024-07-22 15:14:50 +02:00
2026-05-26 21:15:58 +02:00
2026-05-26 21:15:58 +02:00
2026-06-16 12:24:32 +02:00
2026-07-30 11:41:55 +02:00
2026-06-16 12:24:32 +02:00
2026-08-20 08:27:14 +02:00
2026-06-15 16:53:03 +02:00
2026-06-15 16:53:03 +02:00
2025-03-14 12:08:56 +04:00
2026-04-02 09:15:17 +03:00
2026-10-13 08:39:01 +03:00
2026-09-04 12:21:02 +02:00
2026-09-04 12:21:02 +02:00
2026-02-06 17:46:50 +01:00
2025-11-04 12:39:27 +01:00
2026-09-04 12:14:15 +02:00
2026-09-04 12:14:15 +02:00
2026-10-13 09:56:55 +03:00
2026-09-04 12:14:15 +02:00
2026-09-04 12:14:15 +02:00
2026-10-13 09:56:55 +03:00
2025-09-04 18:08:39 +03:00
2026-10-12 11:08:29 +03:00
2024-06-24 13:09:47 +03:00
2026-08-03 13:42:39 +02:00
2026-07-30 11:41:55 +02:00
2026-06-15 15:15:10 +02:00
2026-06-15 15:15:10 +02:00
2026-10-13 09:56:55 +03:00
2026-04-02 09:15:17 +03:00
2026-10-13 09:56:55 +03:00
2026-10-13 09:56:55 +03:00
2026-01-31 14:08:54 +01:00
2026-01-05 20:34:44 +01:00
2026-07-30 11:41:55 +02:00
2026-03-24 09:49:17 +02:00
2026-06-29 07:40:04 +03:00
2026-01-08 12:02:45 +01:00
2026-07-30 16:15:40 +02:00
2026-07-30 16:15:40 +02:00
2026-02-06 17:46:51 +01:00
2026-03-17 18:57:42 +01:00
2026-10-13 09:56:55 +03:00
2026-07-30 16:15:40 +02:00
…
2026-02-06 17:46:51 +01:00
2024-06-27 10:26:09 +03:00
2025-08-04 12:05:53 +02:00
2024-12-02 17:51:17 +02:00
2025-09-19 12:31:14 +03:00
2026-10-13 09:56:55 +03:00
2026-05-26 21:15:58 +02:00
2025-03-14 12:08:56 +04:00
2026-09-10 09:07:23 +03:00
2026-09-04 12:21:02 +02:00
2024-07-03 12:45:30 +02:00
2026-09-04 12:21:02 +02:00
2026-10-13 08:39:01 +03:00
2024-12-02 17:51:17 +02:00
2026-09-04 12:21:02 +02:00
2026-09-04 12:21:02 +02:00
2026-10-07 22:10:46 +02:00
2026-10-13 09:56:55 +03:00
2026-08-20 08:27:14 +02:00
2026-10-13 09:56:55 +03:00
2026-09-04 12:21:02 +02:00
2026-10-13 08:39:01 +03:00
2026-10-13 08:39:01 +03:00
2026-10-13 09:56:55 +03:00
2026-08-19 08:40:05 +02:00
2026-07-28 13:14:38 +02:00
2026-05-26 21:15:58 +02:00
…
2026-10-13 08:39:01 +03:00
2025-03-14 12:08:56 +04:00
2024-12-02 17:51:17 +02:00
2026-08-20 08:27:14 +02:00
2026-09-04 12:21:02 +02:00
2026-10-13 09:56:55 +03:00
2026-08-20 08:27:14 +02:00
2026-08-20 08:27:14 +02:00
2026-10-13 09:56:55 +03:00
2026-07-20 13:23:00 +03:00
2026-03-24 09:49:17 +02:00
2025-09-04 18:08:39 +03:00
2024-06-24 13:09:47 +03:00
2025-03-14 12:08:56 +04:00
2026-05-22 09:52:05 +02:00
2024-12-02 11:35:34 +02:00
2026-09-04 12:14:15 +02:00
2026-10-07 22:10:46 +02:00
2026-09-04 12:21:02 +02:00
2025-03-14 12:08:56 +04:00
2026-06-16 12:24:32 +02:00
2025-11-28 12:56:27 +02:00
2024-06-27 10:26:09 +03:00
2026-09-04 12:21:02 +02:00
2026-06-21 15:32:20 +02:00
2026-08-19 08:40:05 +02:00
2026-06-15 16:53:03 +02:00
2026-04-02 09:15:17 +03:00
2024-10-03 13:24:43 +03:00
2024-09-09 13:50:38 +03:00
2026-09-04 12:21:02 +02:00
2026-02-07 22:12:32 +01:00
2026-08-03 13:42:39 +02:00
2026-07-29 12:27:46 +02:00