Commit e2f0e8f2 authored by unknown's avatar unknown

Merge gbichot@213.136.52.20:/home/bk/mysql-4.1

into mysql.com:/home/mysql_src/mysql-4.1

parents 24e3862c 0aa48dc5
...@@ -3845,7 +3845,23 @@ mysql_parse(THD *thd, char *inBuf, uint length) ...@@ -3845,7 +3845,23 @@ mysql_parse(THD *thd, char *inBuf, uint length)
if (query_cache_send_result_to_client(thd, inBuf, length) <= 0) if (query_cache_send_result_to_client(thd, inBuf, length) <= 0)
{ {
LEX *lex=lex_start(thd, (uchar*) inBuf, length); LEX *lex=lex_start(thd, (uchar*) inBuf, length);
if (!yyparse((void *)thd) && ! thd->is_fatal_error) if (!yyparse((void *)thd) && ! thd->is_fatal_error &&
/*
If this is not a multiple query, ensure that it has been
successfully parsed until the last character. This is to prevent
against a wrong (too big) length passed to mysql_real_query(),
mysql_prepare()... which can generate garbage characters at the
end. If the query was initially multiple, found_colon will be false
only when we are in the last query; this last query had already
been end-spaces-stripped by alloc_query() in dispatch_command(); as
end spaces are the only thing we accept at the end of a query, and
they have been stripped already, here we can require that nothing
remains after parsing.
*/
(thd->lex->found_colon ||
(char*)(thd->lex->ptr) == (thd->query+thd->query_length+1) ||
/* yyerror() will show the garbage chars to the user */
(yyerror("syntax error"), 0)))
{ {
#ifndef NO_EMBEDDED_ACCESS_CHECKS #ifndef NO_EMBEDDED_ACCESS_CHECKS
if (mqh_used && thd->user_connect && if (mqh_used && thd->user_connect &&
......
...@@ -909,7 +909,15 @@ bool mysql_stmt_prepare(THD *thd, char *packet, uint packet_length) ...@@ -909,7 +909,15 @@ bool mysql_stmt_prepare(THD *thd, char *packet, uint packet_length)
lex->safe_to_cache_query= 0; lex->safe_to_cache_query= 0;
lex->param_count= 0; lex->param_count= 0;
if (yyparse((void *)thd) || thd->is_fatal_error || send_prepare_results(stmt)) if (yyparse((void *)thd) || thd->is_fatal_error ||
/*
Check for wrong (too big) length passed to mysql_prepare() resulting in
garbage at the end of the query. There is a similar check in mysql_parse().
*/
(!thd->lex->found_colon &&
(char*)(thd->lex->ptr) != (thd->query+thd->query_length+1) &&
/* yyerror() will show the garbage chars to the user */
(yyerror("syntax error"), 1)) || send_prepare_results(stmt))
goto yyparse_err; goto yyparse_err;
lex_end(lex); lex_end(lex);
......
...@@ -153,6 +153,17 @@ static void print_st_error(MYSQL_STMT *stmt, const char *msg) ...@@ -153,6 +153,17 @@ static void print_st_error(MYSQL_STMT *stmt, const char *msg)
else if (msg) fprintf(stderr, " [MySQL] %s\n", 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 * * connect to the server *
*********************************************************/ *********************************************************/
...@@ -459,14 +470,14 @@ uint my_process_stmt_result(MYSQL_STMT *stmt) ...@@ -459,14 +470,14 @@ uint my_process_stmt_result(MYSQL_STMT *stmt)
/******************************************************** /********************************************************
* process the stmt result set * * 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; MYSQL_STMT *stmt;
uint row_count; uint row_count;
int rc; int rc;
fprintf(stdout,"\n\n %s", buff); fprintf(stdout,"\n\n %s", buff);
stmt= mysql_prepare(mysql,buff,length); stmt= mysql_simple_prepare(mysql,buff);
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -605,7 +616,7 @@ static void execute_prepare_query(const char *query, ulonglong exp_count) ...@@ -605,7 +616,7 @@ static void execute_prepare_query(const char *query, ulonglong exp_count)
ulonglong affected_rows; ulonglong affected_rows;
int rc; int rc;
stmt= mysql_prepare(mysql,query,strlen(query)); stmt= mysql_simple_prepare(mysql,query);
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -913,7 +924,7 @@ static void test_prepare_simple() ...@@ -913,7 +924,7 @@ static void test_prepare_simple()
/* alter table */ /* alter table */
strmov(query,"ALTER TABLE test_prepare_simple ADD new char(20)"); 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); mystmt_init(stmt);
verify_param_count(stmt,0); verify_param_count(stmt,0);
...@@ -921,7 +932,7 @@ static void test_prepare_simple() ...@@ -921,7 +932,7 @@ static void test_prepare_simple()
/* insert */ /* insert */
strmov(query,"INSERT INTO test_prepare_simple VALUES(?,?)"); strmov(query,"INSERT INTO test_prepare_simple VALUES(?,?)");
stmt = mysql_prepare(mysql, query, 70); stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -929,7 +940,7 @@ static void test_prepare_simple() ...@@ -929,7 +940,7 @@ static void test_prepare_simple()
/* update */ /* update */
strmov(query,"UPDATE test_prepare_simple SET id=? WHERE id=? AND name= ?"); 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); mystmt_init(stmt);
verify_param_count(stmt,3); verify_param_count(stmt,3);
...@@ -937,7 +948,7 @@ static void test_prepare_simple() ...@@ -937,7 +948,7 @@ static void test_prepare_simple()
/* delete */ /* delete */
strmov(query,"DELETE FROM test_prepare_simple WHERE id=10"); 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); mystmt_init(stmt);
verify_param_count(stmt,0); verify_param_count(stmt,0);
...@@ -948,7 +959,7 @@ static void test_prepare_simple() ...@@ -948,7 +959,7 @@ static void test_prepare_simple()
/* delete */ /* delete */
strmov(query,"DELETE FROM test_prepare_simple WHERE id=?"); strmov(query,"DELETE FROM test_prepare_simple WHERE id=?");
stmt = mysql_prepare(mysql, query, 50); stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt); mystmt_init(stmt);
verify_param_count(stmt,1); verify_param_count(stmt,1);
...@@ -959,7 +970,7 @@ static void test_prepare_simple() ...@@ -959,7 +970,7 @@ static void test_prepare_simple()
/* select */ /* select */
strmov(query,"SELECT * FROM test_prepare_simple WHERE id=? AND name= ?"); 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); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -997,7 +1008,7 @@ static void test_prepare_field_result() ...@@ -997,7 +1008,7 @@ static void test_prepare_field_result()
/* insert */ /* insert */
strmov(query,"SELECT int_c,var_c,date_c as date,ts_c,char_c FROM \ 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=?"); 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); mystmt_init(stmt);
verify_param_count(stmt,1); verify_param_count(stmt,1);
...@@ -1045,11 +1056,11 @@ static void test_prepare_syntax() ...@@ -1045,11 +1056,11 @@ static void test_prepare_syntax()
myquery(rc); myquery(rc);
strmov(query,"INSERT INTO test_prepare_syntax VALUES(?"); 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); mystmt_init_r(stmt);
strmov(query,"SELECT id,name FROM test_prepare_syntax WHERE id=? AND WHERE"); 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); mystmt_init_r(stmt);
/* now fetch the results ..*/ /* now fetch the results ..*/
...@@ -1095,7 +1106,7 @@ static void test_prepare() ...@@ -1095,7 +1106,7 @@ static void test_prepare()
/* insert by prepare */ /* insert by prepare */
strxmov(query,"INSERT INTO my_prepare VALUES(?,?,?,?,?,?,?)",NullS); strxmov(query,"INSERT INTO my_prepare VALUES(?,?,?,?,?,?,?)",NullS);
stmt = mysql_prepare(mysql, query, strlen(query)); stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt); mystmt_init(stmt);
verify_param_count(stmt,7); verify_param_count(stmt,7);
...@@ -1159,9 +1170,9 @@ static void test_prepare() ...@@ -1159,9 +1170,9 @@ static void test_prepare()
myquery(rc); myquery(rc);
/* test the results now, only one row should exists */ /* 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); mystmt_init(stmt);
rc = mysql_bind_result(stmt, bind); rc = mysql_bind_result(stmt, bind);
...@@ -1266,7 +1277,7 @@ static void test_double_compare() ...@@ -1266,7 +1277,7 @@ static void test_double_compare()
myquery(rc); myquery(rc);
strmov(query, "UPDATE test_double_compare SET col1=100 WHERE col1 = ? AND col2 = ? AND COL3 = ?"); 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); mystmt_init(stmt);
verify_param_count(stmt,3); verify_param_count(stmt,3);
...@@ -1347,11 +1358,11 @@ static void test_null() ...@@ -1347,11 +1358,11 @@ static void test_null()
/* insert by prepare, wrong column name */ /* insert by prepare, wrong column name */
strmov(query,"INSERT INTO test_null(col3,col2) VALUES(?,?)"); 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); mystmt_init_r(stmt);
strmov(query,"INSERT INTO test_null(col1,col2) VALUES(?,?)"); 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); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -1393,7 +1404,7 @@ static void test_null() ...@@ -1393,7 +1404,7 @@ static void test_null()
myquery(rc); myquery(rc);
nData*= 2; nData*= 2;
assert(nData == my_stmt_result("SELECT * FROM test_null", 30)); assert(nData == my_stmt_result("SELECT * FROM test_null"));
/* Fetch results */ /* Fetch results */
bind[0].buffer_type= MYSQL_TYPE_LONG; bind[0].buffer_type= MYSQL_TYPE_LONG;
...@@ -1403,7 +1414,7 @@ static void test_null() ...@@ -1403,7 +1414,7 @@ static void test_null()
bind[0].is_null= &is_null[0]; bind[0].is_null= &is_null[0];
bind[1].is_null= &is_null[1]; 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); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -1475,9 +1486,9 @@ static void test_fetch_null() ...@@ -1475,9 +1486,9 @@ static void test_fetch_null()
strmov((char *)query , "SELECT * FROM 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); mystmt_init(stmt);
rc = mysql_bind_result(stmt,bind); rc = mysql_bind_result(stmt,bind);
...@@ -1516,7 +1527,7 @@ static void test_select_version() ...@@ -1516,7 +1527,7 @@ static void test_select_version()
myheader("test_select_version"); myheader("test_select_version");
stmt = mysql_prepare(mysql, "SELECT @@version", 30); stmt = mysql_simple_prepare(mysql, "SELECT @@version");
mystmt_init(stmt); mystmt_init(stmt);
verify_param_count(stmt,0); verify_param_count(stmt,0);
...@@ -1538,7 +1549,7 @@ static void test_select_simple() ...@@ -1538,7 +1549,7 @@ static void test_select_simple()
myheader("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); mystmt_init(stmt);
verify_param_count(stmt,0); verify_param_count(stmt,0);
...@@ -1630,7 +1641,7 @@ static void test_select_prepare() ...@@ -1630,7 +1641,7 @@ static void test_select_prepare()
rc = mysql_commit(mysql); rc = mysql_commit(mysql);
myquery(rc); myquery(rc);
stmt = mysql_prepare(mysql,"SELECT * FROM test_select",50); stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_select");
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -1660,7 +1671,7 @@ static void test_select_prepare() ...@@ -1660,7 +1671,7 @@ static void test_select_prepare()
rc = mysql_commit(mysql); rc = mysql_commit(mysql);
myquery(rc); myquery(rc);
stmt = mysql_prepare(mysql,"SELECT * FROM test_select",25); stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_select");
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -1715,7 +1726,7 @@ static void test_select() ...@@ -1715,7 +1726,7 @@ static void test_select()
myquery(rc); myquery(rc);
strmov(query,"SELECT * FROM test_select WHERE id=? AND name=?"); 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); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -1774,7 +1785,7 @@ session_id char(9) NOT NULL, \ ...@@ -1774,7 +1785,7 @@ session_id char(9) NOT NULL, \
myquery(rc); myquery(rc);
strmov(query,"SELECT * FROM test_select WHERE session_id = ?"); 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); mystmt_init(stmt);
verify_param_count(stmt,1); verify_param_count(stmt,1);
...@@ -1852,7 +1863,7 @@ static void test_bug1180() ...@@ -1852,7 +1863,7 @@ static void test_bug1180()
myquery(rc); myquery(rc);
strmov(query,"SELECT * FROM test_select WHERE ?=\"1111\" and session_id = \"abc\""); 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); mystmt_init(stmt);
verify_param_count(stmt,1); verify_param_count(stmt,1);
...@@ -1932,7 +1943,7 @@ static void test_bug1644() ...@@ -1932,7 +1943,7 @@ static void test_bug1644()
myquery(rc); myquery(rc);
strmov(query, "INSERT INTO foo_dfr VALUES (?,?,?,? )"); strmov(query, "INSERT INTO foo_dfr VALUES (?,?,?,? )");
stmt = mysql_prepare(mysql, query, strlen(query)); stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt); mystmt_init(stmt);
verify_param_count(stmt, 4); verify_param_count(stmt, 4);
...@@ -2030,7 +2041,7 @@ static void test_select_show() ...@@ -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))"); rc = mysql_query(mysql, "CREATE TABLE test_show(id int(4) NOT NULL primary key, name char(2))");
myquery(rc); 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); mystmt_init(stmt);
verify_param_count(stmt,0); verify_param_count(stmt,0);
...@@ -2041,11 +2052,11 @@ static void test_select_show() ...@@ -2041,11 +2052,11 @@ static void test_select_show()
my_process_stmt_result(stmt); my_process_stmt_result(stmt);
mysql_stmt_close(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); mystmt_init_r(stmt);
strxmov(query,"show tables from ", current_db, " like \'test_show\'", NullS); 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); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -2054,7 +2065,7 @@ static void test_select_show() ...@@ -2054,7 +2065,7 @@ static void test_select_show()
my_process_stmt_result(stmt); my_process_stmt_result(stmt);
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
stmt = mysql_prepare(mysql, "describe test_show", 30); stmt = mysql_simple_prepare(mysql, "describe test_show");
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -2063,7 +2074,7 @@ static void test_select_show() ...@@ -2063,7 +2074,7 @@ static void test_select_show()
my_process_stmt_result(stmt); my_process_stmt_result(stmt);
mysql_stmt_close(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); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -2115,7 +2126,7 @@ static void test_simple_update() ...@@ -2115,7 +2126,7 @@ static void test_simple_update()
/* insert by prepare */ /* insert by prepare */
strmov(query,"UPDATE test_update SET col2=? WHERE col1=?"); 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); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -2190,11 +2201,11 @@ static void test_long_data() ...@@ -2190,11 +2201,11 @@ static void test_long_data()
myquery(rc); myquery(rc);
strmov(query,"INSERT INTO test_long_data(col1,col2) VALUES(?)"); 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); mystmt_init_r(stmt);
strmov(query,"INSERT INTO test_long_data(col1,col2,col3) VALUES(?,?,?)"); 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); mystmt_init(stmt);
verify_param_count(stmt,3); verify_param_count(stmt,3);
...@@ -2282,7 +2293,7 @@ static void test_long_data_str() ...@@ -2282,7 +2293,7 @@ static void test_long_data_str()
myquery(rc); myquery(rc);
strmov(query,"INSERT INTO test_long_data_str VALUES(?,?)"); 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); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -2373,7 +2384,7 @@ static void test_long_data_str1() ...@@ -2373,7 +2384,7 @@ static void test_long_data_str1()
myquery(rc); myquery(rc);
strmov(query,"INSERT INTO test_long_data_str VALUES(?,?)"); 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); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -2462,7 +2473,7 @@ static void test_long_data_bin() ...@@ -2462,7 +2473,7 @@ static void test_long_data_bin()
myquery(rc); myquery(rc);
strmov(query,"INSERT INTO test_long_data_bin VALUES(?,?)"); 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); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -2557,7 +2568,7 @@ static void test_simple_delete() ...@@ -2557,7 +2568,7 @@ static void test_simple_delete()
/* insert by prepare */ /* insert by prepare */
strmov(query,"DELETE FROM test_simple_delete WHERE col1=? AND col2=? AND col3=100"); 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); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -2637,7 +2648,7 @@ static void test_update() ...@@ -2637,7 +2648,7 @@ static void test_update()
myquery(rc); myquery(rc);
strmov(query,"INSERT INTO test_update(col2,col3) VALUES(?,?)"); 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); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -2667,7 +2678,7 @@ static void test_update() ...@@ -2667,7 +2678,7 @@ static void test_update()
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
strmov(query,"UPDATE test_update SET col2=? WHERE col3=?"); 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); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -2733,7 +2744,7 @@ static void test_prepare_noparam() ...@@ -2733,7 +2744,7 @@ static void test_prepare_noparam()
/* insert by prepare */ /* insert by prepare */
strmov(query,"INSERT INTO my_prepare VALUES(10,'venu')"); 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); mystmt_init(stmt);
verify_param_count(stmt,0); verify_param_count(stmt,0);
...@@ -2812,7 +2823,7 @@ static void test_bind_result() ...@@ -2812,7 +2823,7 @@ static void test_bind_result()
bind[1].length= &length1; bind[1].length= &length1;
bind[1].is_null= &is_null[1]; 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); mystmt_init(stmt);
rc = mysql_bind_result(stmt,bind); rc = mysql_bind_result(stmt,bind);
...@@ -2933,7 +2944,7 @@ static void test_bind_result_ext() ...@@ -2933,7 +2944,7 @@ static void test_bind_result_ext()
bind[7].length= &bLength; bind[7].length= &bLength;
bind[7].buffer_length= sizeof(bData); 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); mystmt_init(stmt);
rc = mysql_bind_result(stmt,bind); rc = mysql_bind_result(stmt,bind);
...@@ -3058,7 +3069,7 @@ static void test_bind_result_ext1() ...@@ -3058,7 +3069,7 @@ static void test_bind_result_ext1()
bind[i].length= &length[i]; 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); mystmt_init(stmt);
rc = mysql_bind_result(stmt,bind); rc = mysql_bind_result(stmt,bind);
...@@ -3118,7 +3129,7 @@ static void bind_fetch(int row_count) ...@@ -3118,7 +3129,7 @@ static void bind_fetch(int row_count)
MYSQL_BIND bind[7]; MYSQL_BIND bind[7];
my_bool is_null[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); mystmt_init(stmt);
verify_param_count(stmt, 7); verify_param_count(stmt, 7);
...@@ -3151,9 +3162,9 @@ static void bind_fetch(int row_count) ...@@ -3151,9 +3162,9 @@ static void bind_fetch(int row_count)
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
assert(row_count == (int) 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); myquery(rc);
for (i= 0; i < (int) array_elements(bind); i++) for (i= 0; i < (int) array_elements(bind); i++)
...@@ -3321,9 +3332,9 @@ static void test_fetch_date() ...@@ -3321,9 +3332,9 @@ static void test_fetch_date()
bind[6].buffer_length= sizeof(ts_6); bind[6].buffer_length= sizeof(ts_6);
bind[6].length= &ts6_length; 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); mystmt_init(stmt);
rc = mysql_bind_result(stmt,bind); rc = mysql_bind_result(stmt,bind);
...@@ -3651,7 +3662,7 @@ static void test_prepare_ext() ...@@ -3651,7 +3662,7 @@ static void test_prepare_ext()
/* insert by prepare - all integers */ /* insert by prepare - all integers */
strmov(query,(char *)"INSERT INTO test_prepare_ext(c1,c2,c3,c4,c5,c6) VALUES(?,?,?,?,?,?)"); 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); mystmt_init(stmt);
verify_param_count(stmt,6); verify_param_count(stmt,6);
...@@ -3704,7 +3715,7 @@ static void test_prepare_ext() ...@@ -3704,7 +3715,7 @@ static void test_prepare_ext()
rc = mysql_commit(mysql); rc = mysql_commit(mysql);
myquery(rc); 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); mystmt_init(stmt);
/* get the result */ /* get the result */
...@@ -3850,7 +3861,7 @@ static void test_insert() ...@@ -3850,7 +3861,7 @@ static void test_insert()
myquery(rc); myquery(rc);
/* insert by prepare */ /* 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); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -3922,7 +3933,7 @@ static void test_prepare_resultset() ...@@ -3922,7 +3933,7 @@ static void test_prepare_resultset()
name varchar(50),extra double)"); name varchar(50),extra double)");
myquery(rc); 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); mystmt_init(stmt);
verify_param_count(stmt,0); verify_param_count(stmt,0);
...@@ -4034,25 +4045,25 @@ static void test_stmt_close() ...@@ -4034,25 +4045,25 @@ static void test_stmt_close()
myquery(rc); myquery(rc);
strmov(query,"ALTER TABLE test_stmt_close ADD name varchar(20)"); 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); mystmt_init(stmt1);
verify_param_count(stmt1, 0); verify_param_count(stmt1, 0);
strmov(query,"INSERT INTO test_stmt_close(id) VALUES(?)"); 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); mystmt_init(stmt_x);
verify_param_count(stmt_x, 1); verify_param_count(stmt_x, 1);
strmov(query,"UPDATE test_stmt_close SET id=? WHERE id=?"); 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); mystmt_init(stmt3);
verify_param_count(stmt3, 2); verify_param_count(stmt3, 2);
strmov(query,"SELECT * FROM test_stmt_close WHERE id=?"); strmov(query,"SELECT * FROM test_stmt_close WHERE id=?");
stmt2= mysql_prepare(lmysql, query, 70); stmt2= mysql_simple_prepare(lmysql, query);
mystmt_init(stmt2); mystmt_init(stmt2);
verify_param_count(stmt2, 1); verify_param_count(stmt2, 1);
...@@ -4119,7 +4130,7 @@ static void test_set_variable() ...@@ -4119,7 +4130,7 @@ static void test_set_variable()
mysql_autocommit(mysql, TRUE); 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); mystmt_init(stmt1);
get_bind[0].buffer_type= MYSQL_TYPE_STRING; get_bind[0].buffer_type= MYSQL_TYPE_STRING;
...@@ -4150,7 +4161,7 @@ static void test_set_variable() ...@@ -4150,7 +4161,7 @@ static void test_set_variable()
rc = mysql_fetch(stmt1); rc = mysql_fetch(stmt1);
assert(rc == MYSQL_NO_DATA); 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); mystmt_init(stmt);
set_bind[0].buffer_type= MYSQL_TYPE_LONG; set_bind[0].buffer_type= MYSQL_TYPE_LONG;
...@@ -4225,7 +4236,7 @@ static void test_insert_meta() ...@@ -4225,7 +4236,7 @@ static void test_insert_meta()
myquery(rc); myquery(rc);
strmov(query,"INSERT INTO test_prep_insert VALUES(10,'venu1','test')"); 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); mystmt_init(stmt);
verify_param_count(stmt,0); verify_param_count(stmt,0);
...@@ -4236,7 +4247,7 @@ static void test_insert_meta() ...@@ -4236,7 +4247,7 @@ static void test_insert_meta()
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
strmov(query,"INSERT INTO test_prep_insert VALUES(?,'venu',?)"); strmov(query,"INSERT INTO test_prep_insert VALUES(?,'venu',?)");
stmt = mysql_prepare(mysql, query, 70); stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -4288,7 +4299,7 @@ static void test_update_meta() ...@@ -4288,7 +4299,7 @@ static void test_update_meta()
myquery(rc); myquery(rc);
strmov(query,"UPDATE test_prep_update SET col1=10, col2='venu1' WHERE col3='test'"); 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); mystmt_init(stmt);
verify_param_count(stmt,0); verify_param_count(stmt,0);
...@@ -4299,7 +4310,7 @@ static void test_update_meta() ...@@ -4299,7 +4310,7 @@ static void test_update_meta()
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
strmov(query,"UPDATE test_prep_update SET col1=?, col2='venu' WHERE col3=?"); 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); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -4355,7 +4366,7 @@ static void test_select_meta() ...@@ -4355,7 +4366,7 @@ static void test_select_meta()
myquery(rc); myquery(rc);
strmov(query,"SELECT * FROM test_prep_select WHERE col1=10"); 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); mystmt_init(stmt);
verify_param_count(stmt,0); verify_param_count(stmt,0);
...@@ -4364,7 +4375,7 @@ static void test_select_meta() ...@@ -4364,7 +4375,7 @@ static void test_select_meta()
mytest_r(result); mytest_r(result);
strmov(query,"SELECT col1, col3 from test_prep_select WHERE col1=? AND col3='test' AND col2= ?"); 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); mystmt_init(stmt);
verify_param_count(stmt,2); verify_param_count(stmt,2);
...@@ -4499,10 +4510,10 @@ static void test_multi_stmt() ...@@ -4499,10 +4510,10 @@ static void test_multi_stmt()
rc = mysql_query(mysql,"INSERT INTO test_multi_table values(10,'mysql')"); rc = mysql_query(mysql,"INSERT INTO test_multi_table values(10,'mysql')");
myquery(rc); 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); 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); mystmt_init(stmt2);
verify_param_count(stmt,1); verify_param_count(stmt,1);
...@@ -4544,7 +4555,7 @@ static void test_multi_stmt() ...@@ -4544,7 +4555,7 @@ static void test_multi_stmt()
assert(rc == MYSQL_NO_DATA); assert(rc == MYSQL_NO_DATA);
/* alter the table schema now */ /* 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); mystmt_init(stmt1);
verify_param_count(stmt1,2); verify_param_count(stmt1,2);
...@@ -4584,7 +4595,7 @@ static void test_multi_stmt() ...@@ -4584,7 +4595,7 @@ static void test_multi_stmt()
rc = mysql_fetch(stmt); rc = mysql_fetch(stmt);
assert(rc == MYSQL_NO_DATA); 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(stmt);
mysql_stmt_close(stmt2); mysql_stmt_close(stmt2);
...@@ -4631,7 +4642,7 @@ static void test_manual_sample() ...@@ -4631,7 +4642,7 @@ static void test_manual_sample()
/* Prepare a insert query with 3 parameters */ /* Prepare a insert query with 3 parameters */
strmov(query, "INSERT INTO test_table(col1,col2,col3) values(?,?,?)"); 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 prepare, insert failed");
fprintf(stderr, "\n %s", mysql_error(mysql)); fprintf(stderr, "\n %s", mysql_error(mysql));
...@@ -4735,7 +4746,7 @@ static void test_manual_sample() ...@@ -4735,7 +4746,7 @@ static void test_manual_sample()
fprintf(stderr, "\n %s", mysql_stmt_error(stmt)); fprintf(stderr, "\n %s", mysql_stmt_error(stmt));
exit(0); exit(0);
} }
assert(2 == my_stmt_result("SELECT * FROM test_table",50)); assert(2 == my_stmt_result("SELECT * FROM test_table"));
/* DROP THE TABLE */ /* DROP THE TABLE */
if (mysql_query(mysql,"DROP TABLE test_table")) if (mysql_query(mysql,"DROP TABLE test_table"))
...@@ -4770,7 +4781,7 @@ static void test_prepare_alter() ...@@ -4770,7 +4781,7 @@ static void test_prepare_alter()
rc = mysql_query(mysql,"INSERT INTO test_prep_alter values(10,'venu'),(20,'mysql')"); rc = mysql_query(mysql,"INSERT INTO test_prep_alter values(10,'venu'),(20,'mysql')");
myquery(rc); 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); mystmt_init(stmt);
verify_param_count(stmt,1); verify_param_count(stmt,1);
...@@ -4796,7 +4807,7 @@ static void test_prepare_alter() ...@@ -4796,7 +4807,7 @@ static void test_prepare_alter()
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
mystmt(stmt, rc); 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); mysql_stmt_close(stmt);
} }
...@@ -4978,7 +4989,7 @@ static void test_store_result() ...@@ -4978,7 +4989,7 @@ static void test_store_result()
bind[1].is_null= &is_null[1]; bind[1].is_null= &is_null[1];
length1= 0; 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); mystmt_init(stmt);
rc = mysql_bind_result(stmt,bind); rc = mysql_bind_result(stmt,bind);
...@@ -5089,7 +5100,7 @@ static void test_store_result1() ...@@ -5089,7 +5100,7 @@ static void test_store_result1()
rc = mysql_commit(mysql); rc = mysql_commit(mysql);
myquery(rc); 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); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -5160,7 +5171,7 @@ static void test_store_result2() ...@@ -5160,7 +5171,7 @@ static void test_store_result2()
bind[0].is_null= 0; bind[0].is_null= 0;
strmov((char *)query , "SELECT col1 FROM test_store_result where col1= ?"); 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); mystmt_init(stmt);
rc = mysql_bind_param(stmt,bind); rc = mysql_bind_param(stmt,bind);
...@@ -5252,7 +5263,7 @@ static void test_subselect() ...@@ -5252,7 +5263,7 @@ static void test_subselect()
bind[0].length= 0; bind[0].length= 0;
bind[0].is_null= 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); mystmt_init(stmt);
rc = mysql_bind_param(stmt,bind); rc = mysql_bind_param(stmt,bind);
...@@ -5275,13 +5286,13 @@ static void test_subselect() ...@@ -5275,13 +5286,13 @@ static void test_subselect()
mysql_stmt_close(stmt); 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=?)"); 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=8)"));
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=7)"));
stmt = mysql_prepare(mysql, query, 150); stmt = mysql_simple_prepare(mysql, query, 150);
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_bind_param(stmt,bind); rc = mysql_bind_param(stmt,bind);
...@@ -5335,7 +5346,7 @@ static void test_bind_date_conv(uint row_count) ...@@ -5335,7 +5346,7 @@ static void test_bind_date_conv(uint row_count)
ulong second_part; ulong second_part;
uint year, month, day, hour, minute, sec; 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); mystmt_init(stmt);
verify_param_count(stmt, 4); verify_param_count(stmt, 4);
...@@ -5389,9 +5400,9 @@ static void test_bind_date_conv(uint row_count) ...@@ -5389,9 +5400,9 @@ static void test_bind_date_conv(uint row_count)
mysql_stmt_close(stmt); 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); myquery(rc);
rc = mysql_bind_result(stmt, bind); rc = mysql_bind_result(stmt, bind);
...@@ -5586,14 +5597,14 @@ static void test_pure_coverage() ...@@ -5586,14 +5597,14 @@ static void test_pure_coverage()
rc = mysql_query(mysql,"CREATE TABLE test_pure(c1 int, c2 varchar(20))"); rc = mysql_query(mysql,"CREATE TABLE test_pure(c1 int, c2 varchar(20))");
myquery(rc); 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); mystmt_init_r(stmt);
#ifndef DBUG_OFF #ifndef DBUG_OFF
stmt = mysql_prepare(mysql,(const char *)0,0); stmt = mysql_prepare(mysql,(const char *)0,0);
mystmt_init_r(stmt); 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); mystmt_init(stmt);
rc = mysql_bind_param(stmt, bind); rc = mysql_bind_param(stmt, bind);
...@@ -5602,7 +5613,7 @@ static void test_pure_coverage() ...@@ -5602,7 +5613,7 @@ static void test_pure_coverage()
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
#endif #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); mystmt_init(stmt);
#ifndef DBUG_OFF #ifndef DBUG_OFF
...@@ -5630,7 +5641,7 @@ static void test_pure_coverage() ...@@ -5630,7 +5641,7 @@ static void test_pure_coverage()
mysql_stmt_close(stmt); 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); mystmt(stmt, rc);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -5682,7 +5693,7 @@ static void test_buffers() ...@@ -5682,7 +5693,7 @@ static void test_buffers()
,('Database'),('Open-Source'),('Popular')"); ,('Database'),('Open-Source'),('Popular')");
myquery(rc); 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); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -5760,7 +5771,7 @@ static void test_open_direct() ...@@ -5760,7 +5771,7 @@ static void test_open_direct()
rc = mysql_query(mysql,"CREATE TABLE test_open_direct(id int, name char(6))"); rc = mysql_query(mysql,"CREATE TABLE test_open_direct(id int, name char(6))");
myquery(rc); 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); mystmt_init(stmt);
rc = mysql_query(mysql, "SELECT * FROM test_open_direct"); rc = mysql_query(mysql, "SELECT * FROM test_open_direct");
...@@ -5799,7 +5810,7 @@ static void test_open_direct() ...@@ -5799,7 +5810,7 @@ static void test_open_direct()
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
/* run a direct query in the middle of a fetch */ /* 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); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -5818,7 +5829,7 @@ static void test_open_direct() ...@@ -5818,7 +5829,7 @@ static void test_open_direct()
myquery(rc); myquery(rc);
/* run a direct query with store result */ /* 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); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -5849,8 +5860,8 @@ static void test_fetch_nobuffs() ...@@ -5849,8 +5860,8 @@ static void test_fetch_nobuffs()
myheader("test_fetch_nobuffs"); myheader("test_fetch_nobuffs");
stmt = mysql_prepare(mysql,"SELECT DATABASE(), CURRENT_USER(), \ stmt = mysql_simple_prepare(mysql,"SELECT DATABASE(), CURRENT_USER(), \
CURRENT_DATE(), CURRENT_TIME()",100); CURRENT_DATE(), CURRENT_TIME()");
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -5923,7 +5934,7 @@ static void test_ushort_bug() ...@@ -5923,7 +5934,7 @@ static void test_ushort_bug()
myquery(rc); myquery(rc);
stmt = mysql_prepare(mysql,"SELECT * FROM test_ushort",50); stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_ushort");
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -6007,7 +6018,7 @@ static void test_sshort_bug() ...@@ -6007,7 +6018,7 @@ static void test_sshort_bug()
myquery(rc); myquery(rc);
stmt = mysql_prepare(mysql,"SELECT * FROM test_sshort",50); stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_sshort");
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -6091,7 +6102,7 @@ static void test_stiny_bug() ...@@ -6091,7 +6102,7 @@ static void test_stiny_bug()
myquery(rc); myquery(rc);
stmt = mysql_prepare(mysql,"SELECT * FROM test_stiny",50); stmt = mysql_simple_prepare(mysql,"SELECT * FROM test_stiny");
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -6176,7 +6187,7 @@ static void test_field_misc() ...@@ -6176,7 +6187,7 @@ static void test_field_misc()
mysql_free_result(result); mysql_free_result(result);
stmt = mysql_prepare(mysql,"SELECT @@autocommit",20); stmt = mysql_simple_prepare(mysql,"SELECT @@autocommit");
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -6196,7 +6207,7 @@ static void test_field_misc() ...@@ -6196,7 +6207,7 @@ static void test_field_misc()
mysql_free_result(result); mysql_free_result(result);
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
stmt = mysql_prepare(mysql, "SELECT @@table_type", 30); stmt = mysql_simple_prepare(mysql, "SELECT @@table_type");
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -6220,7 +6231,7 @@ static void test_field_misc() ...@@ -6220,7 +6231,7 @@ static void test_field_misc()
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
stmt = mysql_prepare(mysql, "SELECT @@table_type", 30); stmt = mysql_simple_prepare(mysql, "SELECT @@table_type");
mystmt_init(stmt); mystmt_init(stmt);
result = mysql_get_metadata(stmt); result = mysql_get_metadata(stmt);
...@@ -6240,7 +6251,7 @@ static void test_field_misc() ...@@ -6240,7 +6251,7 @@ static void test_field_misc()
mysql_free_result(result); mysql_free_result(result);
mysql_stmt_close(stmt); 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); mystmt_init(stmt);
result = mysql_get_metadata(stmt); result = mysql_get_metadata(stmt);
...@@ -6260,7 +6271,7 @@ static void test_field_misc() ...@@ -6260,7 +6271,7 @@ static void test_field_misc()
mysql_free_result(result); mysql_free_result(result);
mysql_stmt_close(stmt); 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); mystmt_init(stmt);
result = mysql_get_metadata(stmt); result = mysql_get_metadata(stmt);
...@@ -6280,7 +6291,7 @@ static void test_field_misc() ...@@ -6280,7 +6291,7 @@ static void test_field_misc()
mysql_free_result(result); mysql_free_result(result);
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
stmt = mysql_prepare(mysql, "SELECT @@sql_warnings", 30); stmt = mysql_simple_prepare(mysql, "SELECT @@sql_warnings");
mystmt_init(stmt); mystmt_init(stmt);
result = mysql_get_metadata(stmt); result = mysql_get_metadata(stmt);
...@@ -6341,7 +6352,7 @@ static void test_set_option() ...@@ -6341,7 +6352,7 @@ static void test_set_option()
mysql_free_result(result); mysql_free_result(result);
fprintf(stdout,"\n with SQL_SELECT_LIMIT=2 (prepare)"); 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); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -6356,7 +6367,7 @@ static void test_set_option() ...@@ -6356,7 +6367,7 @@ static void test_set_option()
rc= mysql_query(mysql,"SET OPTION SQL_SELECT_LIMIT=DEFAULT"); rc= mysql_query(mysql,"SET OPTION SQL_SELECT_LIMIT=DEFAULT");
myquery(rc); myquery(rc);
stmt = mysql_prepare(mysql, "SELECT * FROM test_limit", 50); stmt = mysql_simple_prepare(mysql, "SELECT * FROM test_limit");
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -6433,18 +6444,20 @@ static void test_prepare_grant() ...@@ -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(a) VALUES(NULL)",1);
execute_prepare_query("INSERT INTO test_grant 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); 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"); rc = mysql_query(mysql,"DELETE FROM test_grant");
myquery_r(rc); myquery_r(rc);
stmt= mysql_prepare(mysql,"DELETE FROM test_grant",50); stmt= mysql_simple_prepare(mysql,"DELETE FROM test_grant");
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
myquery_r(rc); 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_close(lmysql);
mysql= org_mysql; mysql= org_mysql;
...@@ -6487,7 +6500,7 @@ static void test_frm_bug() ...@@ -6487,7 +6500,7 @@ static void test_frm_bug()
rc= mysql_query(mysql,"flush tables"); rc= mysql_query(mysql,"flush tables");
myquery(rc); myquery(rc);
stmt = mysql_prepare(mysql, "show variables like 'datadir'", 50); stmt = mysql_simple_prepare(mysql, "show variables like 'datadir'");
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -6570,7 +6583,7 @@ static void test_decimal_bug() ...@@ -6570,7 +6583,7 @@ static void test_decimal_bug()
rc = mysql_query(mysql, "insert into test_decimal_bug value(8),(10.22),(5.61)"); rc = mysql_query(mysql, "insert into test_decimal_bug value(8),(10.22),(5.61)");
myquery(rc); 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); mystmt_init(stmt);
bind[0].buffer_type= MYSQL_TYPE_DOUBLE; bind[0].buffer_type= MYSQL_TYPE_DOUBLE;
...@@ -6666,7 +6679,7 @@ static void test_explain_bug() ...@@ -6666,7 +6679,7 @@ static void test_explain_bug()
rc = mysql_query(mysql, "CREATE TABLE test_explain(id int, name char(2))"); rc = mysql_query(mysql, "CREATE TABLE test_explain(id int, name char(2))");
myquery(rc); myquery(rc);
stmt = mysql_prepare(mysql, "explain test_explain", 30); stmt = mysql_simple_prepare(mysql, "explain test_explain");
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -6702,7 +6715,7 @@ static void test_explain_bug() ...@@ -6702,7 +6715,7 @@ static void test_explain_bug()
mysql_free_result(result); mysql_free_result(result);
mysql_stmt_close(stmt); 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); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -6950,10 +6963,10 @@ static void test_logs() ...@@ -6950,10 +6963,10 @@ static void test_logs()
myheader("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); 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); myquery(rc);
length= (ulong)(strmov((char *)data,"INSERT INTO test_logs VALUES(?,?)") - data); length= (ulong)(strmov((char *)data,"INSERT INTO test_logs VALUES(?,?)") - data);
...@@ -7015,7 +7028,7 @@ static void test_logs() ...@@ -7015,7 +7028,7 @@ static void test_logs()
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
length= (ulong)(strmov((char *)data, "SELECT * FROM test_logs WHERE id=?") - data); 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); mystmt_init(stmt);
rc = mysql_bind_param(stmt, bind); rc = mysql_bind_param(stmt, bind);
...@@ -7125,7 +7138,7 @@ static void test_nstmts() ...@@ -7125,7 +7138,7 @@ static void test_nstmts()
mysql_stmt_close(stmt); 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); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -7172,7 +7185,7 @@ static void test_fetch_seek() ...@@ -7172,7 +7185,7 @@ static void test_fetch_seek()
rc = mysql_query(mysql, "insert into test_seek(c2) values('venu'),('mysql'),('open'),('source')"); rc = mysql_query(mysql, "insert into test_seek(c2) values('venu'),('mysql'),('open'),('source')");
myquery(rc); myquery(rc);
stmt = mysql_prepare(mysql,"select * from test_seek",50); stmt = mysql_simple_prepare(mysql,"select * from test_seek");
mystmt_init(stmt); mystmt_init(stmt);
bind[0].buffer_type= MYSQL_TYPE_LONG; bind[0].buffer_type= MYSQL_TYPE_LONG;
...@@ -7267,7 +7280,7 @@ static void test_fetch_offset() ...@@ -7267,7 +7280,7 @@ static void test_fetch_offset()
rc = mysql_query(mysql, "insert into test_column values('abcdefghij'),(null)"); rc = mysql_query(mysql, "insert into test_column values('abcdefghij'),(null)");
myquery(rc); myquery(rc);
stmt = mysql_prepare(mysql,"select * from test_column",50); stmt = mysql_simple_prepare(mysql,"select * from test_column");
mystmt_init(stmt); mystmt_init(stmt);
bind[0].buffer_type= MYSQL_TYPE_STRING; bind[0].buffer_type= MYSQL_TYPE_STRING;
...@@ -7350,7 +7363,7 @@ static void test_fetch_column() ...@@ -7350,7 +7363,7 @@ static void test_fetch_column()
rc = mysql_query(mysql, "insert into test_column(c2) values('venu'),('mysql')"); rc = mysql_query(mysql, "insert into test_column(c2) values('venu'),('mysql')");
myquery(rc); 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); mystmt_init(stmt);
bind[0].buffer_type= MYSQL_TYPE_LONG; bind[0].buffer_type= MYSQL_TYPE_LONG;
...@@ -7537,7 +7550,7 @@ static void test_mem_overun() ...@@ -7537,7 +7550,7 @@ static void test_mem_overun()
assert(1 == my_process_result(mysql)); 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); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -7583,7 +7596,7 @@ static void test_free_result() ...@@ -7583,7 +7596,7 @@ static void test_free_result()
rc = mysql_query(mysql, "insert into test_free_result values(),(),()"); rc = mysql_query(mysql, "insert into test_free_result values(),(),()");
myquery(rc); 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); mystmt_init(stmt);
bind[0].buffer_type= MYSQL_TYPE_LONG; bind[0].buffer_type= MYSQL_TYPE_LONG;
...@@ -7662,7 +7675,7 @@ static void test_free_store_result() ...@@ -7662,7 +7675,7 @@ static void test_free_store_result()
rc = mysql_query(mysql, "insert into test_free_result values(),(),()"); rc = mysql_query(mysql, "insert into test_free_result values(),(),()");
myquery(rc); 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); mystmt_init(stmt);
bind[0].buffer_type= MYSQL_TYPE_LONG; bind[0].buffer_type= MYSQL_TYPE_LONG;
...@@ -7749,7 +7762,7 @@ static void test_sqlmode() ...@@ -7749,7 +7762,7 @@ static void test_sqlmode()
strcpy(query, "INSERT INTO test_piping VALUES(?||?)"); strcpy(query, "INSERT INTO test_piping VALUES(?||?)");
fprintf(stdout,"\n query: %s", query); fprintf(stdout,"\n query: %s", query);
stmt = mysql_prepare(mysql, query, strlen(query)); stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt); mystmt_init(stmt);
fprintf(stdout,"\n total parameters: %ld", mysql_param_count(stmt)); fprintf(stdout,"\n total parameters: %ld", mysql_param_count(stmt));
...@@ -7781,7 +7794,7 @@ static void test_sqlmode() ...@@ -7781,7 +7794,7 @@ static void test_sqlmode()
strcpy(query, "SELECT connection_id ()"); strcpy(query, "SELECT connection_id ()");
fprintf(stdout,"\n query: %s", query); fprintf(stdout,"\n query: %s", query);
stmt = mysql_prepare(mysql, query, 70); stmt = mysql_simple_prepare(mysql, query);
mystmt_init_r(stmt); mystmt_init_r(stmt);
/* ANSI */ /* ANSI */
...@@ -7792,7 +7805,7 @@ static void test_sqlmode() ...@@ -7792,7 +7805,7 @@ static void test_sqlmode()
strcpy(query, "INSERT INTO test_piping VALUES(?||?)"); strcpy(query, "INSERT INTO test_piping VALUES(?||?)");
fprintf(stdout,"\n query: %s", query); fprintf(stdout,"\n query: %s", query);
stmt = mysql_prepare(mysql, query, strlen(query)); stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt); mystmt_init(stmt);
fprintf(stdout,"\n total parameters: %ld", mysql_param_count(stmt)); fprintf(stdout,"\n total parameters: %ld", mysql_param_count(stmt));
...@@ -7809,7 +7822,7 @@ static void test_sqlmode() ...@@ -7809,7 +7822,7 @@ static void test_sqlmode()
/* ANSI mode spaces ... */ /* ANSI mode spaces ... */
strcpy(query, "SELECT connection_id ()"); strcpy(query, "SELECT connection_id ()");
fprintf(stdout,"\n query: %s", query); fprintf(stdout,"\n query: %s", query);
stmt = mysql_prepare(mysql, query, 70); stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -7832,7 +7845,7 @@ static void test_sqlmode() ...@@ -7832,7 +7845,7 @@ static void test_sqlmode()
strcpy(query, "SELECT connection_id ()"); strcpy(query, "SELECT connection_id ()");
fprintf(stdout,"\n query: %s", query); fprintf(stdout,"\n query: %s", query);
stmt = mysql_prepare(mysql, query, 70); stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt); mystmt_init(stmt);
rc = mysql_execute(stmt); rc = mysql_execute(stmt);
...@@ -7873,7 +7886,7 @@ static void test_ts() ...@@ -7873,7 +7886,7 @@ static void test_ts()
rc = mysql_commit(mysql); rc = mysql_commit(mysql);
myquery(rc); 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); mystmt_init(stmt);
ts.year= 2003; ts.year= 2003;
...@@ -7912,7 +7925,7 @@ static void test_ts() ...@@ -7912,7 +7925,7 @@ static void test_ts()
verify_col_data("test_ts","b","21:07:46"); verify_col_data("test_ts","b","21:07:46");
verify_col_data("test_ts","c","2003-07-12 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); mystmt_init(stmt);
prep_res = mysql_get_metadata(stmt); prep_res = mysql_get_metadata(stmt);
...@@ -7983,7 +7996,7 @@ static void test_bug1500() ...@@ -7983,7 +7996,7 @@ static void test_bug1500()
rc= mysql_commit(mysql); rc= mysql_commit(mysql);
myquery(rc); 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); mystmt_init(stmt);
verify_param_count(stmt,3); verify_param_count(stmt,3);
...@@ -8018,8 +8031,8 @@ static void test_bug1500() ...@@ -8018,8 +8031,8 @@ static void test_bug1500()
rc= mysql_commit(mysql); rc= mysql_commit(mysql);
myquery(rc); myquery(rc);
stmt= mysql_prepare(mysql, stmt= mysql_simple_prepare(mysql,
"SELECT s FROM test_bg1500 WHERE MATCH (s) AGAINST (?)",53); "SELECT s FROM test_bg1500 WHERE MATCH (s) AGAINST (?)");
mystmt_init(stmt); mystmt_init(stmt);
verify_param_count(stmt,1); verify_param_count(stmt,1);
...@@ -8046,8 +8059,8 @@ static void test_bug1500() ...@@ -8046,8 +8059,8 @@ static void test_bug1500()
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
/* This should work too */ /* This should work too */
stmt= mysql_prepare(mysql, stmt= mysql_simple_prepare(mysql,
"SELECT s FROM test_bg1500 WHERE MATCH (s) AGAINST (CONCAT(?,'digger'))", 70); "SELECT s FROM test_bg1500 WHERE MATCH (s) AGAINST (CONCAT(?,'digger'))");
mystmt_init(stmt); mystmt_init(stmt);
verify_param_count(stmt,1); verify_param_count(stmt,1);
...@@ -8084,7 +8097,7 @@ static void test_bug1946() ...@@ -8084,7 +8097,7 @@ static void test_bug1946()
rc= mysql_query(mysql,"CREATE TABLE prepare_command(ID INT)"); rc= mysql_query(mysql,"CREATE TABLE prepare_command(ID INT)");
myquery(rc); myquery(rc);
stmt = mysql_prepare(mysql, query, strlen(query)); stmt = mysql_simple_prepare(mysql, query);
mystmt_init(stmt); mystmt_init(stmt);
rc= mysql_real_query(mysql, query, strlen(query)); rc= mysql_real_query(mysql, query, strlen(query));
assert(rc != 0); assert(rc != 0);
...@@ -8095,6 +8108,28 @@ static void test_bug1946() ...@@ -8095,6 +8108,28 @@ static void test_bug1946()
rc= mysql_query(mysql,"DROP TABLE prepare_command"); 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 Read and parse arguments and MySQL options from my.cnf
...@@ -8340,6 +8375,8 @@ int main(int argc, char **argv) ...@@ -8340,6 +8375,8 @@ int main(int argc, char **argv)
test_bug1644(); /* BUG#1644 */ test_bug1644(); /* BUG#1644 */
test_bug1946(); /* test that placeholders are allowed only in test_bug1946(); /* test that placeholders are allowed only in
prepared queries */ prepared queries */
test_parse_error_and_bad_length(); /* test if bad length param in
mysql_prepare() triggers error */
end_time= time((time_t *)0); end_time= time((time_t *)0);
total_time+= difftime(end_time, start_time); total_time+= difftime(end_time, start_time);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment