1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Simplification: MYSQL_RES *result replaced with MYSQL_DATA result;

No need to check for result existence any more, store_result functions
now are shorter.
cli_read_binary_rows rewritten to handle MYSQL_DATA directly.


include/mysql.h:
  MYSQL_RES * pointer replaced with MYSQL_DATA: it saves us at least 2 mallocs
  per store_result and simplifies stored result handling.
  Plus it's done with cursor fetch in mind: cursor fetch will use this
  structure to buffer fetched rows.
libmysql/client_settings.h:
  signature of cli_read_binary_rows changed
libmysql/libmysql.c:
  MYSQL_DATA is now used to handle result.
  cli_read_binary_rows rewritten to use MYSQL_DATA directly.
libmysql/libmysql.def:
  declarations of new calls in the library
libmysqld/lib_sql.cc:
  MYSQL_DATA is now used to handle result.
  cli_read_binary_rows rewritten to use MYSQL_DATA directly.
This commit is contained in:
unknown
2004-03-28 17:22:04 +04:00
parent 76385f32b6
commit 7e5cd91057
5 changed files with 91 additions and 115 deletions

View File

@@ -200,9 +200,14 @@ static int emb_stmt_execute(MYSQL_STMT *stmt)
DBUG_RETURN(0);
}
MYSQL_DATA *emb_read_binary_rows(MYSQL_STMT *stmt)
int emb_read_binary_rows(MYSQL_STMT *stmt)
{
return emb_read_rows(stmt->mysql, 0, 0);
MYSQL_DATA *data;
if (!(data= emb_read_rows(stmt->mysql, 0, 0)))
return 1;
stmt->result= *data;
my_free((char *) data, MYF(0));
return 0;
}
int emb_unbuffered_fetch(MYSQL *mysql, char **row)