On Aug 11, 2008, at 6:12 AM, Amit K. Saha- Sun Microsystems, BLR-03
wrote:
> Hi!
>
> According to http://dev.mysql.com/doc/mysqltest/en/test-framework-components.html
> , 'mysql_client_test program is used for testing aspects of the
> MySQL client API that cannot be tested using mysqltest and its test
> language'
>
> I would like to know what those aspects are.Thanks!
Monty has already responded to your question. I will just add the
observation that mysql_client_test.c is an ad hoc program that grows
by gradual accretion of new code over time as new tests are added to it.
One way to see some of the things that it tests is to use grep:
% grep 'Bug *#' mysql_client_test.c
Bug #148 (reported by salle@stripped).
/* Bug#6761 - mysql_list_fields doesn't work */
/* Bug#8330 - mysql_stmt_execute crashes (libmysql) */
/* Bug#7990 - mysql_stmt_close doesn't reset mysql->net.last_error */
Bug #15518 - Reusing a stmt that has failed during prepare
Bug#11111: fetch from view returns wrong data
/* Bug#10736: cursors and subqueries, memroot management */
/* Bug#10794: cursors, packets out of order */
/* Bug#11172: cursors, crash on a fetch from a datetime column */
/* Bug#11656: cursors, crash on a fetch from a query with distinct. */
/* Bug#11183 "mysql_stmt_reset() doesn't reset information about
error" */
/* Bug#10760: cursors, crash in a fetch after rollback. */
/* Bug#11909: wrong metadata if fetching from two cursors */
/* Bug#11904: mysql_stmt_attr_set CURSOR_TYPE_READ_ONLY grouping wrong
result */
/* Bug#12243: multiple cursors, crash in a fetch after commit. */
Bug#11718: query with function, join and order by returns wrong type
Bug #12925: Bad handling of maximum values in getopt
Bug#14210 "Simple query with > operator on large table gives server
/* Bug#13488: wrong column metadata when fetching from cursor */
Bug#13524: warnings of a previous command are not reset when fetching
Bug#14845 "mysql_stmt_fetch returns MYSQL_NO_DATA when COUNT(*) is 0"
Bug #15510: mysql_warning_count returns 0 after mysql_stmt_fetch
which
/* Test MYSQL_OPT_RECONNECT, Bug#15719 */
/* Bug #16143: mysql_stmt_sqlstate returns an empty string instead of
'00000' */
/* Bug #16144: mysql_stmt_attr_get type error */
Bug #15613: "libmysqlclient API function mysql_stmt_prepare returns
wrong
Bug#17667: An attacker has the opportunity to bypass query logging.
Note! Also tests Bug#21813, where prepared statements are used to
Bug#14169: type of group_concat() result changed to blob if
tmp_table was
Bug#20152: mysql_stmt_execute() writes to MYSQL_TYPE_DATE buffer
/* Bug#15752 "Lost connection to MySQL server when calling a SP from C
API" */
Bug#21206: memory corruption when too many cursors are opened at once
Bug#21726: Incorrect result with multiple invocations of
Bug#24179 "select b into $var" fails with --cursor_protocol"
Bug#32265 Server returns different metadata if prepared statement
is used
Bug#28075 "COM_DEBUG crashes mysqld"
Bug#27876 (SF with cyrillic variable name fails during execution
(regression))
Bug#28505: mysql_affected_rows() returns wrong value if
CLIENT_FOUND_ROWS
Bug#28934: server crash when receiving malformed com_execute packets
Bug#27592 (stack overrun when storing datetime value using prepared
statements)
Bug#29687 mysql_stmt_store_result memory leak in libmysqld
Bug #29692 Single row inserts can incorrectly report a huge
number of
Bug#29306 Truncated data in MS Access with decimal (3,1) columns in
a VIEW
Bug#30472: libmysql doesn't reset charset, insert_id after succ.
Bug#31669 Buffer overflow in mysql_change_user()
Bug#28386 the general log is incomplete
Bug#36004 mysql_stmt_prepare resets the list of warnings
--
Paul DuBois
Sun Microsystems / MySQL Documentation Team
Madison, Wisconsin, USA
www.mysql.com