diff options
author | dlenev@mysql.com <> | 2005-12-07 12:27:17 +0300 |
---|---|---|
committer | dlenev@mysql.com <> | 2005-12-07 12:27:17 +0300 |
commit | 06b895c096e92d31969c84fd4b42ccbe577afffc (patch) | |
tree | 63fd839a702be83e037afe8c6eb5f05220d82270 /sql/sql_trigger.h | |
parent | c779c2c80981583162e57eed6c4d2786311cc153 (diff) | |
download | mariadb-git-06b895c096e92d31969c84fd4b42ccbe577afffc.tar.gz |
Fix for bug #11555 "Stored procedures: current SP tables locking make
impossible view security".
We should not expose names of tables which are explicitly or implicitly (via
routine or trigger) used by view even if we find that they are missing.
So during building of list of prelocked tables for statement we track which
routines (and therefore tables for these routines) are used from views. We
mark elements of LEX::routines set which correspond to routines used in views
by setting Sroutine_hash_entry::belong_to_view member to point to TABLE_LIST
object for topmost view which uses routine. We propagate this mark to all
routines which are used by this routine and which we add to this set. We also
mark tables used by such routine which we add to the list of tables for
prelocking as belonging to this view.
Diffstat (limited to 'sql/sql_trigger.h')
-rw-r--r-- | sql/sql_trigger.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sql_trigger.h b/sql/sql_trigger.h index 6be42d7b868..205e08b0f85 100644 --- a/sql/sql_trigger.h +++ b/sql/sql_trigger.h @@ -118,7 +118,7 @@ public: friend class Item_trigger_field; friend void sp_cache_routines_and_add_tables_for_triggers(THD *thd, LEX *lex, - Table_triggers_list *triggers); + TABLE_LIST *table); private: bool prepare_record1_accessors(TABLE *table); |