Merge venu@bk-internal.mysql.com:/home/bk/mysql-4.1
into myvenu.com:/home/venu/work/sql/dev-4.1
This commit is contained in:
commit
c11b418db6
@ -566,6 +566,7 @@ unsigned long STDCALL mysql_param_count(MYSQL_STMT * stmt);
|
|||||||
my_bool STDCALL mysql_bind_param(MYSQL_STMT * stmt, MYSQL_BIND * bnd);
|
my_bool STDCALL mysql_bind_param(MYSQL_STMT * stmt, MYSQL_BIND * bnd);
|
||||||
my_bool STDCALL mysql_bind_result(MYSQL_STMT * stmt, MYSQL_BIND * bnd);
|
my_bool STDCALL mysql_bind_result(MYSQL_STMT * stmt, MYSQL_BIND * bnd);
|
||||||
my_bool STDCALL mysql_stmt_close(MYSQL_STMT * stmt);
|
my_bool STDCALL mysql_stmt_close(MYSQL_STMT * stmt);
|
||||||
|
my_bool STDCALL mysql_stmt_reset(MYSQL_STMT * stmt);
|
||||||
my_bool STDCALL mysql_stmt_free_result(MYSQL_STMT *stmt);
|
my_bool STDCALL mysql_stmt_free_result(MYSQL_STMT *stmt);
|
||||||
unsigned int STDCALL mysql_stmt_errno(MYSQL_STMT * stmt);
|
unsigned int STDCALL mysql_stmt_errno(MYSQL_STMT * stmt);
|
||||||
const char *STDCALL mysql_stmt_error(MYSQL_STMT * stmt);
|
const char *STDCALL mysql_stmt_error(MYSQL_STMT * stmt);
|
||||||
|
@ -44,6 +44,7 @@ enum enum_server_command
|
|||||||
COM_TIME, COM_DELAYED_INSERT, COM_CHANGE_USER, COM_BINLOG_DUMP,
|
COM_TIME, COM_DELAYED_INSERT, COM_CHANGE_USER, COM_BINLOG_DUMP,
|
||||||
COM_TABLE_DUMP, COM_CONNECT_OUT, COM_REGISTER_SLAVE,
|
COM_TABLE_DUMP, COM_CONNECT_OUT, COM_REGISTER_SLAVE,
|
||||||
COM_PREPARE, COM_EXECUTE, COM_LONG_DATA, COM_CLOSE_STMT,
|
COM_PREPARE, COM_EXECUTE, COM_LONG_DATA, COM_CLOSE_STMT,
|
||||||
|
COM_RESET_STMT,
|
||||||
COM_END /* Must be last */
|
COM_END /* Must be last */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3316,6 +3316,7 @@ mysql_stmt_data_seek(MYSQL_STMT *stmt, my_ulonglong row)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
DBUG_PRINT("exit", ("stmt doesn't contain any resultset"));
|
DBUG_PRINT("exit", ("stmt doesn't contain any resultset"));
|
||||||
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -3421,6 +3422,28 @@ my_bool STDCALL mysql_stmt_close(MYSQL_STMT *stmt)
|
|||||||
return stmt_close(stmt, 0);
|
return stmt_close(stmt, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Reset the statement buffers in server
|
||||||
|
*/
|
||||||
|
|
||||||
|
my_bool STDCALL mysql_stmt_reset(MYSQL_STMT *stmt)
|
||||||
|
{
|
||||||
|
char buff[MYSQL_STMT_HEADER];
|
||||||
|
MYSQL *mysql;
|
||||||
|
DBUG_ENTER("mysql_stmt_reset");
|
||||||
|
DBUG_ASSERT(stmt != 0);
|
||||||
|
|
||||||
|
mysql= stmt->mysql->last_used_con;
|
||||||
|
int4store(buff, stmt->stmt_id); /* Send stmt id to server */
|
||||||
|
if (advanced_command(mysql, COM_RESET_STMT,buff,MYSQL_STMT_HEADER,0,0,1))
|
||||||
|
{
|
||||||
|
set_stmt_errmsg(stmt, mysql->net.last_error, mysql->net.last_errno,
|
||||||
|
mysql->net.sqlstate);
|
||||||
|
DBUG_RETURN(1);
|
||||||
|
}
|
||||||
|
DBUG_RETURN(0);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Return statement error code
|
Return statement error code
|
||||||
*/
|
*/
|
||||||
|
@ -98,6 +98,7 @@ EXPORTS
|
|||||||
mysql_stat
|
mysql_stat
|
||||||
mysql_stmt_affected_rows
|
mysql_stmt_affected_rows
|
||||||
mysql_stmt_close
|
mysql_stmt_close
|
||||||
|
mysql_stmt_reset
|
||||||
mysql_stmt_data_seek
|
mysql_stmt_data_seek
|
||||||
mysql_stmt_errno
|
mysql_stmt_errno
|
||||||
mysql_stmt_error
|
mysql_stmt_error
|
||||||
|
@ -557,6 +557,7 @@ void free_prep_stmt(PREP_STMT *stmt, TREE_FREE mode, void *not_used);
|
|||||||
bool mysql_stmt_prepare(THD *thd, char *packet, uint packet_length);
|
bool mysql_stmt_prepare(THD *thd, char *packet, uint packet_length);
|
||||||
void mysql_stmt_execute(THD *thd, char *packet);
|
void mysql_stmt_execute(THD *thd, char *packet);
|
||||||
void mysql_stmt_free(THD *thd, char *packet);
|
void mysql_stmt_free(THD *thd, char *packet);
|
||||||
|
void mysql_stmt_reset(THD *thd, char *packet);
|
||||||
void mysql_stmt_get_longdata(THD *thd, char *pos, ulong packet_length);
|
void mysql_stmt_get_longdata(THD *thd, char *pos, ulong packet_length);
|
||||||
int check_insert_fields(THD *thd,TABLE *table,List<Item> &fields,
|
int check_insert_fields(THD *thd,TABLE *table,List<Item> &fields,
|
||||||
List<Item> &values, ulong counter);
|
List<Item> &values, ulong counter);
|
||||||
|
@ -1290,6 +1290,11 @@ restore_user:
|
|||||||
mysql_stmt_free(thd, packet);
|
mysql_stmt_free(thd, packet);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case COM_RESET_STMT:
|
||||||
|
{
|
||||||
|
mysql_stmt_reset(thd, packet);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case COM_QUERY:
|
case COM_QUERY:
|
||||||
{
|
{
|
||||||
if (alloc_query(thd, packet, packet_length))
|
if (alloc_query(thd, packet, packet_length))
|
||||||
|
@ -965,7 +965,7 @@ void mysql_stmt_reset(THD *thd, char *packet)
|
|||||||
PREP_STMT *stmt;
|
PREP_STMT *stmt;
|
||||||
DBUG_ENTER("mysql_stmt_reset");
|
DBUG_ENTER("mysql_stmt_reset");
|
||||||
|
|
||||||
if (!(stmt=find_prepared_statement(thd, stmt_id, "close")))
|
if (!(stmt= find_prepared_statement(thd, stmt_id, "reset")))
|
||||||
{
|
{
|
||||||
send_error(thd);
|
send_error(thd);
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user