diff options
author | unknown <konstantin@mysql.com> | 2005-07-14 15:27:24 +0400 |
---|---|---|
committer | unknown <konstantin@mysql.com> | 2005-07-14 15:27:24 +0400 |
commit | fd9f67f8d2c7bec5a1547db3c751349f6e64c803 (patch) | |
tree | 688fe5524a95846828b29c134acbcc3a4f7f0e39 /tests | |
parent | 8ba10fa95b23a8d99bd199aff5ba2b4b38d9f9de (diff) | |
download | mariadb-git-fd9f67f8d2c7bec5a1547db3c751349f6e64c803.tar.gz |
Implement MarkM optimization request to avoid redundnat packet exchange
in cursors.
libmysql/libmysql.c:
- reset_stmt_handle(): don't reset the server side just because we have
an open cursor: the server will close the cursor automatically if
needed
sql/sql_prepare.cc:
- implement Prepared_statement::close_cursor,
- implicitly close an open cursor in mysql_stmt_execute instead of
issuing an error (to reduce the need to explicitly close cursors
and save network bandwidth).
- cleanup
sql/sql_select.cc:
Remove a destructor: cursor destruction can not be done by simply
calling a destructor, because of cross-references between cursor
and statement memory.
sql/sql_select.h:
- add an empty Cursor destructor
tests/mysql_client_test.c:
- remove a test for dropped functionality
Diffstat (limited to 'tests')
-rw-r--r-- | tests/mysql_client_test.c | 23 |
1 files changed, 1 insertions, 22 deletions
diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index bc30bf5f186..0b88fa1b273 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -13050,27 +13050,6 @@ static void test_bug9478() check_execute(stmt, rc); if (!opt_silent && i == 0) printf("Fetched row: %s\n", a); - /* - Although protocol-wise an attempt to execute a statement which - already has an open cursor associated with it will yield an error, - the client library behavior tested here is consistent with - the non-cursor execution scenario: mysql_stmt_execute will - silently close the cursor if necessary. - */ - { - char buff[9]; - /* Fill in the execute packet */ - int4store(buff, stmt->stmt_id); - buff[4]= 0; /* Flag */ - int4store(buff+5, 1); /* Reserved for array bind */ - rc= ((*mysql->methods->advanced_command)(mysql, COM_STMT_EXECUTE, buff, - sizeof(buff), 0,0,1) || - (*mysql->methods->read_query_result)(mysql)); - DIE_UNLESS(rc); - if (!opt_silent && i == 0) - printf("Got error (as expected): %s\n", mysql_error(mysql)); - } - rc= mysql_stmt_execute(stmt); check_execute(stmt, rc); @@ -13429,7 +13408,7 @@ static void test_bug10794() bind[1].length= &a_len; rc= mysql_stmt_bind_param(stmt, bind); check_execute(stmt, rc); - for (i= 0; i < 34; i++) + for (i= 0; i < 42; i++) { id_val= (i+1)*10; sprintf(a, "a%d", i); |