diff options
author | unknown <sergefp@mysql.com> | 2004-04-05 19:43:37 +0400 |
---|---|---|
committer | unknown <sergefp@mysql.com> | 2004-04-05 19:43:37 +0400 |
commit | ef8a5401f146e0aa17d9cc342c52a82e16e7c6ef (patch) | |
tree | 617aa81bcde9afbb78f590039c16af502a91bb52 /mysql-test/t/ps.test | |
parent | b26165d3a2eeb748b9bd5573f9bac7b73d5f9a37 (diff) | |
download | mariadb-git-ef8a5401f146e0aa17d9cc342c52a82e16e7c6ef.tar.gz |
Many files:
SQL Syntax for Prepared Statements (WL#1622)
ps.test, ps.result:
new file
sql/item.cc:
SQL Syntax for Prepared Statements (WL#1622)
sql/item.h:
SQL Syntax for Prepared Statements (WL#1622)
sql/lex.h:
SQL Syntax for Prepared Statements (WL#1622)
sql/mysql_priv.h:
SQL Syntax for Prepared Statements (WL#1622)
sql/mysqld.cc:
SQL Syntax for Prepared Statements (WL#1622)
sql/sql_class.cc:
SQL Syntax for Prepared Statements (WL#1622)
sql/sql_class.h:
SQL Syntax for Prepared Statements (WL#1622)
sql/sql_lex.h:
SQL Syntax for Prepared Statements (WL#1622)
sql/sql_parse.cc:
SQL Syntax for Prepared Statements (WL#1622)
sql/sql_prepare.cc:
SQL Syntax for Prepared Statements (WL#1622)
sql/sql_yacc.yy:
SQL Syntax for Prepared Statements (WL#1622)
Diffstat (limited to 'mysql-test/t/ps.test')
-rw-r--r-- | mysql-test/t/ps.test | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/mysql-test/t/ps.test b/mysql-test/t/ps.test new file mode 100644 index 00000000000..a97de1a0de7 --- /dev/null +++ b/mysql-test/t/ps.test @@ -0,0 +1,75 @@ +# +# SQL Syntax for Prepared Statements test +# +--disable_warnings +drop table if exists t1,t2; +--enable_warnings + +create table t1 +( + a int primary key, + b char(10), +); +insert into t1 values (1,'one'); +insert into t1 values (2,'two'); +insert into t1 values (3,'three'); +insert into t1 values (4,'four'); + +# basic functionality +set @a=2; +prepare stmt1 from 'select * from t1 where a <= ?'; +execute stmt1 using @a; +set @a=3; +execute stmt1 using @a; + +# non-existant statement +--error 1243 +deallocate prepare no_such_statement; + +--error 1210 +execute stmt1; + +# Nesting ps commands is not allowed: +--error 1064 +prepare stmt2 from 'prepare nested_stmt from "select 1"'; + +--error 1064 +prepare stmt2 from 'execute stmt1'; + +--error 1064 +prepare stmt2 from 'deallocate prepare z'; + +# PS insert +prepare stmt3 from 'insert into t1 values (?,?)'; +set @arg1=5, @arg2='five'; +execute stmt3 using @arg1, @arg2; +select * from t1 where a>3; + +# PS update +prepare stmt4 from 'update t1 set a=? where b=?'; +set @arg1=55, @arg2='five'; +execute stmt4 using @arg1, @arg2; +select * from t1 where a>3; + +# PS create/delete +prepare stmt4 from 'create table t2 (a int)'; +execute stmt4; +prepare stmt4 from 'drop table t2'; +execute stmt4; + +# Do something that will cause error +--error 1051 +execute stmt4; + +# placeholders in result field names. +prepare stmt5 from 'select ? + a from t1'; +set @a=1; +execute stmt5 using @a; + +execute stmt5 using @no_such_var; + +set @nullvar=NULL; +execute stmt5 using @nullvar; + +drop table t1; + |