From: <da...@br...> - 2002-12-20 06:37:08
|
Update of /home/cvs/libdbi/drivers/mysql In directory backbeat:/tmp/cvs-serv5325/drivers/mysql Modified Files: dbd_mysql.c Log Message: armand's query-info-before-first-fetch patch (sort of... don't need GETTING_ROWS anymore) Index: dbd_mysql.c =================================================================== RCS file: /home/cvs/libdbi/drivers/mysql/dbd_mysql.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- dbd_mysql.c 20 Dec 2002 05:53:07 -0000 1.60 +++ dbd_mysql.c 20 Dec 2002 06:36:34 -0000 1.61 @@ -119,16 +119,11 @@ if (result->result_state == NOTHING_RETURNED) return -1; if (result->result_state == ROWS_RETURNED) { - /* this is the first time we've been here */ - _dbd_result_set_numfields(result, mysql_num_fields((MYSQL_RES *)result->result_handle)); - _get_field_info(result); - result->result_state = GETTING_ROWS; + /* get row here */ + row = _dbd_row_allocate(result->numfields); + _get_row_data(result, row, rownum); + _dbd_row_finalize(result, row, rownum); } - - /* get row here */ - row = _dbd_row_allocate(result->numfields); - _get_row_data(result, row, rownum); - _dbd_row_finalize(result, row, rownum); return 1; /* 0 on error, 1 on successful fetchrow */ } @@ -218,6 +213,9 @@ /* if res is null, the query was something that doesn't return rows (like an INSERT) */ result = _dbd_result_create(conn, (void *)res, (res ? mysql_num_rows(res) : 0), mysql_affected_rows((MYSQL *)conn->connection)); + + _dbd_result_set_numfields(result, mysql_num_fields((MYSQL_RES *)result->result_handle)); + _get_field_info(result); return result; } |