diff options
author | Sergei Golubchik <serg@mariadb.org> | 2015-04-28 21:11:49 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2015-04-28 21:11:49 +0200 |
commit | f9c02d7c29e7ddc9fa274e7fe23e5800653660f4 (patch) | |
tree | 817db8c66d7feb63147fe24f8d7474a64660451a /sql/sql_base.cc | |
parent | fbab0685a7b7f39db0217823ad90dd47034eae29 (diff) | |
parent | 83ce3529b8b2ba5b8070d12aaecbb6c3e3fcaeca (diff) | |
download | mariadb-git-f9c02d7c29e7ddc9fa274e7fe23e5800653660f4.tar.gz |
Merge branch 'openquery/MDEV-6916-maria-5.5-check_view-r4408' into 5.5
Diffstat (limited to 'sql/sql_base.cc')
-rw-r--r-- | sql/sql_base.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc index affccf09513..592215da4d0 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -643,7 +643,8 @@ found: open_table_error(share, share->error, share->open_errno, share->errarg); DBUG_RETURN(0); } - if (share->is_view && !(db_flags & OPEN_VIEW)) + if ((share->is_view && !(db_flags & OPEN_VIEW)) || + (!share->is_view && (db_flags & OPEN_VIEW_ONLY))) { open_table_error(share, 1, ENOENT, 0); DBUG_RETURN(0); @@ -3027,7 +3028,11 @@ retry_share: mysql_mutex_lock(&LOCK_open); if (!(share= get_table_share_with_discover(thd, table_list, key, - key_length, OPEN_VIEW, + key_length, + (OPEN_VIEW | + ((table_list->required_type == + FRMTYPE_VIEW) ? + OPEN_VIEW_ONLY : 0)), &error, hash_value))) { |