1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-08 00:28:29 +03:00
Files
mariadb/sql
Rucha Deodhar 6c56c92a6c MDEV-36809: json_array_intersect crashs when unused table ref provided
Analysis:
So, there were two problems that needed to be fixed.
1) To fix the crash.
2) After fixing the crash, the result was wrong.
Reason for crash: When we pass the hash to get_intersect_between_arrays(),
We were initialially not passing it value, so the operations were not
performed correctly.
Reason for wrong result: The number of rows that it was returning were same
as that in the table, but, only the first row had correct ouput, rest of
them were NULL (it should also be the result of interection). This was
because we modified the "items" HASH by deleting the "seen" elements.
So for next rows, it did not have the elements it should have in the hash.

Fix:
1) To fix the crash: pass the HASH by reference
2) To fix incorrect result: Maintain a separate "seen" hash, if an item
is found the the "items" hash, delete it ony temporarily and put it in the
seen hash. At then end, put the items from "seen" back into "items" and
reset "seen".
2025-10-14 15:38:17 +11:00
..
2025-05-21 07:36:35 +03:00
2025-09-03 10:32:56 +03:00
2024-08-12 09:32:30 +01:00
2025-09-04 18:08:39 +03:00
2024-01-19 09:07:48 +02:00
2023-12-21 02:14:59 +01:00
2024-12-02 11:35:34 +02:00
2024-06-24 13:09:47 +03:00
2023-06-27 17:43:31 +03:00
2024-11-29 12:37:46 +02:00
2024-11-29 12:37:46 +02:00
2025-09-04 18:08:39 +03:00
2024-10-30 15:11:17 +01:00
2025-01-30 12:01:11 +01:00
2025-09-03 10:32:56 +03:00
2024-12-02 11:35:34 +02:00
2023-12-21 02:14:59 +01:00
2024-05-30 16:04:00 +03:00
2024-01-27 12:09:54 +01:00
2024-01-27 12:09:54 +01:00
2025-10-09 13:37:45 +03:00
2025-03-28 13:55:21 +02:00
2025-02-27 04:02:33 +01:00
2025-09-04 18:08:39 +03:00
2025-09-24 13:40:09 +03:00
2024-11-29 13:43:17 +02:00
2024-12-02 11:35:34 +02:00
2024-12-05 10:11:58 +01:00
2025-09-03 10:32:56 +03:00
2025-03-27 08:01:47 +02:00
2024-10-29 15:24:38 +01:00
2024-07-16 15:54:22 +08:00
2024-07-16 15:54:22 +08:00
2025-09-03 10:32:56 +03:00
2025-09-04 18:08:39 +03:00
2025-09-04 18:08:39 +03:00
2025-09-03 10:32:56 +03:00
2024-10-29 15:24:38 +01:00
2025-09-30 12:06:31 +03:00
2025-09-03 10:32:56 +03:00
2024-12-02 11:35:34 +02:00
2024-12-02 11:35:34 +02:00
2024-12-02 11:35:34 +02:00
2025-07-28 19:40:10 +02: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
2025-01-09 07:58:08 +02:00
2025-10-09 13:37:45 +03:00
2025-01-30 12:01:11 +01:00
2025-09-02 15:58:39 +02:00
2025-09-04 18:08:39 +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
2024-11-29 12:37:46 +02:00
2024-05-30 16:04:00 +03:00
2025-03-28 13:55:21 +02:00
2025-03-28 13:55:21 +02:00
2024-05-21 19:38:51 +02:00
2025-03-03 11:07:56 +02:00
2025-09-04 18:08:39 +03:00
2024-12-02 11:35:34 +02:00
2024-06-24 13:09:47 +03:00
2024-11-29 13:43:17 +02:00
2024-07-16 15:54:22 +08:00
2024-12-02 11:35:34 +02:00
2024-06-24 13:09:47 +03:00
2025-09-04 18:08:39 +03:00
2024-07-22 15:14:50 +02:00
2025-07-28 19:40:10 +02:00
2025-07-28 19:40:10 +02:00
2025-04-26 10:53:02 +02:00
2025-04-26 10:53:02 +02:00
2025-07-28 19:40:10 +02:00
2025-01-30 12:01:11 +01:00
2025-01-29 11:17:38 +01:00
2024-12-02 11:35:34 +02:00
2024-12-02 11:35:34 +02:00
2024-12-02 11:35:34 +02:00
2024-12-05 11:01:42 +01:00
2023-05-02 10:09:27 +02:00
2024-12-02 11:35:34 +02:00
2025-09-24 13:40:09 +03:00
2025-01-30 11:55:13 +01:00
2024-12-02 11:35:34 +02:00
2024-12-02 11:35:34 +02:00
2024-06-24 13:09:47 +03:00
2025-09-04 18:08:39 +03:00
2025-10-01 07:24:54 +03: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
2025-01-30 12:01:11 +01:00
2024-11-29 12:37:46 +02:00
2024-11-29 12:37:46 +02:00
2023-07-26 15:13:06 +03:00
2024-11-29 13:43:17 +02:00
2025-10-09 13:37:45 +03:00
2025-04-26 10:53:02 +02:00
2025-09-04 18:08:39 +03:00
2024-01-18 19:22:23 +02:00
2025-04-26 10:53:02 +02:00
2024-12-02 11:35:34 +02:00
2025-10-07 13:01:57 +03:00
2024-10-03 13:24:43 +03:00
2025-09-24 13:40:09 +03:00
2025-09-04 18:08:39 +03:00
2024-01-10 18:01:46 +11:00
2025-03-03 11:07:56 +02:00
2025-03-03 11:07:56 +02:00
2025-09-24 13:40:09 +03:00
2024-08-03 09:32:42 +02:00
2024-08-21 09:30:54 +02:00
2025-09-24 13:40:09 +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
2025-09-24 13:40:09 +03:00
2025-09-19 12:31:14 +03:00
2025-09-04 18:08:39 +03:00
2025-10-07 13:01:57 +03:00
2023-05-23 12:25:39 +03:00
2025-09-02 15:58:39 +02:00
2024-04-15 18:54:30 +02:00
2025-10-09 13:37:45 +03:00
2024-07-03 12:45:30 +02:00
2023-08-04 08:01:06 +02:00
2025-10-09 13:37:45 +03:00
2025-09-24 13:40:09 +03:00
2023-12-17 11:20:43 +01:00
2023-12-17 11:20:43 +01:00
2025-10-09 13:37:45 +03:00
2025-09-04 18:08:39 +03:00
2025-01-30 12:01:11 +01:00
2023-12-02 01:02:50 +01:00
2025-10-07 13:01:57 +03:00
2025-09-04 18:08:39 +03:00
2025-10-09 13:37:45 +03:00
2025-09-24 13:40:09 +03:00
2025-09-04 18:08:39 +03:00
2024-03-28 10:51:36 +02:00
2025-09-16 17:01:39 +03:00
2025-03-03 11:07:56 +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
2025-09-03 10:32:56 +03:00
2023-10-14 13:36:11 +03:00
2024-01-18 19:22:23 +02:00
2023-08-01 15:08:52 +02:00
2025-09-03 10:32:56 +03:00
2024-12-02 11:35:34 +02:00
2024-11-23 08:14:23 -07:00
2025-04-26 10:53:02 +02:00
2025-10-01 07:24:54 +03:00
2025-07-28 19:40:10 +02:00
2025-03-28 13:55:21 +02:00
2025-09-29 08:25:37 +03:00
2025-09-16 17:01:39 +03:00
2024-01-10 18:01:46 +11:00
2025-09-24 13:40:09 +03:00
2025-10-07 13:01:57 +03:00
2024-11-05 21:32:48 +01: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
2025-07-28 19:40:10 +02:00
2024-05-21 19:38:51 +02:00
2025-04-26 10:53:02 +02:00
2024-02-21 13:08:23 +02:00
2023-11-21 15:43:20 +01:00
2025-04-02 10:15:08 +03:00
2024-01-02 17:37:58 +02:00
2024-06-27 10:26:09 +03:00
2025-10-07 13:01:57 +03:00
2025-05-26 08:10:47 +03:00
2024-05-10 20:02:18 +02:00
2024-01-03 15:55:17 +02:00
2025-01-30 11:55:13 +01:00
2024-10-03 13:24:43 +03:00
2024-09-09 13:50:38 +03:00
2025-04-02 10:15:08 +03:00
2025-03-27 08:01:47 +02:00
2024-10-29 15:24:38 +01:00
2023-10-14 13:36:11 +03:00
2025-09-29 08:25:37 +03:00
2025-03-03 11:07:56 +02:00
2025-07-28 19:40:10 +02:00