summaryrefslogtreecommitdiff
path: root/sql-common
diff options
context:
space:
mode:
authorunknown <holyfoot@deer.(none)>2006-01-04 14:20:28 +0400
committerunknown <holyfoot@deer.(none)>2006-01-04 14:20:28 +0400
commit6b27acbdf41dd3c990af4627ddaf8fbfcd8eb4e6 (patch)
treebcb306f8c631b6b3153296059aae11b7e290ded7 /sql-common
parent81ca15813bfc482ac98614de41a867e47dde07d3 (diff)
downloadmariadb-git-6b27acbdf41dd3c990af4627ddaf8fbfcd8eb4e6.tar.gz
Big patch to make embedded-server working in 5.x
Now it supports queries returning several results (particularly important with the SP) include/mysql.h: embedded_query_result structure added libmysql/libmysql.c: embedded-server related fixes libmysqld/emb_qcache.cc: multiple-result support added libmysqld/embedded_priv.h: embedded_query_result struct implemented libmysqld/lib_sql.cc: multiple-result support added libmysqld/libmysqld.c: small fixes mysql-test/t/backup.test: test fixed mysql-test/t/binlog_stm_binlog.test: test fixed mysql-test/t/binlog_stm_blackhole.test: test fixed mysql-test/t/binlog_stm_ctype_cp932.test: test fixed mysql-test/t/compress.test: test fixed mysql-test/t/delayed.test: test fixed mysql-test/t/federated.test: test fixed mysql-test/t/federated_archive.test: test fixed mysql-test/t/federated_bug_13118.test: test fixed mysql-test/t/federated_transactions.test: test fixed mysql-test/t/flush_table.test: test fixed mysql-test/t/handler.test: test fixed mysql-test/t/init_connect.test: test fixed mysql-test/t/innodb.test: test fixed mysql-test/t/mysql.test: test fixed mysql-test/t/mysql_client_test.test: test fixed mysql-test/t/mysqltest.test: test fixed mysql-test/t/query_cache.test: test fixed mysql-test/t/query_cache_notembedded.test: test fixed mysql-test/t/read_only.test: test fixed mysql-test/t/skip_grants.test: test fixed mysql-test/t/sp-destruct.test: test fixed mysql-test/t/sp-error.test: test fixed mysql-test/t/sp-threads.test: test fixed mysql-test/t/sp.test: test fixed mysql-test/t/view.test: test fixed mysql-test/t/wait_timeout.test: test fixed sql-common/client.c: small fixes sql/mysqld.cc: embedded-server related fix sql/protocol.cc: embedded-server related fix sql/protocol.h: embedded-server related fix sql/sql_class.cc: embedded-server related fix sql/sql_class.h: embedded-server related fix sql/sql_cursor.cc: embedded-server related fix sql/sql_parse.cc: embedded-server related fix sql/sql_prepare.cc: embedded-server related fix
Diffstat (limited to 'sql-common')
-rw-r--r--sql-common/client.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sql-common/client.c b/sql-common/client.c
index 4c2debd41ff..8e55cf7c2b7 100644
--- a/sql-common/client.c
+++ b/sql-common/client.c
@@ -1545,7 +1545,8 @@ static MYSQL_METHODS client_methods=
NULL,
cli_read_statistics,
cli_read_query_result,
- cli_read_change_user_result
+ cli_read_change_user_result,
+ cli_read_binary_rows
#endif
};
@@ -2339,8 +2340,9 @@ static void mysql_close_free(MYSQL *mysql)
my_free(mysql->user,MYF(MY_ALLOW_ZERO_PTR));
my_free(mysql->passwd,MYF(MY_ALLOW_ZERO_PTR));
my_free(mysql->db,MYF(MY_ALLOW_ZERO_PTR));
+ my_free(mysql->info_buffer,MYF(MY_ALLOW_ZERO_PTR));
/* Clear pointers for better safety */
- mysql->host_info=mysql->user=mysql->passwd=mysql->db=0;
+ mysql->info_buffer=mysql->host_info=mysql->user=mysql->passwd=mysql->db=0;
}
@@ -2476,8 +2478,7 @@ get_info:
if (!(mysql->server_status & SERVER_STATUS_AUTOCOMMIT))
mysql->server_status|= SERVER_STATUS_IN_TRANS;
- if (!(fields=(*mysql->methods->read_rows)(mysql,(MYSQL_FIELD*)0,
- protocol_41(mysql) ? 7 : 5)))
+ if (!(fields=cli_read_rows(mysql,(MYSQL_FIELD*)0, protocol_41(mysql) ? 7:5)))
DBUG_RETURN(1);
if (!(mysql->fields=unpack_fields(fields,&mysql->field_alloc,
(uint) field_count,0,