summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/client_test.c317
1 files changed, 177 insertions, 140 deletions
diff --git a/tests/client_test.c b/tests/client_test.c
index 66637dcb04b..e0785f9d633 100644
--- a/tests/client_test.c
+++ b/tests/client_test.c
@@ -153,6 +153,17 @@ static void print_st_error(MYSQL_STMT *stmt, const char *msg)
else if (msg) fprintf(stderr, " [MySQL] %s\n", msg);
}
+/*
+ This is to be what mysql_query() is for mysql_real_query(), for
+ mysql_prepare(): a variant without the 'length' parameter.
+*/
+MYSQL_STMT *STDCALL
+mysql_simple_prepare(MYSQL *mysql, const char *query)
+{
+ return mysql_prepare(mysql, query, strlen(query));
+}
+
+
/********************************************************
* connect to the server *
*********************************************************/
@@ -459,14 +470,14 @@ uint my_process_stmt_result(MYSQL_STMT *stmt)
/********************************************************
* process the stmt result set *
*********************************************************/
-uint my_stmt_result(const char *buff, unsigned long length)
+uint my_stmt_result(const char *buff)
{
MYSQL_STMT *stmt;
uint row_count;
int rc;
fprintf(stdout,"\n\n %s", buff);
- stmt= mysql_prepare(mysql,buff,length);
+ stmt= mysql_simple_prepare(mysql,buff);
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -605,7 +616,7 @@ static void execute_prepare_query(const char *query, ulonglong exp_count)
ulonglong affected_rows;
int rc;
- stmt= mysql_prepare(mysql,query,strlen(query));
+ stmt= mysql_simple_prepare(mysql,query);
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -913,7 +924,7 @@ static void test_prepare_simple()
/* alter table */
strmov(query,"ALTER TABLE test_prepare_simple ADD new char(20)");
- stmt = mysql_prepare(mysql, query, 70);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,0);
@@ -921,7 +932,7 @@ static void test_prepare_simple()
/* insert */
strmov(query,"INSERT INTO test_prepare_simple VALUES(?,?)");
- stmt = mysql_prepare(mysql, query, 70);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -929,7 +940,7 @@ static void test_prepare_simple()
/* update */
strmov(query,"UPDATE test_prepare_simple SET id=? WHERE id=? AND name= ?");
- stmt = mysql_prepare(mysql, query, 100);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,3);
@@ -937,7 +948,7 @@ static void test_prepare_simple()
/* delete */
strmov(query,"DELETE FROM test_prepare_simple WHERE id=10");
- stmt = mysql_prepare(mysql, query, 60);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,0);
@@ -948,7 +959,7 @@ static void test_prepare_simple()
/* delete */
strmov(query,"DELETE FROM test_prepare_simple WHERE id=?");
- stmt = mysql_prepare(mysql, query, 50);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,1);
@@ -959,7 +970,7 @@ static void test_prepare_simple()
/* select */
strmov(query,"SELECT * FROM test_prepare_simple WHERE id=? AND name= ?");
- stmt = mysql_prepare(mysql, query, 100);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -997,7 +1008,7 @@ static void test_prepare_field_result()
/* insert */
strmov(query,"SELECT int_c,var_c,date_c as date,ts_c,char_c FROM \
test_prepare_field_result as t1 WHERE int_c=?");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,1);
@@ -1045,11 +1056,11 @@ static void test_prepare_syntax()
myquery(rc);
strmov(query,"INSERT INTO test_prepare_syntax VALUES(?");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init_r(stmt);
strmov(query,"SELECT id,name FROM test_prepare_syntax WHERE id=? AND WHERE");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init_r(stmt);
/* now fetch the results ..*/
@@ -1095,7 +1106,7 @@ static void test_prepare()
/* insert by prepare */
strxmov(query,"INSERT INTO my_prepare VALUES(?,?,?,?,?,?,?)",NullS);
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,7);
@@ -1159,9 +1170,9 @@ static void test_prepare()
myquery(rc);
/* test the results now, only one row should exists */
- assert(tiny_data == (char) my_stmt_result("SELECT * FROM my_prepare",50));
+ assert(tiny_data == (char) my_stmt_result("SELECT * FROM my_prepare"));
- stmt = mysql_prepare(mysql,"SELECT * FROM my_prepare",50);
+ stmt = mysql_simple_prepare(mysql,"SELECT * FROM my_prepare");
mystmt_init(stmt);
rc = mysql_bind_result(stmt, bind);
@@ -1266,7 +1277,7 @@ static void test_double_compare()
myquery(rc);
strmov(query, "UPDATE test_double_compare SET col1=100 WHERE col1 = ? AND col2 = ? AND COL3 = ?");
- stmt = mysql_prepare(mysql,query, strlen(query));
+ stmt = mysql_simple_prepare(mysql,query);
mystmt_init(stmt);
verify_param_count(stmt,3);
@@ -1347,11 +1358,11 @@ static void test_null()
/* insert by prepare, wrong column name */
strmov(query,"INSERT INTO test_null(col3,col2) VALUES(?,?)");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init_r(stmt);
strmov(query,"INSERT INTO test_null(col1,col2) VALUES(?,?)");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -1393,7 +1404,7 @@ static void test_null()
myquery(rc);
nData*= 2;
- assert(nData == my_stmt_result("SELECT * FROM test_null", 30));
+ assert(nData == my_stmt_result("SELECT * FROM test_null"));
/* Fetch results */
bind[0].buffer_type= MYSQL_TYPE_LONG;
@@ -1403,7 +1414,7 @@ static void test_null()
bind[0].is_null= &is_null[0];
bind[1].is_null= &is_null[1];
- stmt = mysql_prepare(mysql,"SELECT * FROM test_null",30);
+ stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_null");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -1475,9 +1486,9 @@ static void test_fetch_null()
strmov((char *)query , "SELECT * FROM test_fetch_null");
- assert(3 == my_stmt_result(query,50));
+ assert(3 == my_stmt_result(query));
- stmt = mysql_prepare(mysql, query, 50);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
rc = mysql_bind_result(stmt,bind);
@@ -1516,7 +1527,7 @@ static void test_select_version()
myheader("test_select_version");
- stmt = mysql_prepare(mysql, "SELECT @@version", 30);
+ stmt = mysql_simple_prepare(mysql, "SELECT @@version");
mystmt_init(stmt);
verify_param_count(stmt,0);
@@ -1538,7 +1549,7 @@ static void test_select_simple()
myheader("test_select_simple");
- stmt = mysql_prepare(mysql, "SHOW TABLES FROM mysql", 50);
+ stmt = mysql_simple_prepare(mysql, "SHOW TABLES FROM mysql");
mystmt_init(stmt);
verify_param_count(stmt,0);
@@ -1630,7 +1641,7 @@ static void test_select_prepare()
rc = mysql_commit(mysql);
myquery(rc);
- stmt = mysql_prepare(mysql,"SELECT * FROM test_select",50);
+ stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_select");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -1660,7 +1671,7 @@ static void test_select_prepare()
rc = mysql_commit(mysql);
myquery(rc);
- stmt = mysql_prepare(mysql,"SELECT * FROM test_select",25);
+ stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_select");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -1715,7 +1726,7 @@ static void test_select()
myquery(rc);
strmov(query,"SELECT * FROM test_select WHERE id=? AND name=?");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -1774,7 +1785,7 @@ session_id char(9) NOT NULL, \
myquery(rc);
strmov(query,"SELECT * FROM test_select WHERE session_id = ?");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,1);
@@ -1852,7 +1863,7 @@ static void test_bug1180()
myquery(rc);
strmov(query,"SELECT * FROM test_select WHERE ?=\"1111\" and session_id = \"abc\"");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,1);
@@ -1932,7 +1943,7 @@ static void test_bug1644()
myquery(rc);
strmov(query, "INSERT INTO foo_dfr VALUES (?,?,?,? )");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt, 4);
@@ -2030,7 +2041,7 @@ static void test_select_show()
rc = mysql_query(mysql, "CREATE TABLE test_show(id int(4) NOT NULL primary key, name char(2))");
myquery(rc);
- stmt = mysql_prepare(mysql, "show columns from test_show", 30);
+ stmt = mysql_simple_prepare(mysql, "show columns from test_show");
mystmt_init(stmt);
verify_param_count(stmt,0);
@@ -2041,11 +2052,11 @@ static void test_select_show()
my_process_stmt_result(stmt);
mysql_stmt_close(stmt);
- stmt = mysql_prepare(mysql, "show tables from mysql like ?", 50);
+ stmt = mysql_simple_prepare(mysql, "show tables from mysql like ?");
mystmt_init_r(stmt);
strxmov(query,"show tables from ", current_db, " like \'test_show\'", NullS);
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -2054,7 +2065,7 @@ static void test_select_show()
my_process_stmt_result(stmt);
mysql_stmt_close(stmt);
- stmt = mysql_prepare(mysql, "describe test_show", 30);
+ stmt = mysql_simple_prepare(mysql, "describe test_show");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -2063,7 +2074,7 @@ static void test_select_show()
my_process_stmt_result(stmt);
mysql_stmt_close(stmt);
- stmt = mysql_prepare(mysql, "show keys from test_show", 30);
+ stmt = mysql_simple_prepare(mysql, "show keys from test_show");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -2115,7 +2126,7 @@ static void test_simple_update()
/* insert by prepare */
strmov(query,"UPDATE test_update SET col2=? WHERE col1=?");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -2190,11 +2201,11 @@ static void test_long_data()
myquery(rc);
strmov(query,"INSERT INTO test_long_data(col1,col2) VALUES(?)");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init_r(stmt);
strmov(query,"INSERT INTO test_long_data(col1,col2,col3) VALUES(?,?,?)");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,3);
@@ -2282,7 +2293,7 @@ static void test_long_data_str()
myquery(rc);
strmov(query,"INSERT INTO test_long_data_str VALUES(?,?)");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -2373,7 +2384,7 @@ static void test_long_data_str1()
myquery(rc);
strmov(query,"INSERT INTO test_long_data_str VALUES(?,?)");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -2462,7 +2473,7 @@ static void test_long_data_bin()
myquery(rc);
strmov(query,"INSERT INTO test_long_data_bin VALUES(?,?)");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -2557,7 +2568,7 @@ static void test_simple_delete()
/* insert by prepare */
strmov(query,"DELETE FROM test_simple_delete WHERE col1=? AND col2=? AND col3=100");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -2637,7 +2648,7 @@ static void test_update()
myquery(rc);
strmov(query,"INSERT INTO test_update(col2,col3) VALUES(?,?)");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -2667,7 +2678,7 @@ static void test_update()
mysql_stmt_close(stmt);
strmov(query,"UPDATE test_update SET col2=? WHERE col3=?");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -2733,7 +2744,7 @@ static void test_prepare_noparam()
/* insert by prepare */
strmov(query,"INSERT INTO my_prepare VALUES(10,'venu')");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,0);
@@ -2812,7 +2823,7 @@ static void test_bind_result()
bind[1].length= &length1;
bind[1].is_null= &is_null[1];
- stmt = mysql_prepare(mysql, "SELECT * FROM test_bind_result", 50);
+ stmt = mysql_simple_prepare(mysql, "SELECT * FROM test_bind_result");
mystmt_init(stmt);
rc = mysql_bind_result(stmt,bind);
@@ -2933,7 +2944,7 @@ static void test_bind_result_ext()
bind[7].length= &bLength;
bind[7].buffer_length= sizeof(bData);
- stmt = mysql_prepare(mysql, "select * from test_bind_result", 50);
+ stmt = mysql_simple_prepare(mysql, "select * from test_bind_result");
mystmt_init(stmt);
rc = mysql_bind_result(stmt,bind);
@@ -3058,7 +3069,7 @@ static void test_bind_result_ext1()
bind[i].length= &length[i];
}
- stmt = mysql_prepare(mysql, "select * from test_bind_result", 50);
+ stmt = mysql_simple_prepare(mysql, "select * from test_bind_result");
mystmt_init(stmt);
rc = mysql_bind_result(stmt,bind);
@@ -3118,7 +3129,7 @@ static void bind_fetch(int row_count)
MYSQL_BIND bind[7];
my_bool is_null[7];
- stmt = mysql_prepare(mysql,"INSERT INTO test_bind_fetch VALUES(?,?,?,?,?,?,?)",100);
+ stmt = mysql_simple_prepare(mysql,"INSERT INTO test_bind_fetch VALUES(?,?,?,?,?,?,?)");
mystmt_init(stmt);
verify_param_count(stmt, 7);
@@ -3151,9 +3162,9 @@ static void bind_fetch(int row_count)
mysql_stmt_close(stmt);
assert(row_count == (int)
- my_stmt_result("SELECT * FROM test_bind_fetch",50));
+ my_stmt_result("SELECT * FROM test_bind_fetch"));
- stmt = mysql_prepare(mysql,"SELECT * FROM test_bind_fetch",50);
+ stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_bind_fetch");
myquery(rc);
for (i= 0; i < (int) array_elements(bind); i++)
@@ -3321,9 +3332,9 @@ static void test_fetch_date()
bind[6].buffer_length= sizeof(ts_6);
bind[6].length= &ts6_length;
- assert(1 == my_stmt_result("SELECT * FROM test_bind_result",50));
+ assert(1 == my_stmt_result("SELECT * FROM test_bind_result"));
- stmt = mysql_prepare(mysql, "SELECT * FROM test_bind_result", 50);
+ stmt = mysql_simple_prepare(mysql, "SELECT * FROM test_bind_result");
mystmt_init(stmt);
rc = mysql_bind_result(stmt,bind);
@@ -3651,7 +3662,7 @@ static void test_prepare_ext()
/* insert by prepare - all integers */
strmov(query,(char *)"INSERT INTO test_prepare_ext(c1,c2,c3,c4,c5,c6) VALUES(?,?,?,?,?,?)");
- stmt = mysql_prepare(mysql,query, strlen(query));
+ stmt = mysql_simple_prepare(mysql,query);
mystmt_init(stmt);
verify_param_count(stmt,6);
@@ -3704,7 +3715,7 @@ static void test_prepare_ext()
rc = mysql_commit(mysql);
myquery(rc);
- stmt = mysql_prepare(mysql,"SELECT c1,c2,c3,c4,c5,c6 FROM test_prepare_ext",100);
+ stmt = mysql_simple_prepare(mysql,"SELECT c1,c2,c3,c4,c5,c6 FROM test_prepare_ext");
mystmt_init(stmt);
/* get the result */
@@ -3850,7 +3861,7 @@ static void test_insert()
myquery(rc);
/* insert by prepare */
- stmt = mysql_prepare(mysql, "INSERT INTO test_prep_insert VALUES(?,?)", 70);
+ stmt = mysql_simple_prepare(mysql, "INSERT INTO test_prep_insert VALUES(?,?)");
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -3922,7 +3933,7 @@ static void test_prepare_resultset()
name varchar(50),extra double)");
myquery(rc);
- stmt = mysql_prepare(mysql, "SELECT * FROM test_prepare_resultset", 60);
+ stmt = mysql_simple_prepare(mysql, "SELECT * FROM test_prepare_resultset");
mystmt_init(stmt);
verify_param_count(stmt,0);
@@ -4034,25 +4045,25 @@ static void test_stmt_close()
myquery(rc);
strmov(query,"ALTER TABLE test_stmt_close ADD name varchar(20)");
- stmt1= mysql_prepare(lmysql, query, 70);
+ stmt1= mysql_simple_prepare(lmysql, query);
mystmt_init(stmt1);
verify_param_count(stmt1, 0);
strmov(query,"INSERT INTO test_stmt_close(id) VALUES(?)");
- stmt_x= mysql_prepare(mysql, query, 70);
+ stmt_x= mysql_simple_prepare(mysql, query);
mystmt_init(stmt_x);
verify_param_count(stmt_x, 1);
strmov(query,"UPDATE test_stmt_close SET id=? WHERE id=?");
- stmt3= mysql_prepare(lmysql, query, 70);
+ stmt3= mysql_simple_prepare(lmysql, query);
mystmt_init(stmt3);
verify_param_count(stmt3, 2);
strmov(query,"SELECT * FROM test_stmt_close WHERE id=?");
- stmt2= mysql_prepare(lmysql, query, 70);
+ stmt2= mysql_simple_prepare(lmysql, query);
mystmt_init(stmt2);
verify_param_count(stmt2, 1);
@@ -4119,7 +4130,7 @@ static void test_set_variable()
mysql_autocommit(mysql, TRUE);
- stmt1 = mysql_prepare(mysql, "show variables like 'max_error_count'", 50);
+ stmt1 = mysql_simple_prepare(mysql, "show variables like 'max_error_count'");
mystmt_init(stmt1);
get_bind[0].buffer_type= MYSQL_TYPE_STRING;
@@ -4150,7 +4161,7 @@ static void test_set_variable()
rc = mysql_fetch(stmt1);
assert(rc == MYSQL_NO_DATA);
- stmt = mysql_prepare(mysql, "set max_error_count=?", 50);
+ stmt = mysql_simple_prepare(mysql, "set max_error_count=?");
mystmt_init(stmt);
set_bind[0].buffer_type= MYSQL_TYPE_LONG;
@@ -4225,7 +4236,7 @@ static void test_insert_meta()
myquery(rc);
strmov(query,"INSERT INTO test_prep_insert VALUES(10,'venu1','test')");
- stmt = mysql_prepare(mysql, query, 70);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,0);
@@ -4236,7 +4247,7 @@ static void test_insert_meta()
mysql_stmt_close(stmt);
strmov(query,"INSERT INTO test_prep_insert VALUES(?,'venu',?)");
- stmt = mysql_prepare(mysql, query, 70);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -4288,7 +4299,7 @@ static void test_update_meta()
myquery(rc);
strmov(query,"UPDATE test_prep_update SET col1=10, col2='venu1' WHERE col3='test'");
- stmt = mysql_prepare(mysql, query, 100);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,0);
@@ -4299,7 +4310,7 @@ static void test_update_meta()
mysql_stmt_close(stmt);
strmov(query,"UPDATE test_prep_update SET col1=?, col2='venu' WHERE col3=?");
- stmt = mysql_prepare(mysql, query, 100);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -4355,7 +4366,7 @@ static void test_select_meta()
myquery(rc);
strmov(query,"SELECT * FROM test_prep_select WHERE col1=10");
- stmt = mysql_prepare(mysql, query, 70);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,0);
@@ -4364,7 +4375,7 @@ static void test_select_meta()
mytest_r(result);
strmov(query,"SELECT col1, col3 from test_prep_select WHERE col1=? AND col3='test' AND col2= ?");
- stmt = mysql_prepare(mysql, query, 120);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
verify_param_count(stmt,2);
@@ -4499,10 +4510,10 @@ static void test_multi_stmt()
rc = mysql_query(mysql,"INSERT INTO test_multi_table values(10,'mysql')");
myquery(rc);
- stmt = mysql_prepare(mysql, "SELECT * FROM test_multi_table WHERE id = ?", 100);
+ stmt = mysql_simple_prepare(mysql, "SELECT * FROM test_multi_table WHERE id = ?");
mystmt_init(stmt);
- stmt2 = mysql_prepare(mysql, "UPDATE test_multi_table SET name='updated' WHERE id=10",100);
+ stmt2 = mysql_simple_prepare(mysql, "UPDATE test_multi_table SET name='updated' WHERE id=10");
mystmt_init(stmt2);
verify_param_count(stmt,1);
@@ -4544,7 +4555,7 @@ static void test_multi_stmt()
assert(rc == MYSQL_NO_DATA);
/* alter the table schema now */
- stmt1 = mysql_prepare(mysql,"DELETE FROM test_multi_table WHERE id = ? AND name=?",100);
+ stmt1 = mysql_simple_prepare(mysql,"DELETE FROM test_multi_table WHERE id = ? AND name=?");
mystmt_init(stmt1);
verify_param_count(stmt1,2);
@@ -4584,7 +4595,7 @@ static void test_multi_stmt()
rc = mysql_fetch(stmt);
assert(rc == MYSQL_NO_DATA);
- assert(0 == my_stmt_result("SELECT * FROM test_multi_table",50));
+ assert(0 == my_stmt_result("SELECT * FROM test_multi_table"));
mysql_stmt_close(stmt);
mysql_stmt_close(stmt2);
@@ -4631,7 +4642,7 @@ static void test_manual_sample()
/* Prepare a insert query with 3 parameters */
strmov(query, "INSERT INTO test_table(col1,col2,col3) values(?,?,?)");
- if (!(stmt = mysql_prepare(mysql,query,strlen(query))))
+ if (!(stmt = mysql_simple_prepare(mysql,query)))
{
fprintf(stderr, "\n prepare, insert failed");
fprintf(stderr, "\n %s", mysql_error(mysql));
@@ -4735,7 +4746,7 @@ static void test_manual_sample()
fprintf(stderr, "\n %s", mysql_stmt_error(stmt));
exit(0);
}
- assert(2 == my_stmt_result("SELECT * FROM test_table",50));
+ assert(2 == my_stmt_result("SELECT * FROM test_table"));
/* DROP THE TABLE */
if (mysql_query(mysql,"DROP TABLE test_table"))
@@ -4770,7 +4781,7 @@ static void test_prepare_alter()
rc = mysql_query(mysql,"INSERT INTO test_prep_alter values(10,'venu'),(20,'mysql')");
myquery(rc);
- stmt = mysql_prepare(mysql, "INSERT INTO test_prep_alter VALUES(?,'monty')", 100);
+ stmt = mysql_simple_prepare(mysql, "INSERT INTO test_prep_alter VALUES(?,'monty')");
mystmt_init(stmt);
verify_param_count(stmt,1);
@@ -4796,7 +4807,7 @@ static void test_prepare_alter()
rc = mysql_execute(stmt);
mystmt(stmt, rc);
- assert(4 == my_stmt_result("SELECT * FROM test_prep_alter",50));
+ assert(4 == my_stmt_result("SELECT * FROM test_prep_alter"));
mysql_stmt_close(stmt);
}
@@ -4978,7 +4989,7 @@ static void test_store_result()
bind[1].is_null= &is_null[1];
length1= 0;
- stmt = mysql_prepare(mysql, "SELECT * FROM test_store_result", 50);
+ stmt = mysql_simple_prepare(mysql, "SELECT * FROM test_store_result");
mystmt_init(stmt);
rc = mysql_bind_result(stmt,bind);
@@ -5089,7 +5100,7 @@ static void test_store_result1()
rc = mysql_commit(mysql);
myquery(rc);
- stmt = mysql_prepare(mysql,"SELECT * FROM test_store_result",100);
+ stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_store_result");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -5160,7 +5171,7 @@ static void test_store_result2()
bind[0].is_null= 0;
strmov((char *)query , "SELECT col1 FROM test_store_result where col1= ?");
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
rc = mysql_bind_param(stmt,bind);
@@ -5252,7 +5263,7 @@ static void test_subselect()
bind[0].length= 0;
bind[0].is_null= 0;
- stmt = mysql_prepare(mysql, "INSERT INTO test_sub2(id) SELECT * FROM test_sub1 WHERE id=?", 100);
+ stmt = mysql_simple_prepare(mysql, "INSERT INTO test_sub2(id) SELECT * FROM test_sub1 WHERE id=?", 100);
mystmt_init(stmt);
rc = mysql_bind_param(stmt,bind);
@@ -5275,13 +5286,13 @@ static void test_subselect()
mysql_stmt_close(stmt);
- assert(3 == my_stmt_result("SELECT * FROM test_sub2",50));
+ assert(3 == my_stmt_result("SELECT * FROM test_sub2"));
strmov((char *)query , "SELECT ROW(1,7) IN (select id, id1 from test_sub2 WHERE id1=?)");
- assert(1 == my_stmt_result("SELECT ROW(1,7) IN (select id, id1 from test_sub2 WHERE id1=8)",100));
- assert(1 == my_stmt_result("SELECT ROW(1,7) IN (select id, id1 from test_sub2 WHERE id1=7)",100));
+ assert(1 == my_stmt_result("SELECT ROW(1,7) IN (select id, id1 from test_sub2 WHERE id1=8)"));
+ assert(1 == my_stmt_result("SELECT ROW(1,7) IN (select id, id1 from test_sub2 WHERE id1=7)"));
- stmt = mysql_prepare(mysql, query, 150);
+ stmt = mysql_simple_prepare(mysql, query, 150);
mystmt_init(stmt);
rc = mysql_bind_param(stmt,bind);
@@ -5335,7 +5346,7 @@ static void test_bind_date_conv(uint row_count)
ulong second_part;
uint year, month, day, hour, minute, sec;
- stmt = mysql_prepare(mysql,"INSERT INTO test_date VALUES(?,?,?,?)", 100);
+ stmt = mysql_simple_prepare(mysql,"INSERT INTO test_date VALUES(?,?,?,?)");
mystmt_init(stmt);
verify_param_count(stmt, 4);
@@ -5389,9 +5400,9 @@ static void test_bind_date_conv(uint row_count)
mysql_stmt_close(stmt);
- assert(row_count == my_stmt_result("SELECT * FROM test_date",50));
+ assert(row_count == my_stmt_result("SELECT * FROM test_date"));
- stmt = mysql_prepare(mysql,"SELECT * FROM test_date",50);
+ stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_date");
myquery(rc);
rc = mysql_bind_result(stmt, bind);
@@ -5586,14 +5597,14 @@ static void test_pure_coverage()
rc = mysql_query(mysql,"CREATE TABLE test_pure(c1 int, c2 varchar(20))");
myquery(rc);
- stmt = mysql_prepare(mysql,"insert into test_pure(c67788) values(10)",100);
+ stmt = mysql_simple_prepare(mysql,"insert into test_pure(c67788) values(10)");
mystmt_init_r(stmt);
#ifndef DBUG_OFF
stmt = mysql_prepare(mysql,(const char *)0,0);
mystmt_init_r(stmt);
- stmt = mysql_prepare(mysql,"insert into test_pure(c2) values(10)",100);
+ stmt = mysql_simple_prepare(mysql,"insert into test_pure(c2) values(10)");
mystmt_init(stmt);
rc = mysql_bind_param(stmt, bind);
@@ -5602,7 +5613,7 @@ static void test_pure_coverage()
mysql_stmt_close(stmt);
#endif
- stmt = mysql_prepare(mysql,"insert into test_pure(c2) values(?)",100);
+ stmt = mysql_simple_prepare(mysql,"insert into test_pure(c2) values(?)");
mystmt_init(stmt);
#ifndef DBUG_OFF
@@ -5630,7 +5641,7 @@ static void test_pure_coverage()
mysql_stmt_close(stmt);
- stmt = mysql_prepare(mysql,"select * from test_pure",100);
+ stmt = mysql_simple_prepare(mysql,"select * from test_pure");
mystmt(stmt, rc);
rc = mysql_execute(stmt);
@@ -5682,7 +5693,7 @@ static void test_buffers()
,('Database'),('Open-Source'),('Popular')");
myquery(rc);
- stmt = mysql_prepare(mysql,"select str from test_buffer",100);
+ stmt = mysql_simple_prepare(mysql,"select str from test_buffer");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -5760,7 +5771,7 @@ static void test_open_direct()
rc = mysql_query(mysql,"CREATE TABLE test_open_direct(id int, name char(6))");
myquery(rc);
- stmt = mysql_prepare(mysql,"INSERT INTO test_open_direct values(10,'mysql')", 100);
+ stmt = mysql_simple_prepare(mysql,"INSERT INTO test_open_direct values(10,'mysql')");
mystmt_init(stmt);
rc = mysql_query(mysql, "SELECT * FROM test_open_direct");
@@ -5799,7 +5810,7 @@ static void test_open_direct()
mysql_stmt_close(stmt);
/* run a direct query in the middle of a fetch */
- stmt= mysql_prepare(mysql,"SELECT * FROM test_open_direct",100);
+ stmt= mysql_simple_prepare(mysql,"SELECT * FROM test_open_direct");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -5818,7 +5829,7 @@ static void test_open_direct()
myquery(rc);
/* run a direct query with store result */
- stmt= mysql_prepare(mysql,"SELECT * FROM test_open_direct",100);
+ stmt= mysql_simple_prepare(mysql,"SELECT * FROM test_open_direct");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -5849,8 +5860,8 @@ static void test_fetch_nobuffs()
myheader("test_fetch_nobuffs");
- stmt = mysql_prepare(mysql,"SELECT DATABASE(), CURRENT_USER(), \
- CURRENT_DATE(), CURRENT_TIME()",100);
+ stmt = mysql_simple_prepare(mysql,"SELECT DATABASE(), CURRENT_USER(), \
+ CURRENT_DATE(), CURRENT_TIME()");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -5923,7 +5934,7 @@ static void test_ushort_bug()
myquery(rc);
- stmt = mysql_prepare(mysql,"SELECT * FROM test_ushort",50);
+ stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_ushort");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -6007,7 +6018,7 @@ static void test_sshort_bug()
myquery(rc);
- stmt = mysql_prepare(mysql,"SELECT * FROM test_sshort",50);
+ stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_sshort");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -6091,7 +6102,7 @@ static void test_stiny_bug()
myquery(rc);
- stmt = mysql_prepare(mysql,"SELECT * FROM test_stiny",50);
+ stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_stiny");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -6176,7 +6187,7 @@ static void test_field_misc()
mysql_free_result(result);
- stmt = mysql_prepare(mysql,"SELECT @@autocommit",20);
+ stmt = mysql_simple_prepare(mysql,"SELECT @@autocommit");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -6196,7 +6207,7 @@ static void test_field_misc()
mysql_free_result(result);
mysql_stmt_close(stmt);
- stmt = mysql_prepare(mysql, "SELECT @@table_type", 30);
+ stmt = mysql_simple_prepare(mysql, "SELECT @@table_type");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -6220,7 +6231,7 @@ static void test_field_misc()
mysql_stmt_close(stmt);
- stmt = mysql_prepare(mysql, "SELECT @@table_type", 30);
+ stmt = mysql_simple_prepare(mysql, "SELECT @@table_type");
mystmt_init(stmt);
result = mysql_get_metadata(stmt);
@@ -6240,7 +6251,7 @@ static void test_field_misc()
mysql_free_result(result);
mysql_stmt_close(stmt);
- stmt = mysql_prepare(mysql, "SELECT @@max_error_count", 30);
+ stmt = mysql_simple_prepare(mysql, "SELECT @@max_error_count");
mystmt_init(stmt);
result = mysql_get_metadata(stmt);
@@ -6260,7 +6271,7 @@ static void test_field_misc()
mysql_free_result(result);
mysql_stmt_close(stmt);
- stmt = mysql_prepare(mysql, "SELECT @@max_allowed_packet", 30);
+ stmt = mysql_simple_prepare(mysql, "SELECT @@max_allowed_packet");
mystmt_init(stmt);
result = mysql_get_metadata(stmt);
@@ -6280,7 +6291,7 @@ static void test_field_misc()
mysql_free_result(result);
mysql_stmt_close(stmt);
- stmt = mysql_prepare(mysql, "SELECT @@sql_warnings", 30);
+ stmt = mysql_simple_prepare(mysql, "SELECT @@sql_warnings");
mystmt_init(stmt);
result = mysql_get_metadata(stmt);
@@ -6341,7 +6352,7 @@ static void test_set_option()
mysql_free_result(result);
fprintf(stdout,"\n with SQL_SELECT_LIMIT=2 (prepare)");
- stmt = mysql_prepare(mysql, "SELECT * FROM test_limit", 50);
+ stmt = mysql_simple_prepare(mysql, "SELECT * FROM test_limit");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -6356,7 +6367,7 @@ static void test_set_option()
rc= mysql_query(mysql,"SET OPTION SQL_SELECT_LIMIT=DEFAULT");
myquery(rc);
- stmt = mysql_prepare(mysql, "SELECT * FROM test_limit", 50);
+ stmt = mysql_simple_prepare(mysql, "SELECT * FROM test_limit");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -6433,18 +6444,20 @@ static void test_prepare_grant()
execute_prepare_query("INSERT INTO test_grant(a) VALUES(NULL)",1);
execute_prepare_query("INSERT INTO test_grant VALUES(NULL)",1);
execute_prepare_query("UPDATE test_grant SET a=9 WHERE a=1",1);
- assert(4 == my_stmt_result("SELECT a FROM test_grant",50));
-
+ assert(4 == my_stmt_result("SELECT a FROM test_grant"));
+
+ /* Both DELETE expected to fail as user does not have DELETE privs */
+
rc = mysql_query(mysql,"DELETE FROM test_grant");
myquery_r(rc);
- stmt= mysql_prepare(mysql,"DELETE FROM test_grant",50);
+ stmt= mysql_simple_prepare(mysql,"DELETE FROM test_grant");
mystmt_init(stmt);
rc = mysql_execute(stmt);
myquery_r(rc);
- assert(4 == my_stmt_result("SELECT * FROM test_grant",50));
+ assert(4 == my_stmt_result("SELECT * FROM test_grant"));
mysql_close(lmysql);
mysql= org_mysql;
@@ -6487,7 +6500,7 @@ static void test_frm_bug()
rc= mysql_query(mysql,"flush tables");
myquery(rc);
- stmt = mysql_prepare(mysql, "show variables like 'datadir'", 50);
+ stmt = mysql_simple_prepare(mysql, "show variables like 'datadir'");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -6570,7 +6583,7 @@ static void test_decimal_bug()
rc = mysql_query(mysql, "insert into test_decimal_bug value(8),(10.22),(5.61)");
myquery(rc);
- stmt = mysql_prepare(mysql,"select c1 from test_decimal_bug where c1= ?",50);
+ stmt = mysql_simple_prepare(mysql,"select c1 from test_decimal_bug where c1= ?");
mystmt_init(stmt);
bind[0].buffer_type= MYSQL_TYPE_DOUBLE;
@@ -6666,7 +6679,7 @@ static void test_explain_bug()
rc = mysql_query(mysql, "CREATE TABLE test_explain(id int, name char(2))");
myquery(rc);
- stmt = mysql_prepare(mysql, "explain test_explain", 30);
+ stmt = mysql_simple_prepare(mysql, "explain test_explain");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -6702,7 +6715,7 @@ static void test_explain_bug()
mysql_free_result(result);
mysql_stmt_close(stmt);
- stmt = mysql_prepare(mysql, "explain select id, name FROM test_explain", 50);
+ stmt = mysql_simple_prepare(mysql, "explain select id, name FROM test_explain");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -6950,10 +6963,10 @@ static void test_logs()
myheader("test_logs");
- rc = mysql_real_query(mysql, "DROP TABLE IF EXISTS test_logs", 100);
+ rc = mysql_query(mysql, "DROP TABLE IF EXISTS test_logs");
myquery(rc);
- rc = mysql_real_query(mysql, "CREATE TABLE test_logs(id smallint, name varchar(20))", 100);
+ rc = mysql_query(mysql, "CREATE TABLE test_logs(id smallint, name varchar(20))");
myquery(rc);
length= (ulong)(strmov((char *)data,"INSERT INTO test_logs VALUES(?,?)") - data);
@@ -7015,7 +7028,7 @@ static void test_logs()
mysql_stmt_close(stmt);
length= (ulong)(strmov((char *)data, "SELECT * FROM test_logs WHERE id=?") - data);
- stmt = mysql_prepare(mysql, data, length+2);
+ stmt = mysql_prepare(mysql, data, length);
mystmt_init(stmt);
rc = mysql_bind_param(stmt, bind);
@@ -7125,7 +7138,7 @@ static void test_nstmts()
mysql_stmt_close(stmt);
}
- stmt = mysql_prepare(mysql," select count(*) from test_nstmts", 50);
+ stmt = mysql_simple_prepare(mysql," select count(*) from test_nstmts");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -7172,7 +7185,7 @@ static void test_fetch_seek()
rc = mysql_query(mysql, "insert into test_seek(c2) values('venu'),('mysql'),('open'),('source')");
myquery(rc);
- stmt = mysql_prepare(mysql,"select * from test_seek",50);
+ stmt = mysql_simple_prepare(mysql,"select * from test_seek");
mystmt_init(stmt);
bind[0].buffer_type= MYSQL_TYPE_LONG;
@@ -7267,7 +7280,7 @@ static void test_fetch_offset()
rc = mysql_query(mysql, "insert into test_column values('abcdefghij'),(null)");
myquery(rc);
- stmt = mysql_prepare(mysql,"select * from test_column",50);
+ stmt = mysql_simple_prepare(mysql,"select * from test_column");
mystmt_init(stmt);
bind[0].buffer_type= MYSQL_TYPE_STRING;
@@ -7350,7 +7363,7 @@ static void test_fetch_column()
rc = mysql_query(mysql, "insert into test_column(c2) values('venu'),('mysql')");
myquery(rc);
- stmt = mysql_prepare(mysql,"select * from test_column order by c2 desc", 50);
+ stmt = mysql_simple_prepare(mysql,"select * from test_column order by c2 desc");
mystmt_init(stmt);
bind[0].buffer_type= MYSQL_TYPE_LONG;
@@ -7537,7 +7550,7 @@ static void test_mem_overun()
assert(1 == my_process_result(mysql));
- stmt = mysql_prepare(mysql, "select * from t_mem_overun",30);
+ stmt = mysql_simple_prepare(mysql, "select * from t_mem_overun");
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -7583,7 +7596,7 @@ static void test_free_result()
rc = mysql_query(mysql, "insert into test_free_result values(),(),()");
myquery(rc);
- stmt = mysql_prepare(mysql,"select * from test_free_result",50);
+ stmt = mysql_simple_prepare(mysql,"select * from test_free_result");
mystmt_init(stmt);
bind[0].buffer_type= MYSQL_TYPE_LONG;
@@ -7662,7 +7675,7 @@ static void test_free_store_result()
rc = mysql_query(mysql, "insert into test_free_result values(),(),()");
myquery(rc);
- stmt = mysql_prepare(mysql,"select * from test_free_result",50);
+ stmt = mysql_simple_prepare(mysql,"select * from test_free_result");
mystmt_init(stmt);
bind[0].buffer_type= MYSQL_TYPE_LONG;
@@ -7749,7 +7762,7 @@ static void test_sqlmode()
strcpy(query, "INSERT INTO test_piping VALUES(?||?)");
fprintf(stdout,"\n query: %s", query);
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
fprintf(stdout,"\n total parameters: %ld", mysql_param_count(stmt));
@@ -7781,7 +7794,7 @@ static void test_sqlmode()
strcpy(query, "SELECT connection_id ()");
fprintf(stdout,"\n query: %s", query);
- stmt = mysql_prepare(mysql, query, 70);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init_r(stmt);
/* ANSI */
@@ -7792,7 +7805,7 @@ static void test_sqlmode()
strcpy(query, "INSERT INTO test_piping VALUES(?||?)");
fprintf(stdout,"\n query: %s", query);
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
fprintf(stdout,"\n total parameters: %ld", mysql_param_count(stmt));
@@ -7809,7 +7822,7 @@ static void test_sqlmode()
/* ANSI mode spaces ... */
strcpy(query, "SELECT connection_id ()");
fprintf(stdout,"\n query: %s", query);
- stmt = mysql_prepare(mysql, query, 70);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -7832,7 +7845,7 @@ static void test_sqlmode()
strcpy(query, "SELECT connection_id ()");
fprintf(stdout,"\n query: %s", query);
- stmt = mysql_prepare(mysql, query, 70);
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
rc = mysql_execute(stmt);
@@ -7873,7 +7886,7 @@ static void test_ts()
rc = mysql_commit(mysql);
myquery(rc);
- stmt = mysql_prepare(mysql,"INSERT INTO test_ts VALUES(?,?,?),(?,?,?)",50);
+ stmt = mysql_simple_prepare(mysql,"INSERT INTO test_ts VALUES(?,?,?),(?,?,?)");
mystmt_init(stmt);
ts.year= 2003;
@@ -7912,7 +7925,7 @@ static void test_ts()
verify_col_data("test_ts","b","21:07:46");
verify_col_data("test_ts","c","2003-07-12 21:07:46");
- stmt = mysql_prepare(mysql,"SELECT * FROM test_ts",50);
+ stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_ts");
mystmt_init(stmt);
prep_res = mysql_get_metadata(stmt);
@@ -7983,7 +7996,7 @@ static void test_bug1500()
rc= mysql_commit(mysql);
myquery(rc);
- stmt= mysql_prepare(mysql,"SELECT i FROM test_bg1500 WHERE i IN (?,?,?)",44);
+ stmt= mysql_simple_prepare(mysql,"SELECT i FROM test_bg1500 WHERE i IN (?,?,?)");
mystmt_init(stmt);
verify_param_count(stmt,3);
@@ -8018,8 +8031,8 @@ static void test_bug1500()
rc= mysql_commit(mysql);
myquery(rc);
- stmt= mysql_prepare(mysql,
- "SELECT s FROM test_bg1500 WHERE MATCH (s) AGAINST (?)",53);
+ stmt= mysql_simple_prepare(mysql,
+ "SELECT s FROM test_bg1500 WHERE MATCH (s) AGAINST (?)");
mystmt_init(stmt);
verify_param_count(stmt,1);
@@ -8046,8 +8059,8 @@ static void test_bug1500()
mysql_stmt_close(stmt);
/* This should work too */
- stmt= mysql_prepare(mysql,
- "SELECT s FROM test_bg1500 WHERE MATCH (s) AGAINST (CONCAT(?,'digger'))", 70);
+ stmt= mysql_simple_prepare(mysql,
+ "SELECT s FROM test_bg1500 WHERE MATCH (s) AGAINST (CONCAT(?,'digger'))");
mystmt_init(stmt);
verify_param_count(stmt,1);
@@ -8084,7 +8097,7 @@ static void test_bug1946()
rc= mysql_query(mysql,"CREATE TABLE prepare_command(ID INT)");
myquery(rc);
- stmt = mysql_prepare(mysql, query, strlen(query));
+ stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt);
rc= mysql_real_query(mysql, query, strlen(query));
assert(rc != 0);
@@ -8095,6 +8108,28 @@ static void test_bug1946()
rc= mysql_query(mysql,"DROP TABLE prepare_command");
}
+static void test_parse_error_and_bad_length()
+{
+ MYSQL_STMT *stmt;
+ int rc;
+
+ /* check that we get 4 syntax errors over the 4 calls */
+ myheader("test_parse_error_and_bad_length");
+
+ rc= mysql_query(mysql,"SHOW DATABAAAA");
+ assert(rc);
+ fprintf(stdout, "Got error (as expected): '%s'\n", mysql_error(mysql));
+ rc= mysql_real_query(mysql,"SHOW DATABASES",100);
+ assert(rc);
+ fprintf(stdout, "Got error (as expected): '%s'\n", mysql_error(mysql));
+
+ stmt= mysql_simple_prepare(mysql,"SHOW DATABAAAA");
+ assert(!stmt);
+ fprintf(stdout, "Got error (as expected): '%s'\n", mysql_error(mysql));
+ stmt= mysql_prepare(mysql,"SHOW DATABASES",100);
+ assert(!stmt);
+ fprintf(stdout, "Got error (as expected): '%s'\n", mysql_error(mysql));
+}
/*
Read and parse arguments and MySQL options from my.cnf
@@ -8340,6 +8375,8 @@ int main(int argc, char **argv)
test_bug1644(); /* BUG#1644 */
test_bug1946(); /* test that placeholders are allowed only in
prepared queries */
+ test_parse_error_and_bad_length(); /* test if bad length param in
+ mysql_prepare() triggers error */
end_time= time((time_t *)0);
total_time+= difftime(end_time, start_time);