Commit bcae5017 authored by paul@ice.snake.net's avatar paul@ice.snake.net

Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1

into ice.snake.net:/Volumes/ice2/MySQL/bk/mysql-4.1
parents fb15e3e7 dabc0e77
...@@ -710,6 +710,7 @@ void STDCALL mysql_stmt_data_seek(MYSQL_STMT *stmt, my_ulonglong offset); ...@@ -710,6 +710,7 @@ void STDCALL mysql_stmt_data_seek(MYSQL_STMT *stmt, my_ulonglong offset);
my_ulonglong STDCALL mysql_stmt_num_rows(MYSQL_STMT *stmt); my_ulonglong STDCALL mysql_stmt_num_rows(MYSQL_STMT *stmt);
my_ulonglong STDCALL mysql_stmt_affected_rows(MYSQL_STMT *stmt); my_ulonglong STDCALL mysql_stmt_affected_rows(MYSQL_STMT *stmt);
my_ulonglong STDCALL mysql_stmt_insert_id(MYSQL_STMT *stmt); my_ulonglong STDCALL mysql_stmt_insert_id(MYSQL_STMT *stmt);
unsigned int STDCALL mysql_stmt_field_count(MYSQL_STMT *stmt);
my_bool STDCALL mysql_commit(MYSQL * mysql); my_bool STDCALL mysql_commit(MYSQL * mysql);
my_bool STDCALL mysql_rollback(MYSQL * mysql); my_bool STDCALL mysql_rollback(MYSQL * mysql);
......
...@@ -1640,70 +1640,46 @@ myodbc_remove_escape(MYSQL *mysql,char *name) ...@@ -1640,70 +1640,46 @@ myodbc_remove_escape(MYSQL *mysql,char *name)
} }
/******************************************************************** /********************************************************************
Implementation of new client API for 4.1 version.
Implementation of new client-server prototypes for 4.1 version mysql_stmt_* are real prototypes used by applications.
starts from here ..
mysql_* are real prototypes used by applications
To make API work in embedded library all functions performing
real I/O are prefixed with 'cli_' (abbreviated from 'Call Level
Interface'). This functions are invoked via pointers set in
MYSQL::methods structure. Embedded counterparts, prefixed with
'emb_' reside in libmysqld/lib_sql.cc.
*********************************************************************/ *********************************************************************/
/******************************************************************** /******************* Declarations ***********************************/
Misc Utility functions
********************************************************************/
/*
Set the internal stmt error messages
*/
static void set_stmt_error(MYSQL_STMT * stmt, int errcode,
const char *sqlstate)
{
DBUG_ENTER("set_stmt_error");
DBUG_PRINT("enter", ("error: %d '%s'", errcode, ER(errcode)));
DBUG_ASSERT(stmt != 0);
stmt->last_errno= errcode;
strmov(stmt->last_error, ER(errcode));
strmov(stmt->sqlstate, sqlstate);
DBUG_VOID_RETURN;
}
/* /*
Copy error message to statement handler These functions are called by function pointer MYSQL_STMT::read_row_func.
Each function corresponds to one of the read methods:
- mysql_stmt_fetch without prior mysql_stmt_store_result,
- mysql_stmt_fetch when result is stored,
- mysql_stmt_fetch when there are no rows (always returns MYSQL_NO_DATA)
*/ */
void set_stmt_errmsg(MYSQL_STMT * stmt, const char *err, int errcode, static int stmt_read_row_unbuffered(MYSQL_STMT *stmt, unsigned char **row);
const char *sqlstate) static int stmt_read_row_buffered(MYSQL_STMT *stmt, unsigned char **row);
{ static int stmt_read_row_no_data(MYSQL_STMT *stmt, unsigned char **row);
DBUG_ENTER("set_stmt_error_msg");
DBUG_PRINT("enter", ("error: %d/%s '%s'", errcode, sqlstate, err));
DBUG_ASSERT(stmt != 0);
stmt->last_errno= errcode;
if (err && err[0])
strmov(stmt->last_error, err);
strmov(stmt->sqlstate, sqlstate);
DBUG_VOID_RETURN;
}
/**************** Misc utility functions ****************************/
/* /*
Reallocate the NET package to be at least of 'length' bytes Reallocate the NET package to be at least of 'length' bytes
SYNPOSIS SYNPOSIS
my_realloc_str() my_realloc_str()
net The NET structure to modify net The NET structure to modify
int length Ensure that net->buff is at least this big length Ensure that net->buff is at least this big
RETURN VALUES RETURN VALUES
0 ok 0 ok
1 Error 1 Error
*/ */
static my_bool my_realloc_str(NET *net, ulong length) static my_bool my_realloc_str(NET *net, ulong length)
...@@ -1719,20 +1695,54 @@ static my_bool my_realloc_str(NET *net, ulong length) ...@@ -1719,20 +1695,54 @@ static my_bool my_realloc_str(NET *net, ulong length)
DBUG_RETURN(res); DBUG_RETURN(res);
} }
/********************************************************************
Prepare related implementations
********************************************************************/
static int stmt_read_row_unbuffered(MYSQL_STMT *stmt, unsigned char **row); /*
static int stmt_read_row_buffered(MYSQL_STMT *stmt, unsigned char **row); Set statement error code, sqlstate, and error message
static int stmt_read_row_no_data(MYSQL_STMT *stmt, unsigned char **row); from given errcode and sqlstate.
*/
static void set_stmt_error(MYSQL_STMT * stmt, int errcode,
const char *sqlstate)
{
DBUG_ENTER("set_stmt_error");
DBUG_PRINT("enter", ("error: %d '%s'", errcode, ER(errcode)));
DBUG_ASSERT(stmt != 0);
stmt->last_errno= errcode;
strmov(stmt->last_error, ER(errcode));
strmov(stmt->sqlstate, sqlstate);
DBUG_VOID_RETURN;
}
/*
Set statement error code, sqlstate, and error message.
*/
void set_stmt_errmsg(MYSQL_STMT * stmt, const char *err, int errcode,
const char *sqlstate)
{
DBUG_ENTER("set_stmt_errmsg");
DBUG_PRINT("enter", ("error: %d/%s '%s'", errcode, sqlstate, err));
DBUG_ASSERT(stmt != 0);
stmt->last_errno= errcode;
if (err && err[0])
strmov(stmt->last_error, err);
strmov(stmt->sqlstate, sqlstate);
DBUG_VOID_RETURN;
}
/* /*
Read the prepared statement results .. Read and unpack server reply to COM_PREPARE command (sent from
mysql_stmt_prepare).
NOTE SYNOPSIS
This is only called for connection to servers that supports cli_read_prepare_result()
prepared statements (and thus the 4.1 protocol) mysql connection handle
stmt statement handle
RETURN VALUES RETURN VALUES
0 ok 0 ok
...@@ -1752,7 +1762,9 @@ my_bool cli_read_prepare_result(MYSQL *mysql, MYSQL_STMT *stmt) ...@@ -1752,7 +1762,9 @@ my_bool cli_read_prepare_result(MYSQL *mysql, MYSQL_STMT *stmt)
pos= (uchar*) mysql->net.read_pos; pos= (uchar*) mysql->net.read_pos;
stmt->stmt_id= uint4korr(pos+1); pos+= 5; stmt->stmt_id= uint4korr(pos+1); pos+= 5;
/* Number of columns in result set */
field_count= uint2korr(pos); pos+= 2; field_count= uint2korr(pos); pos+= 2;
/* Number of placeholders in the statement */
param_count= uint2korr(pos); pos+= 2; param_count= uint2korr(pos); pos+= 2;
if (param_count != 0) if (param_count != 0)
...@@ -1802,10 +1814,30 @@ MYSQL_STMT * STDCALL mysql_prepare(MYSQL *mysql, const char *query, ...@@ -1802,10 +1814,30 @@ MYSQL_STMT * STDCALL mysql_prepare(MYSQL *mysql, const char *query,
#endif #endif
/* /*
Allocate memory and init prepared statement structure Allocate memory and init prepared statement structure.
SYNOPSIS SYNOPSIS
mysql_stmt_init() mysql_stmt_init()
mysql connection handle mysql connection handle
DESCRIPTION
This is an entry point of the new API. Returned handle stands for
a server-side prepared statement. Memory for this structure (~700
bytes) is allocated using 'malloc'. Once created, the handle can be
reused many times. Created statement handle is bound to connection
handle provided to this call: it's lifetime is limited by lifetime
of connection.
'mysql_stmt_init()' is a pure local call, server side structure is
created only in mysql_stmt_prepare.
Next steps you may want to make:
- set a statement attribute (mysql_stmt_attr_set()),
- prepare statement handle with a query (mysql_stmt_prepare()),
- close statement handle and free it's memory (mysql_stmt_close()),
- reset statement with mysql_stmt_reset() (a no-op which will
just return).
Behaviour of the rest of API calls on this statement is not defined yet
(though we're working on making each wrong call sequence return
error).
RETURN VALUE RETURN VALUE
statement structure upon success and NULL if out of statement structure upon success and NULL if out of
...@@ -1838,27 +1870,41 @@ mysql_stmt_init(MYSQL *mysql) ...@@ -1838,27 +1870,41 @@ mysql_stmt_init(MYSQL *mysql)
DBUG_RETURN(stmt); DBUG_RETURN(stmt);
} }
/* /*
Prepare server side statement with query: Prepare server side statement with query.
SYNOPSIS SYNOPSIS
mysql_stmt_prepare() mysql_stmt_prepare()
query statement to prepare stmt statement handle
length statement length query statement to prepare
length statement length
DESCRIPTION DESCRIPTION
- if this is a re-prepare of the statement, first close previous data Associate statement with statement handle. This is done both on
client and server sides. At this point the server parses given query
and creates an internal structure to represent it.
Next steps you may want to make:
- find out if this statement returns a result set by
calling mysql_stmt_field_count(), and get result set metadata
with mysql_stmt_result_metadata(),
- if query contains placeholders, bind input parameters to placeholders
using mysql_stmt_bind_param(),
- otherwise proceed directly to mysql_stmt_execute().
IMPLEMENTATION NOTES
- if this is a re-prepare of the statement, first close previous data
structure on the server and free old statement data structure on the server and free old statement data
- send the query to server and get back number of placeholders, - then send the query to server and get back number of placeholders,
number of columns in result set (if any), and result set metadata. number of columns in result set (if any), and result set metadata.
At the same time allocate memory for input and output parameters At the same time allocate memory for input and output parameters
to have less checks in mysql_stmt_bind_{param, result}. to have less checks in mysql_stmt_bind_{param, result}.
RETURN VALUES RETURN VALUES
0 success 0 success
!0 error !0 error
*/ */
int STDCALL int STDCALL
mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, ulong length) mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, ulong length)
{ {
...@@ -1938,8 +1984,10 @@ mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, ulong length) ...@@ -1938,8 +1984,10 @@ mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, ulong length)
} }
/* /*
Get the execute query meta information for non-select Get result set metadata from reply to mysql_stmt_execute.
statements. This is used mainly for SHOW commands, as metadata for these
commands is sent only with result set.
To be removed when all commands will fully support prepared mode.
*/ */
static unsigned int alloc_stmt_fields(MYSQL_STMT *stmt) static unsigned int alloc_stmt_fields(MYSQL_STMT *stmt)
...@@ -1983,8 +2031,31 @@ static unsigned int alloc_stmt_fields(MYSQL_STMT *stmt) ...@@ -1983,8 +2031,31 @@ static unsigned int alloc_stmt_fields(MYSQL_STMT *stmt)
} }
/* /*
Returns prepared meta information in the form of resultset Returns prepared statement metadata in the form of a result set.
to client.
SYNOPSIS
mysql_stmt_result_metadata()
stmt statement handle
RETURN
NULL statement contains no result set or out of memory.
In the latter case you can retreive error message
with mysql_stmt_error.
MYSQL_RES a result set with no rows
DESCRIPTION
This function should be used after mysql_stmt_execute().
You can safely check that prepared statement has a result set by calling
mysql_stmt_num_fields(): if number of fields is not zero, you can call
this function to get fields metadata.
Next steps you may want to make:
- find out number of columns in result set by calling
mysql_num_fields(res) (the same value is returned by
mysql_stmt_num_fields)
- fetch metadata for any column with mysql_fetch_field,
mysql_fetch_field_direct, mysql_fetch_fields, mysql_field_seek.
- free returned MYSQL_RES structure with mysql_free_result.
- proceed to binding of output parameters.
*/ */
MYSQL_RES * STDCALL MYSQL_RES * STDCALL
...@@ -2016,8 +2087,9 @@ mysql_stmt_result_metadata(MYSQL_STMT *stmt) ...@@ -2016,8 +2087,9 @@ mysql_stmt_result_metadata(MYSQL_STMT *stmt)
} }
/* /*
Returns parameter columns meta information in the form of Returns parameter columns meta information in the form of
resultset. result set.
XXX: not implemented yet.
*/ */
MYSQL_RES * STDCALL MYSQL_RES * STDCALL
...@@ -2036,12 +2108,8 @@ mysql_stmt_param_metadata(MYSQL_STMT *stmt) ...@@ -2036,12 +2108,8 @@ mysql_stmt_param_metadata(MYSQL_STMT *stmt)
} }
/******************************************************************** /*
Prepare-execute, and param handling Functions to store parameter data in network packet.
*********************************************************************/
/****************************************************************************
Functions to store parameter data from a prepared statement.
All functions have the following characteristics: All functions have the following characteristics:
...@@ -2053,7 +2121,7 @@ mysql_stmt_param_metadata(MYSQL_STMT *stmt) ...@@ -2053,7 +2121,7 @@ mysql_stmt_param_metadata(MYSQL_STMT *stmt)
RETURN VALUES RETURN VALUES
0 ok 0 ok
1 Error (Can't alloc net->buffer) 1 Error (Can't alloc net->buffer)
****************************************************************************/ */
static void store_param_tinyint(NET *net, MYSQL_BIND *param) static void store_param_tinyint(NET *net, MYSQL_BIND *param)
{ {
...@@ -2162,7 +2230,8 @@ static void store_param_datetime(NET *net, MYSQL_BIND *param) ...@@ -2162,7 +2230,8 @@ static void store_param_datetime(NET *net, MYSQL_BIND *param)
static void store_param_str(NET *net, MYSQL_BIND *param) static void store_param_str(NET *net, MYSQL_BIND *param)
{ {
ulong length= param->length ? *param->length : param->buffer_length; /* param->length is always set in mysql_stmt_bind_param */
ulong length= *param->length;
char *to= (char *) net_store_length((char *) net->write_pos, length); char *to= (char *) net_store_length((char *) net->write_pos, length);
memcpy(to, param->buffer, length); memcpy(to, param->buffer, length);
net->write_pos= (uchar*) to+length; net->write_pos= (uchar*) to+length;
...@@ -2529,6 +2598,16 @@ my_ulonglong STDCALL mysql_stmt_affected_rows(MYSQL_STMT *stmt) ...@@ -2529,6 +2598,16 @@ my_ulonglong STDCALL mysql_stmt_affected_rows(MYSQL_STMT *stmt)
} }
/*
Returns the number of result columns for the most recent query
run on this statement.
*/
unsigned int STDCALL mysql_stmt_field_count(MYSQL_STMT *stmt)
{
return stmt->field_count;
}
/* /*
Return last inserted id for auto_increment columns Return last inserted id for auto_increment columns
*/ */
...@@ -2538,6 +2617,7 @@ my_ulonglong STDCALL mysql_stmt_insert_id(MYSQL_STMT *stmt) ...@@ -2538,6 +2617,7 @@ my_ulonglong STDCALL mysql_stmt_insert_id(MYSQL_STMT *stmt)
return stmt->insert_id; return stmt->insert_id;
} }
static my_bool int_is_null_true= 1; /* Used for MYSQL_TYPE_NULL */ static my_bool int_is_null_true= 1; /* Used for MYSQL_TYPE_NULL */
static my_bool int_is_null_false= 0; static my_bool int_is_null_false= 0;
...@@ -2630,6 +2710,11 @@ my_bool STDCALL mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND * bind) ...@@ -2630,6 +2710,11 @@ my_bool STDCALL mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND * bind)
case MYSQL_TYPE_VAR_STRING: case MYSQL_TYPE_VAR_STRING:
case MYSQL_TYPE_STRING: case MYSQL_TYPE_STRING:
param->store_param_func= store_param_str; param->store_param_func= store_param_str;
/*
For variable length types we expect user to set
length or buffer_length. Otherwise mysql_stmt_execute
will just fail.
*/
break; break;
default: default:
strmov(stmt->sqlstate, unknown_sqlstate); strmov(stmt->sqlstate, unknown_sqlstate);
...@@ -2671,7 +2756,6 @@ my_bool STDCALL mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND * bind) ...@@ -2671,7 +2756,6 @@ my_bool STDCALL mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND * bind)
1 error 1 error
*/ */
my_bool STDCALL my_bool STDCALL
mysql_stmt_send_long_data(MYSQL_STMT *stmt, uint param_number, mysql_stmt_send_long_data(MYSQL_STMT *stmt, uint param_number,
const char *data, ulong length) const char *data, ulong length)
...@@ -2769,6 +2853,7 @@ static uint read_binary_time(MYSQL_TIME *tm, uchar **pos) ...@@ -2769,6 +2853,7 @@ static uint read_binary_time(MYSQL_TIME *tm, uchar **pos)
uchar *to; uchar *to;
uint length; uint length;
/* net_field_length will set pos to the first byte of data */
if (!(length= net_field_length(pos))) if (!(length= net_field_length(pos)))
{ {
set_zero_time(tm); set_zero_time(tm);
......
...@@ -131,3 +131,4 @@ EXPORTS ...@@ -131,3 +131,4 @@ EXPORTS
mysql_stmt_insert_id mysql_stmt_insert_id
mysql_stmt_attr_get mysql_stmt_attr_get
mysql_stmt_attr_set mysql_stmt_attr_set
mysql_stmt_field_count
...@@ -210,7 +210,13 @@ static ulong get_param_length(uchar **packet, ulong len) ...@@ -210,7 +210,13 @@ static ulong get_param_length(uchar **packet, ulong len)
if (len < 5) if (len < 5)
return 0; return 0;
(*packet)+=9; // Must be 254 when here (*packet)+=9; // Must be 254 when here
/* TODO: why uint4korr here? (should be uint8korr) */ /*
In our client-server protocol all numbers bigger than 2^24
stored as 8 bytes with uint8korr. Here we always know that
parameter length is less than 2^4 so don't look at the second
4 bytes. But still we need to obey the protocol hence 9 in the
assignment above.
*/
return (ulong) uint4korr(pos+1); return (ulong) uint4korr(pos+1);
} }
#else #else
......
...@@ -19,12 +19,6 @@ ...@@ -19,12 +19,6 @@
protocol protocol
Main author: venu ( venu@mysql.com ) Main author: venu ( venu@mysql.com )
NOTES:
- To be able to test which fields are used, we are not clearing
the MYSQL_BIND with bzero() but instead just clearing the fields that
are used by the API.
***************************************************************************/ ***************************************************************************/
#include <my_global.h> #include <my_global.h>
...@@ -790,17 +784,11 @@ static void test_tran_bdb() ...@@ -790,17 +784,11 @@ static void test_tran_bdb()
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
/* create the table 'mytran_demo' of type BDB' or 'InnoDB' */ /* create the table 'mytran_demo' of type BDB' or 'InnoDB' */
rc= mysql_query(mysql, "CREATE TABLE my_demo_transaction( " rc= mysql_query(mysql, "CREATE TABLE my_demo_transaction( "
"col1 int , col2 varchar(30)) TYPE= BDB"); "col1 int , col2 varchar(30)) TYPE= BDB");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
/* insert a row and commit the transaction */ /* insert a row and commit the transaction */
rc= mysql_query(mysql, "INSERT INTO my_demo_transaction VALUES(10, 'venu')"); rc= mysql_query(mysql, "INSERT INTO my_demo_transaction VALUES(10, 'venu')");
myquery(rc); myquery(rc);
...@@ -869,17 +857,11 @@ static void test_tran_innodb() ...@@ -869,17 +857,11 @@ static void test_tran_innodb()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS my_demo_transaction"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS my_demo_transaction");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
/* create the table 'mytran_demo' of type BDB' or 'InnoDB' */ /* create the table 'mytran_demo' of type BDB' or 'InnoDB' */
rc= mysql_query(mysql, "CREATE TABLE my_demo_transaction(col1 int, " rc= mysql_query(mysql, "CREATE TABLE my_demo_transaction(col1 int, "
"col2 varchar(30)) TYPE= InnoDB"); "col2 varchar(30)) TYPE= InnoDB");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
/* insert a row and commit the transaction */ /* insert a row and commit the transaction */
rc= mysql_query(mysql, "INSERT INTO my_demo_transaction VALUES(10, 'venu')"); rc= mysql_query(mysql, "INSERT INTO my_demo_transaction VALUES(10, 'venu')");
myquery(rc); myquery(rc);
...@@ -943,9 +925,6 @@ static void test_prepare_simple() ...@@ -943,9 +925,6 @@ static void test_prepare_simple()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_simple"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_simple");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_prepare_simple(" rc= mysql_query(mysql, "CREATE TABLE test_prepare_simple("
"id int, name varchar(50))"); "id int, name varchar(50))");
myquery(rc); myquery(rc);
...@@ -1014,9 +993,6 @@ static void test_prepare_field_result() ...@@ -1014,9 +993,6 @@ static void test_prepare_field_result()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_field_result"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_field_result");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_prepare_field_result(int_c int, " rc= mysql_query(mysql, "CREATE TABLE test_prepare_field_result(int_c int, "
"var_c varchar(50), ts_c timestamp(14), " "var_c varchar(50), ts_c timestamp(14), "
"char_c char(3), date_c date, extra tinyint)"); "char_c char(3), date_c date, extra tinyint)");
...@@ -1065,9 +1041,6 @@ static void test_prepare_syntax() ...@@ -1065,9 +1041,6 @@ static void test_prepare_syntax()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_syntax"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_syntax");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_prepare_syntax(" rc= mysql_query(mysql, "CREATE TABLE test_prepare_syntax("
"id int, name varchar(50), extra int)"); "id int, name varchar(50), extra int)");
myquery(rc); myquery(rc);
...@@ -1111,9 +1084,6 @@ static void test_prepare() ...@@ -1111,9 +1084,6 @@ static void test_prepare()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS my_prepare"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS my_prepare");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE my_prepare(col1 tinyint, " rc= mysql_query(mysql, "CREATE TABLE my_prepare(col1 tinyint, "
"col2 varchar(15), col3 int, " "col2 varchar(15), col3 int, "
"col4 smallint, col5 bigint, " "col4 smallint, col5 bigint, "
...@@ -1283,9 +1253,6 @@ static void test_double_compare() ...@@ -1283,9 +1253,6 @@ static void test_double_compare()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_double_compare"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_double_compare");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_double_compare(col1 tinyint, " rc= mysql_query(mysql, "CREATE TABLE test_double_compare(col1 tinyint, "
" col2 float, col3 double )"); " col2 float, col3 double )");
myquery(rc); myquery(rc);
...@@ -1364,9 +1331,6 @@ static void test_null() ...@@ -1364,9 +1331,6 @@ static void test_null()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_null"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_null");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_null(col1 int, col2 varchar(50))"); rc= mysql_query(mysql, "CREATE TABLE test_null(col1 int, col2 varchar(50))");
myquery(rc); myquery(rc);
...@@ -1543,9 +1507,6 @@ static void test_fetch_null() ...@@ -1543,9 +1507,6 @@ static void test_fetch_null()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_fetch_null"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_fetch_null");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_fetch_null(" rc= mysql_query(mysql, "CREATE TABLE test_fetch_null("
" col1 tinyint, col2 smallint, " " col1 tinyint, col2 smallint, "
" col3 int, col4 bigint, " " col3 int, col4 bigint, "
...@@ -1556,9 +1517,6 @@ static void test_fetch_null() ...@@ -1556,9 +1517,6 @@ static void test_fetch_null()
" col11 char(20))"); " col11 char(20))");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "INSERT INTO test_fetch_null (col11) " rc= mysql_query(mysql, "INSERT INTO test_fetch_null (col11) "
"VALUES (1000), (88), (389789)"); "VALUES (1000), (88), (389789)");
myquery(rc); myquery(rc);
...@@ -1670,18 +1628,12 @@ static void test_select_direct() ...@@ -1670,18 +1628,12 @@ static void test_select_direct()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_select"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_select");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_select(id int, id1 tinyint, " rc= mysql_query(mysql, "CREATE TABLE test_select(id int, id1 tinyint, "
" id2 float, " " id2 float, "
" id3 double, " " id3 double, "
" name varchar(50))"); " name varchar(50))");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
/* insert a row and commit the transaction */ /* insert a row and commit the transaction */
rc= mysql_query(mysql, "INSERT INTO test_select VALUES(10, 5, 2.3, 4.5, 'venu')"); rc= mysql_query(mysql, "INSERT INTO test_select VALUES(10, 5, 2.3, 4.5, 'venu')");
myquery(rc); myquery(rc);
...@@ -1716,15 +1668,9 @@ static void test_select_prepare() ...@@ -1716,15 +1668,9 @@ static void test_select_prepare()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_select"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_select");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_select(id int, name varchar(50))"); rc= mysql_query(mysql, "CREATE TABLE test_select(id int, name varchar(50))");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
/* insert a row and commit the transaction */ /* insert a row and commit the transaction */
rc= mysql_query(mysql, "INSERT INTO test_select VALUES(10, 'venu')"); rc= mysql_query(mysql, "INSERT INTO test_select VALUES(10, 'venu')");
myquery(rc); myquery(rc);
...@@ -1744,17 +1690,11 @@ static void test_select_prepare() ...@@ -1744,17 +1690,11 @@ static void test_select_prepare()
rc= mysql_query(mysql, "DROP TABLE test_select"); rc= mysql_query(mysql, "DROP TABLE test_select");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_select(id tinyint, id1 int, " rc= mysql_query(mysql, "CREATE TABLE test_select(id tinyint, id1 int, "
" id2 float, id3 float, " " id2 float, id3 float, "
" name varchar(50))"); " name varchar(50))");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
/* insert a row and commit the transaction */ /* insert a row and commit the transaction */
rc= mysql_query(mysql, "INSERT INTO test_select(id, id1, id2, name) VALUES(10, 5, 2.3, 'venu')"); rc= mysql_query(mysql, "INSERT INTO test_select(id, id1, id2, name) VALUES(10, 5, 2.3, 'venu')");
myquery(rc); myquery(rc);
...@@ -1792,22 +1732,13 @@ static void test_select() ...@@ -1792,22 +1732,13 @@ static void test_select()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_select"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_select");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_select(id int, name varchar(50))"); rc= mysql_query(mysql, "CREATE TABLE test_select(id int, name varchar(50))");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
/* insert a row and commit the transaction */ /* insert a row and commit the transaction */
rc= mysql_query(mysql, "INSERT INTO test_select VALUES(10, 'venu')"); rc= mysql_query(mysql, "INSERT INTO test_select VALUES(10, 'venu')");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
/* now insert the second row, and rollback the transaction */ /* now insert the second row, and rollback the transaction */
rc= mysql_query(mysql, "INSERT INTO test_select VALUES(20, 'mysql')"); rc= mysql_query(mysql, "INSERT INTO test_select VALUES(20, 'mysql')");
myquery(rc); myquery(rc);
...@@ -2282,16 +2213,10 @@ static void test_simple_update() ...@@ -2282,16 +2213,10 @@ static void test_simple_update()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_update"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_update");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_update(col1 int, " rc= mysql_query(mysql, "CREATE TABLE test_update(col1 int, "
" col2 varchar(50), col3 int )"); " col2 varchar(50), col3 int )");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "INSERT INTO test_update VALUES(1, 'MySQL', 100)"); rc= mysql_query(mysql, "INSERT INTO test_update VALUES(1, 'MySQL', 100)");
myquery(rc); myquery(rc);
...@@ -2364,16 +2289,10 @@ static void test_long_data() ...@@ -2364,16 +2289,10 @@ static void test_long_data()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_long_data"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_long_data");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_long_data(col1 int, " rc= mysql_query(mysql, "CREATE TABLE test_long_data(col1 int, "
" col2 long varchar, col3 long varbinary)"); " col2 long varchar, col3 long varbinary)");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
strmov(query, "INSERT INTO test_long_data(col1, col2) VALUES(?)"); strmov(query, "INSERT INTO test_long_data(col1, col2) VALUES(?)");
stmt= mysql_simple_prepare(mysql, query); stmt= mysql_simple_prepare(mysql, query);
check_stmt_r(stmt); check_stmt_r(stmt);
...@@ -2454,15 +2373,9 @@ static void test_long_data_str() ...@@ -2454,15 +2373,9 @@ static void test_long_data_str()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_long_data_str"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_long_data_str");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_long_data_str(id int, longstr long varchar)"); rc= mysql_query(mysql, "CREATE TABLE test_long_data_str(id int, longstr long varchar)");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
strmov(query, "INSERT INTO test_long_data_str VALUES(?, ?)"); strmov(query, "INSERT INTO test_long_data_str VALUES(?, ?)");
stmt= mysql_simple_prepare(mysql, query); stmt= mysql_simple_prepare(mysql, query);
check_stmt(stmt); check_stmt(stmt);
...@@ -2550,15 +2463,9 @@ static void test_long_data_str1() ...@@ -2550,15 +2463,9 @@ static void test_long_data_str1()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_long_data_str"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_long_data_str");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_long_data_str(longstr long varchar, blb long varbinary)"); rc= mysql_query(mysql, "CREATE TABLE test_long_data_str(longstr long varchar, blb long varbinary)");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
strmov(query, "INSERT INTO test_long_data_str VALUES(?, ?)"); strmov(query, "INSERT INTO test_long_data_str VALUES(?, ?)");
stmt= mysql_simple_prepare(mysql, query); stmt= mysql_simple_prepare(mysql, query);
check_stmt(stmt); check_stmt(stmt);
...@@ -2707,15 +2614,9 @@ static void test_long_data_bin() ...@@ -2707,15 +2614,9 @@ static void test_long_data_bin()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_long_data_bin"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_long_data_bin");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_long_data_bin(id int, longbin long varbinary)"); rc= mysql_query(mysql, "CREATE TABLE test_long_data_bin(id int, longbin long varbinary)");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
strmov(query, "INSERT INTO test_long_data_bin VALUES(?, ?)"); strmov(query, "INSERT INTO test_long_data_bin VALUES(?, ?)");
stmt= mysql_simple_prepare(mysql, query); stmt= mysql_simple_prepare(mysql, query);
check_stmt(stmt); check_stmt(stmt);
...@@ -2789,16 +2690,10 @@ static void test_simple_delete() ...@@ -2789,16 +2690,10 @@ static void test_simple_delete()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_simple_delete"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_simple_delete");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_simple_delete(col1 int, \ rc= mysql_query(mysql, "CREATE TABLE test_simple_delete(col1 int, \
col2 varchar(50), col3 int )"); col2 varchar(50), col3 int )");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "INSERT INTO test_simple_delete VALUES(1, 'MySQL', 100)"); rc= mysql_query(mysql, "INSERT INTO test_simple_delete VALUES(1, 'MySQL', 100)");
myquery(rc); myquery(rc);
...@@ -2875,14 +2770,9 @@ static void test_update() ...@@ -2875,14 +2770,9 @@ static void test_update()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_update"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_update");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql); rc= mysql_query(mysql, "CREATE TABLE test_update("
myquery(rc); "col1 int primary key auto_increment, "
"col2 varchar(50), col3 int )");
rc= mysql_query(mysql, "CREATE TABLE test_update(col1 int primary key auto_increment, \
col2 varchar(50), col3 int )");
myquery(rc);
rc= mysql_commit(mysql);
myquery(rc); myquery(rc);
strmov(query, "INSERT INTO test_update(col2, col3) VALUES(?, ?)"); strmov(query, "INSERT INTO test_update(col2, col3) VALUES(?, ?)");
...@@ -2972,13 +2862,10 @@ static void test_prepare_noparam() ...@@ -2972,13 +2862,10 @@ static void test_prepare_noparam()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS my_prepare"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS my_prepare");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE my_prepare(col1 int , col2 varchar(50))"); rc= mysql_query(mysql, "CREATE TABLE my_prepare(col1 int, col2 varchar(50))");
myquery(rc); myquery(rc);
/* 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_simple_prepare(mysql, query); stmt= mysql_simple_prepare(mysql, query);
...@@ -3025,15 +2912,9 @@ static void test_bind_result() ...@@ -3025,15 +2912,9 @@ static void test_bind_result()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_result"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_result");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_bind_result(col1 int , col2 varchar(50))"); rc= mysql_query(mysql, "CREATE TABLE test_bind_result(col1 int , col2 varchar(50))");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "INSERT INTO test_bind_result VALUES(10, 'venu')"); rc= mysql_query(mysql, "INSERT INTO test_bind_result VALUES(10, 'venu')");
myquery(rc); myquery(rc);
...@@ -3124,22 +3005,17 @@ static void test_bind_result_ext() ...@@ -3124,22 +3005,17 @@ static void test_bind_result_ext()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_result"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_result");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql); rc= mysql_query(mysql, "CREATE TABLE test_bind_result(c1 tinyint, "
myquery(rc); " c2 smallint, "
" c3 int, c4 bigint, "
rc= mysql_query(mysql, "CREATE TABLE test_bind_result(c1 tinyint, c2 smallint, \ " c5 float, c6 double, "
c3 int, c4 bigint, \ " c7 varbinary(10), "
c5 float, c6 double, \ " c8 varchar(50))");
c7 varbinary(10), \
c8 varchar(50))");
myquery(rc);
rc= mysql_commit(mysql);
myquery(rc); myquery(rc);
rc= mysql_query(mysql, "INSERT INTO test_bind_result VALUES(19, 2999, 3999, 4999999, \ rc= mysql_query(mysql, "INSERT INTO test_bind_result "
2345.6, 5678.89563, \ "VALUES (19, 2999, 3999, 4999999, "
'venu', 'mysql')"); " 2345.6, 5678.89563, 'venu', 'mysql')");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql); rc= mysql_commit(mysql);
...@@ -3246,9 +3122,6 @@ static void test_bind_result_ext1() ...@@ -3246,9 +3122,6 @@ static void test_bind_result_ext1()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_result"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_result");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_bind_result(c1 tinyint, c2 smallint, \ rc= mysql_query(mysql, "CREATE TABLE test_bind_result(c1 tinyint, c2 smallint, \
c3 int, c4 bigint, \ c3 int, c4 bigint, \
c5 float, c6 double, \ c5 float, c6 double, \
...@@ -3256,9 +3129,6 @@ static void test_bind_result_ext1() ...@@ -3256,9 +3129,6 @@ static void test_bind_result_ext1()
c8 varchar(10))"); c8 varchar(10))");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "INSERT INTO test_bind_result VALUES(120, 2999, 3999, 54, \ rc= mysql_query(mysql, "INSERT INTO test_bind_result VALUES(120, 2999, 3999, 54, \
2.6, 58.89, \ 2.6, 58.89, \
'206', '6.7')"); '206', '6.7')");
...@@ -3505,9 +3375,6 @@ static void test_fetch_date() ...@@ -3505,9 +3375,6 @@ static void test_fetch_date()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_result"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_result");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_bind_result(c1 date, c2 time, \ rc= mysql_query(mysql, "CREATE TABLE test_bind_result(c1 date, c2 time, \
c3 timestamp(14), \ c3 timestamp(14), \
c4 year, \ c4 year, \
...@@ -3516,9 +3383,6 @@ static void test_fetch_date() ...@@ -3516,9 +3383,6 @@ static void test_fetch_date()
c7 timestamp(6))"); c7 timestamp(6))");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "INSERT INTO test_bind_result VALUES('2002-01-02', \ rc= mysql_query(mysql, "INSERT INTO test_bind_result VALUES('2002-01-02', \
'12:49:00', \ '12:49:00', \
'2002-01-02 17:46:59', \ '2002-01-02 17:46:59', \
...@@ -3632,9 +3496,6 @@ static void test_fetch_str() ...@@ -3632,9 +3496,6 @@ static void test_fetch_str()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_bind_fetch(c1 char(10), \ rc= mysql_query(mysql, "CREATE TABLE test_bind_fetch(c1 char(10), \
c2 char(10), \ c2 char(10), \
c3 char(20), \ c3 char(20), \
...@@ -3644,9 +3505,6 @@ static void test_fetch_str() ...@@ -3644,9 +3505,6 @@ static void test_fetch_str()
c7 char(20))"); c7 char(20))");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
bind_fetch(3); bind_fetch(3);
} }
...@@ -3662,9 +3520,6 @@ static void test_fetch_long() ...@@ -3662,9 +3520,6 @@ static void test_fetch_long()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_bind_fetch(c1 int unsigned, \ rc= mysql_query(mysql, "CREATE TABLE test_bind_fetch(c1 int unsigned, \
c2 int unsigned, \ c2 int unsigned, \
c3 int, \ c3 int, \
...@@ -3674,9 +3529,6 @@ static void test_fetch_long() ...@@ -3674,9 +3529,6 @@ static void test_fetch_long()
c7 int)"); c7 int)");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
bind_fetch(4); bind_fetch(4);
} }
...@@ -3692,9 +3544,6 @@ static void test_fetch_short() ...@@ -3692,9 +3544,6 @@ static void test_fetch_short()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_bind_fetch(c1 smallint unsigned, \ rc= mysql_query(mysql, "CREATE TABLE test_bind_fetch(c1 smallint unsigned, \
c2 smallint, \ c2 smallint, \
c3 smallint unsigned, \ c3 smallint unsigned, \
...@@ -3704,9 +3553,6 @@ static void test_fetch_short() ...@@ -3704,9 +3553,6 @@ static void test_fetch_short()
c7 smallint unsigned)"); c7 smallint unsigned)");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
bind_fetch(5); bind_fetch(5);
} }
...@@ -3722,9 +3568,6 @@ static void test_fetch_tiny() ...@@ -3722,9 +3568,6 @@ static void test_fetch_tiny()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_bind_fetch(c1 tinyint unsigned, \ rc= mysql_query(mysql, "CREATE TABLE test_bind_fetch(c1 tinyint unsigned, \
c2 tinyint, \ c2 tinyint, \
c3 tinyint unsigned, \ c3 tinyint unsigned, \
...@@ -3734,9 +3577,6 @@ static void test_fetch_tiny() ...@@ -3734,9 +3577,6 @@ static void test_fetch_tiny()
c7 tinyint unsigned)"); c7 tinyint unsigned)");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
bind_fetch(3); bind_fetch(3);
} }
...@@ -3753,9 +3593,6 @@ static void test_fetch_bigint() ...@@ -3753,9 +3593,6 @@ static void test_fetch_bigint()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_bind_fetch(c1 bigint, \ rc= mysql_query(mysql, "CREATE TABLE test_bind_fetch(c1 bigint, \
c2 bigint, \ c2 bigint, \
c3 bigint unsigned, \ c3 bigint unsigned, \
...@@ -3765,9 +3602,6 @@ static void test_fetch_bigint() ...@@ -3765,9 +3602,6 @@ static void test_fetch_bigint()
c7 bigint unsigned)"); c7 bigint unsigned)");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
bind_fetch(2); bind_fetch(2);
} }
...@@ -3784,9 +3618,6 @@ static void test_fetch_float() ...@@ -3784,9 +3618,6 @@ static void test_fetch_float()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_bind_fetch(c1 float(3), \ rc= mysql_query(mysql, "CREATE TABLE test_bind_fetch(c1 float(3), \
c2 float, \ c2 float, \
c3 float unsigned, \ c3 float unsigned, \
...@@ -3796,9 +3627,6 @@ static void test_fetch_float() ...@@ -3796,9 +3627,6 @@ static void test_fetch_float()
c7 float(10) unsigned)"); c7 float(10) unsigned)");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
bind_fetch(2); bind_fetch(2);
} }
...@@ -3815,18 +3643,12 @@ static void test_fetch_double() ...@@ -3815,18 +3643,12 @@ static void test_fetch_double()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_bind_fetch(c1 double(5, 2), " rc= mysql_query(mysql, "CREATE TABLE test_bind_fetch(c1 double(5, 2), "
"c2 double unsigned, c3 double unsigned, " "c2 double unsigned, c3 double unsigned, "
"c4 double unsigned, c5 double unsigned, " "c4 double unsigned, c5 double unsigned, "
"c6 double unsigned, c7 double unsigned)"); "c6 double unsigned, c7 double unsigned)");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
bind_fetch(3); bind_fetch(3);
} }
...@@ -3849,9 +3671,6 @@ static void test_prepare_ext() ...@@ -3849,9 +3671,6 @@ static void test_prepare_ext()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_ext"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_ext");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
sql= (char *)"CREATE TABLE test_prepare_ext\ sql= (char *)"CREATE TABLE test_prepare_ext\
(\ (\
c1 tinyint, \ c1 tinyint, \
...@@ -3969,18 +3788,12 @@ static void test_field_names() ...@@ -3969,18 +3788,12 @@ static void test_field_names()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_field_names2"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_field_names2");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_field_names1(id int, name varchar(50))"); rc= mysql_query(mysql, "CREATE TABLE test_field_names1(id int, name varchar(50))");
myquery(rc); myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_field_names2(id int, name varchar(50))"); rc= mysql_query(mysql, "CREATE TABLE test_field_names2(id int, name varchar(50))");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
/* with table name included with TRUE column name */ /* with table name included with TRUE column name */
rc= mysql_query(mysql, "SELECT id as 'id-alias' FROM test_field_names1"); rc= mysql_query(mysql, "SELECT id as 'id-alias' FROM test_field_names1");
myquery(rc); myquery(rc);
...@@ -4074,9 +3887,6 @@ static void test_insert() ...@@ -4074,9 +3887,6 @@ static void test_insert()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prep_insert"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prep_insert");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_prep_insert(col1 tinyint, \ rc= mysql_query(mysql, "CREATE TABLE test_prep_insert(col1 tinyint, \
col2 varchar(50))"); col2 varchar(50))");
myquery(rc); myquery(rc);
...@@ -4151,9 +3961,6 @@ static void test_prepare_resultset() ...@@ -4151,9 +3961,6 @@ static void test_prepare_resultset()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_resultset"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_resultset");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_prepare_resultset(id int, \ rc= mysql_query(mysql, "CREATE TABLE test_prepare_resultset(id int, \
name varchar(50), extra double)"); name varchar(50), extra double)");
myquery(rc); myquery(rc);
...@@ -4186,9 +3993,6 @@ static void test_field_flags() ...@@ -4186,9 +3993,6 @@ static void test_field_flags()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_field_flags"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_field_flags");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_field_flags(id int NOT NULL AUTO_INCREMENT PRIMARY KEY, \ rc= mysql_query(mysql, "CREATE TABLE test_field_flags(id int NOT NULL AUTO_INCREMENT PRIMARY KEY, \
id1 int NOT NULL, \ id1 int NOT NULL, \
id2 int UNIQUE, \ id2 int UNIQUE, \
...@@ -4198,9 +4002,6 @@ static void test_field_flags() ...@@ -4198,9 +4002,6 @@ static void test_field_flags()
KEY(id3, id4))"); KEY(id3, id4))");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
/* with table name included with TRUE column name */ /* with table name included with TRUE column name */
rc= mysql_query(mysql, "SELECT * FROM test_field_flags"); rc= mysql_query(mysql, "SELECT * FROM test_field_flags");
myquery(rc); myquery(rc);
...@@ -4462,9 +4263,6 @@ static void test_insert_meta() ...@@ -4462,9 +4263,6 @@ static void test_insert_meta()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prep_insert"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prep_insert");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_prep_insert(col1 tinyint, \ rc= mysql_query(mysql, "CREATE TABLE test_prep_insert(col1 tinyint, \
col2 varchar(50), col3 varchar(30))"); col2 varchar(50), col3 varchar(30))");
myquery(rc); myquery(rc);
...@@ -4527,9 +4325,6 @@ static void test_update_meta() ...@@ -4527,9 +4325,6 @@ static void test_update_meta()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prep_update"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prep_update");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_prep_update(col1 tinyint, \ rc= mysql_query(mysql, "CREATE TABLE test_prep_update(col1 tinyint, \
col2 varchar(50), col3 varchar(30))"); col2 varchar(50), col3 varchar(30))");
myquery(rc); myquery(rc);
...@@ -4596,9 +4391,6 @@ static void test_select_meta() ...@@ -4596,9 +4391,6 @@ static void test_select_meta()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prep_select"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prep_select");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_prep_select(col1 tinyint, \ rc= mysql_query(mysql, "CREATE TABLE test_prep_select(col1 tinyint, \
col2 varchar(50), col3 varchar(30))"); col2 varchar(50), col3 varchar(30))");
myquery(rc); myquery(rc);
...@@ -4663,9 +4455,6 @@ static void test_func_fields() ...@@ -4663,9 +4455,6 @@ static void test_func_fields()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_dateformat"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_dateformat");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_dateformat(id int, \ rc= mysql_query(mysql, "CREATE TABLE test_dateformat(id int, \
ts timestamp)"); ts timestamp)");
myquery(rc); myquery(rc);
...@@ -5241,15 +5030,9 @@ static void test_store_result() ...@@ -5241,15 +5030,9 @@ static void test_store_result()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_store_result"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_store_result");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_store_result(col1 int , col2 varchar(50))"); rc= mysql_query(mysql, "CREATE TABLE test_store_result(col1 int , col2 varchar(50))");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "INSERT INTO test_store_result VALUES(10, 'venu'), (20, 'mysql')"); rc= mysql_query(mysql, "INSERT INTO test_store_result VALUES(10, 'venu'), (20, 'mysql')");
myquery(rc); myquery(rc);
...@@ -5365,15 +5148,9 @@ static void test_store_result1() ...@@ -5365,15 +5148,9 @@ static void test_store_result1()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_store_result"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_store_result");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_store_result(col1 int , col2 varchar(50))"); rc= mysql_query(mysql, "CREATE TABLE test_store_result(col1 int , col2 varchar(50))");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "INSERT INTO test_store_result VALUES(10, 'venu'), (20, 'mysql')"); rc= mysql_query(mysql, "INSERT INTO test_store_result VALUES(10, 'venu'), (20, 'mysql')");
myquery(rc); myquery(rc);
...@@ -5429,15 +5206,9 @@ static void test_store_result2() ...@@ -5429,15 +5206,9 @@ static void test_store_result2()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_store_result"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_store_result");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_store_result(col1 int , col2 varchar(50))"); rc= mysql_query(mysql, "CREATE TABLE test_store_result(col1 int , col2 varchar(50))");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "INSERT INTO test_store_result VALUES(10, 'venu'), (20, 'mysql')"); rc= mysql_query(mysql, "INSERT INTO test_store_result VALUES(10, 'venu'), (20, 'mysql')");
myquery(rc); myquery(rc);
...@@ -5522,18 +5293,12 @@ static void test_subselect() ...@@ -5522,18 +5293,12 @@ static void test_subselect()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_sub2"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_sub2");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_sub1(id int)"); rc= mysql_query(mysql, "CREATE TABLE test_sub1(id int)");
myquery(rc); myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_sub2(id int, id1 int)"); rc= mysql_query(mysql, "CREATE TABLE test_sub2(id int, id1 int)");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "INSERT INTO test_sub1 values(2)"); rc= mysql_query(mysql, "INSERT INTO test_sub1 values(2)");
myquery(rc); myquery(rc);
...@@ -5777,9 +5542,6 @@ static void test_date() ...@@ -5777,9 +5542,6 @@ static void test_date()
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
test_bind_date_conv(5); test_bind_date_conv(5);
} }
...@@ -5802,9 +5564,6 @@ static void test_date_date() ...@@ -5802,9 +5564,6 @@ static void test_date_date()
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
test_bind_date_conv(3); test_bind_date_conv(3);
} }
...@@ -5827,9 +5586,6 @@ static void test_date_time() ...@@ -5827,9 +5586,6 @@ static void test_date_time()
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
test_bind_date_conv(3); test_bind_date_conv(3);
} }
...@@ -5852,9 +5608,6 @@ static void test_date_ts() ...@@ -5852,9 +5608,6 @@ static void test_date_ts()
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
test_bind_date_conv(2); test_bind_date_conv(2);
} }
...@@ -5874,9 +5627,6 @@ static void test_date_dt() ...@@ -5874,9 +5627,6 @@ static void test_date_dt()
" c2 datetime, c3 datetime, c4 date)"); " c2 datetime, c3 datetime, c4 date)");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
test_bind_date_conv(2); test_bind_date_conv(2);
} }
...@@ -5961,7 +5711,6 @@ static void test_pure_coverage() ...@@ -5961,7 +5711,6 @@ static void test_pure_coverage()
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
mysql_query(mysql, "DROP TABLE test_pure"); mysql_query(mysql, "DROP TABLE test_pure");
mysql_commit(mysql);
} }
...@@ -6535,6 +6284,7 @@ static void test_field_misc() ...@@ -6535,6 +6284,7 @@ static void test_field_misc()
result= mysql_stmt_result_metadata(stmt); result= mysql_stmt_result_metadata(stmt);
mytest(result); mytest(result);
assert(mysql_stmt_field_count(stmt) == mysql_num_fields(result));
rc= mysql_stmt_execute(stmt); rc= mysql_stmt_execute(stmt);
check_execute(stmt, rc); check_execute(stmt, rc);
...@@ -8052,9 +7802,6 @@ static void test_sqlmode() ...@@ -8052,9 +7802,6 @@ static void test_sqlmode()
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_piping"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_piping");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
rc= mysql_query(mysql, "CREATE TABLE test_piping(name varchar(10))"); rc= mysql_query(mysql, "CREATE TABLE test_piping(name varchar(10))");
myquery(rc); myquery(rc);
...@@ -8189,9 +7936,6 @@ static void test_ts() ...@@ -8189,9 +7936,6 @@ static void test_ts()
rc= mysql_query(mysql, "CREATE TABLE test_ts(a DATE, b TIME, c TIMESTAMP)"); rc= mysql_query(mysql, "CREATE TABLE test_ts(a DATE, b TIME, c TIMESTAMP)");
myquery(rc); myquery(rc);
rc= mysql_commit(mysql);
myquery(rc);
stmt= mysql_simple_prepare(mysql, "INSERT INTO test_ts VALUES(?, ?, ?), (?, ?, ?)"); stmt= mysql_simple_prepare(mysql, "INSERT INTO test_ts VALUES(?, ?, ?), (?, ?, ?)");
check_stmt(stmt); check_stmt(stmt);
......
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