summaryrefslogtreecommitdiff
path: root/sql/sql_view.cc
diff options
context:
space:
mode:
authorunknown <anozdrin@mysql.com>2005-10-25 00:54:04 +0400
committerunknown <anozdrin@mysql.com>2005-10-25 00:54:04 +0400
commit33d5d4ad99e8314d3e5f2be0cfd96b53a3ced05a (patch)
treec838d6ebef039a3f3e64690c5775689686bbf606 /sql/sql_view.cc
parentd29ecd5e91adf6eaeb4f2afef0db30648fe08065 (diff)
downloadmariadb-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.cc3
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;