Fix mysql_info() returning bad data in the results of a multi-statement
query that mixed statements that do and do not return info. (Bug #11688)
This commit is contained in:
parent
aa99bd61c0
commit
078e0c3902
@ -85,3 +85,14 @@ def aaa 1 1 8 20 1 N 32769 0 63
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
create table t1 (i int);
|
||||
insert into t1 values (1),(2),(3);
|
||||
select * from t1 where i = 2;
|
||||
drop table t1;//
|
||||
affected rows: 0
|
||||
affected rows: 3
|
||||
info: Records: 3 Duplicates: 0 Warnings: 0
|
||||
i
|
||||
2
|
||||
affected rows: 1
|
||||
affected rows: 0
|
||||
|
@ -49,4 +49,16 @@ drop table t1;
|
||||
|
||||
--disable_metadata
|
||||
|
||||
#
|
||||
# Bug #11688: Bad mysql_info() results in multi-results
|
||||
#
|
||||
--enable_info
|
||||
delimiter //;
|
||||
create table t1 (i int);
|
||||
insert into t1 values (1),(2),(3);
|
||||
select * from t1 where i = 2;
|
||||
drop table t1;//
|
||||
delimiter ;//
|
||||
--disable_info
|
||||
|
||||
# End of 4.1 tests
|
||||
|
@ -713,8 +713,9 @@ void free_old_query(MYSQL *mysql)
|
||||
if (mysql->fields)
|
||||
free_root(&mysql->field_alloc,MYF(0));
|
||||
init_alloc_root(&mysql->field_alloc,8192,0); /* Assume rowlength < 8192 */
|
||||
mysql->fields=0;
|
||||
mysql->field_count=0; /* For API */
|
||||
mysql->fields= 0;
|
||||
mysql->field_count= 0; /* For API */
|
||||
mysql->info= 0;
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user