1
0
mirror of https://github.com/MariaDB/server.git synced 2026-10-23 18:49:29 +03:00
Files
mariadb/sql
DerZc 6e62fd0112 MDEV-41067: Fix JSON_OVERLAPS for nested arrays
Problem: JSON_OVERLAPS treats unequal nested arrays as equal when only
one parser reaches the array end. Requiring both ends also exposes a
cleanup issue: scanning ']' moves stack_p to the parent, so skipping
the current level consumes parent elements. This misses the common [2]
in [[1],[2]] and [[],[2]], and can skip unequal recursive elements.

Fix: Require both parsers to reach JST_ARRAY_END. Remember their array
levels before comparing and skip to those saved levels after completed
comparisons and mismatches, preserving parent siblings. Explain why the
saved levels are needed. Add regression coverage for both argument
orders, unequal lengths, empty arrays, recursive comparisons, type
mismatches, array order and a later common object member.
2026-10-15 14:09:24 +03:00
..
2026-05-08 08:00:01 +02:00
2025-10-25 00:19:11 +07:00
…
2026-07-23 11:12:27 +02:00
2026-07-28 13:14:38 +02:00
…
2025-09-04 18:08:39 +03:00
2024-01-19 09:07:48 +02:00
…
…
…
2024-12-02 11:35:34 +02:00
2024-11-29 12:37:46 +02:00
2024-10-30 15:11:17 +01:00
2026-01-28 21:52:18 +01:00
2026-10-13 07:04:14 +03:00
2026-10-13 07:49:28 +03:00
2024-12-02 11:35:34 +02:00
2023-12-21 02:14:59 +01:00
…
…
…
2024-01-27 12:09:54 +01:00
2024-01-27 12:09:54 +01:00
2026-06-15 12:50:45 +02:00
2025-09-04 18:08:39 +03:00
2026-08-30 17:39:50 +02:00
2024-11-29 13:43:17 +02:00
…
…
2026-10-13 07:49:28 +03:00
2026-10-13 07:49:28 +03:00
2024-12-02 11:35:34 +02:00
2024-12-05 10:11:58 +01:00
2026-08-19 08:40:05 +02:00
2026-07-28 13:14:38 +02:00
2026-08-19 08:13:54 +02:00
2026-01-28 14:22:20 +01:00
2026-06-26 13:45:38 +03:00
2026-01-28 21:52:18 +01:00
2026-01-28 14:22:20 +01:00
2026-01-28 14:22:20 +01:00
2026-10-13 07:49:28 +03:00
2024-12-02 11:35:34 +02:00
2026-07-14 12:49:36 +10:00
2024-11-29 13:43:17 +02:00
2024-07-08 22:40:16 +02:00
2024-06-17 12:02:03 +03:00
2025-04-26 10:53:02 +02:00
2024-05-21 19:38:51 +02:00
2023-11-14 18:33:03 +01:00
2025-04-26 10:53:02 +02:00
2026-10-13 07:04:14 +03:00
2026-08-19 08:40:05 +02:00
2026-10-13 07:04:14 +03:00
2026-05-08 08:00:01 +02:00
…
…
2025-09-04 18:08:39 +03:00
2026-04-01 10:49:05 +03:00
…
2024-09-18 07:38:49 +03:00
2024-12-02 11:35:34 +02:00
2023-11-08 16:23:30 +01:00
2026-07-28 13:14:38 +02:00
2024-05-21 19:38:51 +02:00
2026-08-19 08:40:05 +02:00
2026-01-28 21:52:18 +01:00
2026-10-13 07:04:14 +03:00
2026-08-19 08:40:05 +02:00
2026-07-28 13:14:38 +02:00
2024-12-02 11:35:34 +02:00
2026-07-28 13:14:38 +02:00
2026-05-08 08:00:01 +02:00
2026-08-19 08:40:05 +02:00
2026-05-08 08:00:01 +02:00
2024-12-02 11:35:34 +02:00
…
2025-09-04 18:08:39 +03:00
2024-07-22 15:14:50 +02:00
2026-10-13 07:04:14 +03:00
2026-05-08 08:00:01 +02:00
2026-10-13 07:49:28 +03:00
2026-06-15 12:50:45 +02:00
2026-07-28 13:14:38 +02:00
2026-10-13 07:04:14 +03:00
2026-10-13 07:04:14 +03:00
2026-08-19 08:40:05 +02:00
2026-08-19 08:40:05 +02:00
2026-06-15 12:50:45 +02:00
2026-06-15 10:43:23 +02:00
2024-12-02 11:35:34 +02:00
2026-08-19 08:40:05 +02:00
2026-08-19 08:40:05 +02:00
2026-10-13 07:04:14 +03:00
2025-10-28 17:49:51 +01:00
2025-10-28 17:49:51 +01:00
2026-10-13 07:04:14 +03:00
2026-10-13 07:04:14 +03:00
2026-10-13 07:04:14 +03:00
2024-12-02 11:35:34 +02:00
2026-08-19 08:13:54 +02:00
2025-09-04 18:08:39 +03:00
2026-08-19 08:40:05 +02:00
2025-01-14 23:45:41 +01:00
2024-06-24 13:09:47 +03:00
2025-01-30 12:01:11 +01:00
2024-11-29 13:43:17 +02:00
2026-05-08 08:00:01 +02:00
2025-09-04 18:08:39 +03:00
2024-01-18 19:22:23 +02:00
2026-04-01 10:49:05 +03:00
2024-12-02 11:35:34 +02:00
2026-01-28 21:52:18 +01:00
2026-01-02 11:06:05 +02:00
2024-10-03 13:24:43 +03:00
2026-03-23 08:44:54 +02:00
2026-07-23 11:12:27 +02:00
2026-07-23 11:12:27 +02:00
2026-07-28 13:14:38 +02:00
2025-03-03 11:07:56 +02:00
2026-03-17 18:57:42 +01:00
2026-01-28 21:52:18 +01:00
2026-08-19 08:40:05 +02:00
…
2024-08-21 09:30:54 +02:00
2026-04-01 10:49:05 +03:00
2025-09-24 13:40:09 +03:00
2025-09-04 18:08:39 +03:00
2024-06-27 10:26:09 +03:00
2025-01-09 07:58:08 +02:00
2024-10-30 15:11:17 +01:00
2024-11-29 12:37:46 +02:00
…
2026-10-13 07:04:14 +03:00
2025-09-19 12:31:14 +03:00
2025-09-04 18:08:39 +03:00
2026-10-13 07:04:14 +03:00
2026-07-28 13:14:38 +02:00
2026-05-08 08:00:01 +02:00
2024-04-15 18:54:30 +02:00
2026-08-19 08:40:05 +02:00
2026-01-28 21:52:18 +01:00
2024-07-03 12:45:30 +02:00
2026-08-19 08:40:05 +02:00
2023-12-17 11:20:43 +01:00
2026-08-19 08:40:05 +02:00
2026-07-23 11:12:27 +02:00
2026-08-19 08:40:05 +02:00
2023-12-02 01:02:50 +01:00
2026-10-13 07:04:14 +03:00
2025-09-04 18:08:39 +03:00
2026-05-08 08:00:01 +02:00
2026-08-19 08:40:05 +02:00
2026-03-17 11:30:41 +02:00
2024-03-28 10:51:36 +02:00
2025-09-16 17:01:39 +03:00
2026-10-13 07:49:28 +03:00
2026-07-28 13:14:38 +02:00
2025-01-30 12:01:11 +01:00
2025-03-27 08:01:47 +02:00
2023-09-25 13:06:57 +10:00
2024-01-18 19:22:23 +02:00
2026-08-19 08:40:05 +02:00
2026-07-28 13:14:38 +02:00
2024-12-02 11:35:34 +02:00
2024-11-23 08:14:23 -07:00
2026-08-19 08:40:05 +02:00
2026-07-28 13:14:38 +02:00
2026-07-28 13:14:38 +02:00
2026-06-15 12:50:45 +02:00
2026-08-19 08:40:05 +02:00
2026-08-19 08:40:05 +02:00
2026-07-28 13:14:38 +02:00
2025-09-04 18:08:39 +03:00
2024-06-24 13:09:47 +03:00
2025-07-28 19:40:10 +02:00
…
2024-02-15 13:53:21 +01:00
2024-12-02 11:35:34 +02:00
2024-12-02 11:35:34 +02:00
2026-08-19 08:40:05 +02:00
2025-04-26 10:53:02 +02:00
2024-02-21 13:08:23 +02:00
2025-11-28 12:56:27 +02:00
2025-11-28 12:56:27 +02:00
2024-01-02 17:37:58 +02:00
2024-06-27 10:26:09 +03:00
2026-10-13 07:04:14 +03:00
2026-06-21 15:32:20 +02:00
2026-08-19 08:40:05 +02:00
2024-10-03 13:24:43 +03:00
2024-09-09 13:50:38 +03:00
2026-08-19 08:40:05 +02:00
2026-07-23 11:12:27 +02:00
2026-07-23 11:12:27 +02:00
2026-08-19 08:40:05 +02:00
2026-04-01 10:49:05 +03:00
2025-07-28 19:40:10 +02:00