1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
int STDCALL mysql_read_query_result(MYSQL *mysql)
{
...
...
if ((field_count= net_field_length(&pos)) == 0)
{
mysql->affected_rows= net_field_length_ll(&pos);
...
...
}
...
...
if (!(fields=read_rows(mysql,(MYSQL_FIELD*) 0,5)))
DBUG_RETURN(-1);
...
...
}
...
...
static MYSQL_DATA *read_rows(MYSQL *mysql,MYSQL_FIELD *mysql_fields,
uint fields)
{
...
...
MYSQL_DATA *result;
...
...
if (!(result=(MYSQL_DATA*) my_malloc(sizeof(MYSQL_DATA),
MYF(MY_WME | MY_ZEROFILL))))
...
...
result->rows=0;
...
...
while (*(cp=net->read_pos) != 254 || pkt_len != 1)
{
result->rows++;
...
...
}
...
...
} |