1
0
mirror of https://github.com/MariaDB/server.git synced 2026-10-23 18:49:29 +03:00
Files
Aleksey Midenkov 1a469c2bbf MDEV-39063 Server crashes at Item_func_lastval and Item_func_setval with CTE alias
Pure aliases are not handled properly by Item_func_lastval::val_int()
and Item_func_setval::val_int().

This is followup fix for MDEV-33985 where it missed similar cases for
LASTVAL() and SETVAL().

add_table_to_list() does not create MDL request for pure aliases,
i.e. when there is no table_list->db set or TL_OPTION_ALIAS was
set. When the expression is not inside CTE the case with empty db is
handled by:

  else if (!lex->with_cte_resolution && lex->copy_db_to(&db))
    DBUG_RETURN(0);

So, table_list gets current database name and the query is failed with
ER_NO_SUCH_TABLE error.

The fix adds the case of is_pure_alias() check for val_int() methods
and fails it with ER_NOT_SEQUENCE2 error.

Note: semantics for TL_OPTION_ALIAS cannot be based on empty db, only
parser can set TL_OPTION_ALIAS as resolve_references_to_cte() relies
on TL_OPTION_ALIAS after copy_db_to().
2026-07-13 14:35:01 +03:00
..
2025-05-21 07:36:35 +03:00
…
2025-08-08 14:15:04 +03:00
2025-09-04 18:08:39 +03:00
…
2025-09-04 18:08:39 +03:00
2024-01-17 13:35:05 +02:00
…
…
2024-11-29 13:43:17 +02:00
2023-06-27 17:43:31 +03:00
2024-11-29 12:37:46 +02:00
2024-10-29 15:24:38 +01:00
…
2026-01-26 10:01:31 +01:00
2025-09-04 18:08:39 +03:00
2023-12-17 11:20:43 +01:00
…
…
…
2025-02-27 04:02:33 +01:00
2025-09-04 18:08:39 +03:00
2026-02-19 09:46:55 +02:00
2023-02-10 12:02:11 +02:00
2024-11-29 13:43:17 +02:00
…
…
2026-01-28 14:22:20 +01:00
2024-11-29 13:43:17 +02:00
2024-12-05 10:11:58 +01:00
2026-06-26 17:56:20 +10:00
2026-01-28 14:22:20 +01:00
2026-06-26 17:56:20 +10:00
2026-06-21 15:32:20 +02:00
2026-01-28 14:22:20 +01:00
2026-01-28 14:22:20 +01:00
2026-01-28 14:22:20 +01:00
2026-01-28 14:22:20 +01:00
2026-01-28 14:22:20 +01:00
2026-06-11 12:44:40 -04:00
2024-11-29 13:43:17 +02:00
2023-11-08 16:23:30 +01:00
…
2024-06-27 10:26:09 +03:00
2024-06-24 13:09:47 +03:00
2026-05-08 07:38:22 +02:00
2026-06-15 10:43:23 +02:00
…
…
…
2023-11-08 16:23:30 +01:00
2026-03-11 09:57:09 +01:00
2023-10-14 13:36:11 +03:00
2026-01-28 14:22:20 +01:00
2025-09-04 18:08:39 +03:00
2025-09-04 18:08:39 +03:00
2025-09-04 18:08:39 +03:00
2024-06-24 13:09:47 +03:00
2023-02-10 13:43:53 +02:00
2026-04-20 11:07:30 +03:00
2023-12-18 11:19:04 +01:00
2024-11-29 12:37:46 +02:00
…
2024-06-24 13:09:47 +03:00
2023-03-24 12:54:05 +11:00
2025-09-04 18:08:39 +03:00
2025-09-04 18:08:39 +03:00
2025-09-04 18:08:39 +03:00
2024-07-22 15:14:50 +02:00
2026-06-15 10:43:23 +02:00
2026-06-15 10:43:23 +02:00
2025-09-04 18:08:39 +03:00
2026-06-15 10:43:23 +02:00
2024-11-29 13:43:17 +02:00
2024-12-04 18:22:31 +03:00
2026-06-15 10:43:23 +02:00
2025-10-28 17:49:51 +01:00
2025-10-28 17:49:51 +01:00
2025-01-30 11:55:13 +01:00
2025-09-04 18:08:39 +03:00
2025-10-28 17:49:51 +01:00
2024-11-29 12:37:46 +02:00
2026-06-26 17:56:20 +10:00
2025-09-04 18:08:39 +03:00
2025-01-10 13:14:42 +01:00
2024-06-24 13:09:47 +03:00
2025-01-30 11:55:13 +01:00
2025-01-30 11:55:13 +01:00
2023-07-10 11:22:21 +03:00
2024-11-29 13:43:17 +02:00
2024-11-29 13:43:17 +02:00
2025-09-04 18:08:39 +03:00
2024-01-18 19:22:23 +02:00
2025-09-04 18:08:39 +03:00
2024-11-23 08:14:22 -07:00
2026-01-02 11:06:05 +02:00
2026-06-21 15:32:20 +02:00
2026-03-17 18:57:42 +01:00
2026-01-28 14:22:20 +01:00
…
2024-08-20 10:00:39 +02:00
2025-09-04 18:08:39 +03:00
2024-06-27 10:26:09 +03:00
2024-12-17 11:06:09 +11:00
2024-11-29 12:37:46 +02:00
…
2025-09-19 12:31:14 +03:00
2025-09-04 18:08:39 +03:00
2025-09-04 18:08:39 +03:00
2023-05-23 12:25:39 +03:00
2024-06-11 12:50:10 +03:00
2024-04-15 18:54:30 +02:00
2026-01-28 14:22:20 +01:00
2024-07-03 12:45:30 +02:00
2023-08-04 08:01:06 +02:00
2026-05-08 07:38:22 +02:00
2023-12-17 11:20:43 +01:00
2026-03-17 11:05:34 +02:00
2023-12-02 01:02:50 +01:00
2025-09-04 18:08:39 +03:00
2025-09-04 18:08:39 +03:00
2026-03-17 11:05:34 +02:00
2024-03-27 15:00:56 +02:00
2026-05-08 07:38:22 +02:00
2026-03-31 11:48:18 +03:00
2025-09-04 18:08:39 +03:00
2025-01-20 09:57:37 +02: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
2023-08-01 15:08:52 +02:00
2026-06-11 12:44:40 -04:00
2026-06-11 12:44:40 -04:00
2024-11-23 08:14:22 -07:00
2024-11-23 08:14:23 -07:00
…
2025-03-27 08:01:47 +02:00
2026-06-21 15:32:20 +02:00
2025-09-15 11:00:01 +02:00
2024-01-10 18:01:46 +11:00
2025-09-04 18:08:39 +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-09-04 18:08:39 +03:00
2023-02-10 12:02:11 +02:00
2024-11-29 13:43:17 +02:00
2026-03-17 11:05:34 +02:00
2024-02-21 13:08:23 +02:00
2024-01-02 17:37:58 +02:00
2024-06-27 10:26:09 +03:00
2026-06-21 15:32:20 +02:00
2024-01-03 15:37:57 +02:00
2024-10-03 10:55:08 +03:00
2026-06-21 15:32:20 +02:00
2025-03-27 08:01:47 +02:00
2026-06-21 15:32:20 +02:00
2026-06-21 15:32:20 +02:00
2026-06-21 15:32:20 +02:00