summaryrefslogtreecommitdiff
path: root/sql/sql_cache.cc
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2005-10-28 00:18:23 +0300
committerunknown <bell@sanja.is.com.ua>2005-10-28 00:18:23 +0300
commit24ac4019c5da4dc2aec7ff441a53ca7c47419553 (patch)
tree921242ccda92f66e2ac8bfc607ba0dcb1f172286 /sql/sql_cache.cc
parent33c972e49d2292c4f7eca1395f1ff21022790c30 (diff)
downloadmariadb-git-24ac4019c5da4dc2aec7ff441a53ca7c47419553.tar.gz
support of view underlying tables and SP functions security check added (BUG#9505) (WL#2787)
mysql-test/r/information_schema.result: error message changed mysql-test/r/sp.result: error message changed mysql-test/r/sql_mode.result: fixed test suite mysql-test/r/view.result: error message changed mysql-test/r/view_grant.result: test of underlying view tables check mysql-test/t/sql_mode.test: fixed test suite mysql-test/t/view_grant.test: test of underlying view tables check sql/item.cc: check of underlying tables privilege added sql/item.h: Name the resolution context points to the security context of view (if item belong to the view) sql/item_func.cc: a view error hiding for execution of prepared function belonged to a view fixed checking privileges if stored functions belonds to some view sql/mysql_priv.h: refult of derived table processing functions changed to bool Security_context added as an argument to find_field_in_table() sql/share/errmsg.txt: error message fixed sql/sql_acl.cc: Storing requested privileges of tables added View underlying tables privilege check added sql/sql_base.cc: View underlying tables privilege check added sql/sql_cache.cc: Code cleunup: we should not register underlying tables of view second time sql/sql_delete.cc: ancestor -> merge_underlying_list renaming sql/sql_derived.cc: refult of derived table processing functions changed to bool do not give SELECT_ACL for TEMPTABLE views sql/sql_lex.h: The comment added sql/sql_parse.cc: registration of requested privileges added sql/sql_prepare.cc: registration of requested privileges added sql/sql_update.cc: manipulation of requested privileges for underlying tables made the same as for table which we are updating sql/sql_view.cc: underlying tables of view security check support added sql/table.cc: renaming and fixing view preparation methods, methods for checking underlyoing tables security context added sql/table.h: storege for reuested privileges added
Diffstat (limited to 'sql/sql_cache.cc')
-rw-r--r--sql/sql_cache.cc20
1 files changed, 4 insertions, 16 deletions
diff --git a/sql/sql_cache.cc b/sql/sql_cache.cc
index 49b0554f3a2..ae6e68e0e58 100644
--- a/sql/sql_cache.cc
+++ b/sql/sql_cache.cc
@@ -2207,15 +2207,10 @@ Query_cache::register_tables_from_list(TABLE_LIST *tables_used,
tables_used->view_db.length + 1,
HA_CACHE_TBL_NONTRANSACT, 0, 0))
DBUG_RETURN(0);
- {
- TABLE_COUNTER_TYPE inc= register_tables_from_list(tables_used->ancestor,
- n + 1,
- block_table + 1);
- if (!inc)
- DBUG_RETURN(0);
- n+= inc;
- block_table+= inc;
- }
+ /*
+ We do not need to register view tables here because they are already
+ present in the global list.
+ */
}
else
{
@@ -2831,13 +2826,6 @@ static TABLE_COUNTER_TYPE process_and_count_tables(TABLE_LIST *tables_used,
tables_used->view_name.str,
tables_used->view_db.str));
*tables_type|= HA_CACHE_TBL_NONTRANSACT;
- {
- TABLE_COUNTER_TYPE subcount;
- if (!(subcount= process_and_count_tables(tables_used->ancestor,
- tables_type)))
- DBUG_RETURN(0);
- table_count+= subcount;
- }
}
else
{