1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

A fix and a test case for Bug#15683 "crash, Function on nested

VIEWs, Prepared statement": we didn't mark the nested views
as 'prelockng placeholders' when building the prelocking list. 
This resulted in these views being processed (merged, materialized)
before they are actually used. 


mysql-test/r/sp-prelocking.result:
  Test results fixed (Bug#15683)
mysql-test/t/sp-prelocking.test:
  Add a test case for Bug#15683
sql/sql_view.cc:
  When initializing tables used in a view, inherite 
  its 'prelocking_placeholder' flag. This flag is set when we're 
  opening the view in order to build the prelocking list for a query.
  In this case we should only calculate the list to 
  prelock, and should not merge neither this view nor any of the 
  nested views, of there are any. The flag is used to indicate this 
  mode.
This commit is contained in:
unknown
2006-03-28 15:06:29 +04:00
parent e4e2e5024a
commit 1d73c16b87
3 changed files with 55 additions and 0 deletions

View File

@@ -938,6 +938,7 @@ bool mysql_make_view(THD *thd, File_parser *parser, TABLE_LIST *table)
tbl->skip_temporary= 1;
tbl->belong_to_view= top_view;
tbl->referencing_view= table;
tbl->prelocking_placeholder= table->prelocking_placeholder;
/*
First we fill want_privilege with SELECT_ACL (this is needed for the
tables which belongs to view subqueries and temporary table views,