1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-06 13:10:12 +03:00
Files
mariadb/sql
Sergei Golubchik c27d78beb5 MDEV-36870 Spurious unrelated permission error when selecting from table with default that uses nextval(sequence)
Lots of different cases, SELECT, SELECT DEFAULT(),
UPDATE t SET x=DEFAULT, prepares statements,
opening of a table for the I_S, prelocking (so TL_WRITE),
insert with subquery (so SQLCOM_SELECT), etc.

Don't check NEXTVAL privileges in fix_fields() anymore, it cannot
possibly handle all the cases correctly. Make a special method
Item_func_nextval::check_access() for that and invoke it from

* fix_fields on explicit SELECT NEXTVAL()
  (but not if NEXTVAL() is used in a DEFAULT clause)
* when DEFAULT bareword in used in, say, UPDATE t SET x=DEFAULT
  (but not if DEFAULT() itself is used in a DEFAULT clause)
* in CREATE TABLE
* in ALTER TABLE ALGORITHM=INPLACE (that doesn't go CREATE TABLE path)
* on INSERT

helpers
* Virtual_column_info::check_access() to walk the item tree and invoke
  Item::check_access()
* TABLE::check_sequence_privileges() to iterate default expressions
  and invoke Virtual_column_info::check_access()

also, single-table UPDATE in prepared statements now associates
value items with fields just as multi-update already did, fixes the
case of PREPARE s "UPDATE t SET x=?"; EXECUTE s USING DEFAULT.
2025-07-09 18:04:46 +02:00
..
2024-08-12 09:32:30 +01:00
2024-11-29 12:37:46 +02:00
2024-01-17 13:35:05 +02:00
2023-01-27 13:54:14 +01:00
2024-06-24 13:09:47 +03:00
2024-11-29 12:37:46 +02:00
2024-11-29 12:37:46 +02:00
2024-10-29 14:20:03 +01:00
2025-01-29 11:17:38 +01:00
2025-04-15 01:49:48 +02:00
2023-12-17 11:20:43 +01:00
2025-01-29 11:17:38 +01:00
2025-02-27 04:02:33 +01:00
2023-02-10 12:02:11 +02:00
2024-11-29 12:37:46 +02:00
2024-12-05 09:20:36 +01:00
2024-11-29 12:37:46 +02:00
2024-11-29 12:37:46 +02:00
2024-07-16 15:54:22 +08:00
2024-07-16 15:54:22 +08:00
2025-01-29 11:17:38 +01:00
2025-01-29 11:17:38 +01:00
2025-04-26 10:41:52 +02:00
2025-01-09 10:15:53 +01:00
2025-01-09 10:15:53 +01:00
2024-11-29 12:37:46 +02:00
2024-07-16 15:54:22 +08:00
2024-11-29 12:37:46 +02:00
2023-11-08 15:57:05 +01:00
2024-06-26 09:16:54 +08:00
2024-06-24 13:09:47 +03:00
2025-04-02 04:43:24 +02:00
2024-06-24 13:09:47 +03:00
2024-11-29 12:37:46 +02:00
2024-06-24 13:09:47 +03:00
2024-11-29 12:37:46 +02:00
2024-11-29 12:37:46 +02:00
2024-05-30 14:27:07 +03:00
2023-02-10 13:03:01 +02:00
2024-11-29 12:37:46 +02:00
2024-10-29 14:20:03 +01:00
2024-06-24 13:09:47 +03:00
2024-01-17 13:35:05 +02:00
2024-06-24 13:09:47 +03:00
2024-11-29 12:37:46 +02:00
2023-02-10 12:02:11 +02:00
2024-07-16 15:54:22 +08:00
2023-12-17 11:20:43 +01:00
2023-12-17 11:20:43 +01:00
2024-11-29 12:37:46 +02:00
2024-06-24 13:09:47 +03:00
2024-11-29 12:37:46 +02:00
2024-11-29 12:37:46 +02:00
2025-01-20 09:57:37 +02:00
2023-08-01 15:08:52 +02:00
2023-02-10 12:02:11 +02:00
2024-11-29 12:37:46 +02:00
2024-05-08 20:06:00 +02:00
2025-01-29 11:17:38 +01:00
2024-11-29 12:37:46 +02:00
2024-11-29 12:37:46 +02:00
2024-12-04 18:22:31 +03:00
2023-05-02 10:09:27 +02:00
2024-11-23 08:14:22 -07:00
2025-01-20 09:57:37 +02:00
2023-11-08 15:57:05 +01:00
2024-11-29 12:37:46 +02:00
2024-11-29 12:37:46 +02:00
2024-06-24 13:09:47 +03:00
2024-12-05 09:20:36 +01:00
2024-06-24 13:09:47 +03:00
2025-01-29 11:17:38 +01:00
2025-01-20 09:57:37 +02:00
2024-11-29 12:37:46 +02:00
2024-11-29 12:37:46 +02:00
2024-11-29 12:37:46 +02:00
2025-04-26 10:41:52 +02:00
2024-01-17 13:35:05 +02:00
2023-02-10 12:02:11 +02:00
2025-04-26 10:41:52 +02:00
2024-11-23 08:14:22 -07:00
2024-11-29 12:37:46 +02:00
2024-01-11 12:59:22 +11:00
2024-01-10 18:01:46 +11:00
2024-06-24 13:09:47 +03:00
2024-11-29 12:37:46 +02:00
2023-02-10 13:03:01 +02:00
2024-08-03 09:04:24 +02:00
2025-01-09 10:15:53 +01:00
2024-08-20 09:11:34 +02:00
2024-07-16 15:54:22 +08:00
2024-07-16 15:54:22 +08:00
2024-02-12 11:38:13 +02:00
2024-12-17 11:06:09 +11:00
2024-11-29 12:37:46 +02:00
2024-06-24 13:09:47 +03:00
2025-04-26 10:41:52 +02:00
2025-04-26 10:41:52 +02:00
2023-05-23 12:25:39 +03:00
2024-11-29 12:37:46 +02:00
2025-01-20 09:57:37 +02:00
2024-06-05 14:06:16 +10:00
2024-04-15 18:54:30 +02:00
2025-04-21 10:43:17 +02:00
2025-01-20 09:57:37 +02:00
2024-07-03 12:45:30 +02:00
2025-01-20 09:57:37 +02:00
2023-08-04 07:52:54 +02:00
2025-01-20 09:57:37 +02:00
2023-12-17 11:20:43 +01:00
2023-12-17 11:20:43 +01:00
2025-04-21 10:43:17 +02:00
2023-12-02 01:02:50 +01:00
2024-12-17 11:06:09 +11:00
2024-11-29 12:37:46 +02:00
2024-03-27 15:00:56 +02:00
2025-04-15 01:49:48 +02:00
2024-10-29 14:20:03 +01:00
2024-06-13 19:58:11 +03:00
2025-02-02 12:55:16 +01:00
2025-01-20 09:57:37 +02:00
2025-03-26 17:09:57 +02:00
2023-09-25 13:06:57 +10:00
2024-11-29 12:37:46 +02:00
2024-01-17 13:35:05 +02:00
2023-08-01 15:08:52 +02:00
2024-11-29 12:37:46 +02:00
2024-11-29 12:37:46 +02:00
2024-11-23 08:14:22 -07:00
2024-11-23 08:14:23 -07:00
2025-04-26 10:41:52 +02:00
2025-04-21 10:43:17 +02:00
2025-01-07 16:46:43 +01:00
2025-03-26 17:09:57 +02:00
2024-11-29 12:37:46 +02:00
2024-01-10 18:01:46 +11:00
2024-11-05 21:32:48 +01:00
2024-06-24 13:09:47 +03:00
2023-02-10 12:02:11 +02:00
2024-02-13 20:42:59 +02:00
2023-02-10 12:02:11 +02:00
2024-01-02 17:37:58 +02:00
2025-01-20 09:57:37 +02:00
2025-04-02 04:43:24 +02:00
2025-01-29 11:17:38 +01:00
2024-10-29 14:20:03 +01:00
2025-02-02 12:55:16 +01:00
2024-11-29 12:37:46 +02:00