diff options
author | unknown <anozdrin@mysql.com> | 2005-10-25 00:54:04 +0400 |
---|---|---|
committer | unknown <anozdrin@mysql.com> | 2005-10-25 00:54:04 +0400 |
commit | 33d5d4ad99e8314d3e5f2be0cfd96b53a3ced05a (patch) | |
tree | c838d6ebef039a3f3e64690c5775689686bbf606 /sql/sql_view.cc | |
parent | d29ecd5e91adf6eaeb4f2afef0db30648fe08065 (diff) | |
download | mariadb-git-33d5d4ad99e8314d3e5f2be0cfd96b53a3ced05a.tar.gz |
Fix for BUG#13095: Cannot create VIEWs in prepared statements
- allow CREATE VIEW as well as DROP VIEW to use in prepared statements;
- fix CREATE VIEW implementation to make it work in prepared statements.
mysql-test/r/sp.result:
Results file for the test case for BUG#13095.
mysql-test/t/sp.test:
Test case for BUG#13095.
sql/sql_lex.h:
Added a variable to remember start of whole CREATE VIEW statement
as well as start of its SELECT part.
sql/sql_prepare.cc:
Allow CREATE VIEW and DROP VIEW to use in prepared statements.
sql/sql_view.cc:
Use stored start of whole CREATE VIEW statement instead of thd->query,
which differs from the original when prepared statement is executing.
sql/sql_yacc.yy:
Remember start of whole CREATE VIEW statement as well as start of its
SELECT part.
Diffstat (limited to 'sql/sql_view.cc')
-rw-r--r-- | sql/sql_view.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/sql_view.cc b/sql/sql_view.cc index 5db08275735..858f0c2520e 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -643,7 +643,8 @@ static int mysql_register_view(THD *thd, TABLE_LIST *view, view->query.length= str.length()-1; // we do not need last \0 view->source.str= thd->lex->create_view_select_start; view->source.length= (thd->query_length - - (thd->lex->create_view_select_start - thd->query)); + (thd->lex->create_view_select_start - + thd->lex->create_view_start)); view->file_version= 1; view->calc_md5(md5); view->md5.str= md5; |