mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
bugfix: multi-update checked privileges on views incorrectly
it always required UPDATE privilege on views, not being able to detect when a views was not actually updated in multi-update. fix: instead of marking all tables as "updating" by default, only set "updating" on tables that will actually be updated by multi-update. And mark the view "updating" if any of the view's tables is.
This commit is contained in:
@ -589,7 +589,7 @@ public:
|
||||
enum_mdl_type mdl_type= MDL_SHARED_READ,
|
||||
List<Index_hint> *hints= 0,
|
||||
LEX_STRING *option= 0);
|
||||
virtual void set_lock_for_tables(thr_lock_type lock_type) {}
|
||||
virtual void set_lock_for_tables(thr_lock_type lock_type, bool for_update) {}
|
||||
|
||||
friend class st_select_lex_unit;
|
||||
friend bool mysql_new_select(LEX *lex, bool move_down);
|
||||
@ -960,7 +960,7 @@ public:
|
||||
TABLE_LIST *convert_right_join();
|
||||
List<Item>* get_item_list();
|
||||
ulong get_table_join_options();
|
||||
void set_lock_for_tables(thr_lock_type lock_type);
|
||||
void set_lock_for_tables(thr_lock_type lock_type, bool for_update);
|
||||
inline void init_order()
|
||||
{
|
||||
order_list.elements= 0;
|
||||
|
Reference in New Issue
Block a user