diff options
-rw-r--r-- | .bzrignore | 1 | ||||
-rw-r--r-- | BitKeeper/etc/logging_ok | 1 | ||||
-rw-r--r-- | client/mysqltest.c | 11 | ||||
-rw-r--r-- | libmysqld/Makefile.am | 4 | ||||
-rw-r--r-- | libmysqld/lib_sql.cc | 4 | ||||
-rw-r--r-- | libmysqld/libmysqld.c | 29 |
6 files changed, 37 insertions, 13 deletions
diff --git a/.bzrignore b/.bzrignore index 716785b1665..01abc218748 100644 --- a/.bzrignore +++ b/.bzrignore @@ -256,6 +256,7 @@ libmysqld/sql_yacc.cc libmysqld/table.cc libmysqld/thr_malloc.cc libmysqld/time.cc +libmysqld/uniques.cc libmysqld/unireg.cc libtool linked_client_sources diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index 79984519528..f0cdb32efbd 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -6,3 +6,4 @@ mwagner@evoq.mwagner.org paul@central.snake.net sasha@mysql.sashanet.com tonu@hundin.mysql.fi +tim@threads.polyesthetic.msg diff --git a/client/mysqltest.c b/client/mysqltest.c index e1ca5638340..f1fcae6bf6d 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -1015,7 +1015,8 @@ int do_connect(struct st_query* q) if (!mysql_init(&next_con->mysql)) die("Failed on mysql_init()"); - con_sock=fn_format(buff, con_sock, TMPDIR, "",0); + if (con_sock) + con_sock=fn_format(buff, con_sock, TMPDIR, "",0); if (!con_db[0]) con_db=db; con_error = 1; @@ -1366,6 +1367,7 @@ struct option long_options[] = {"silent", no_argument, 0, 'q'}, {"sleep", required_argument, 0, 'T'}, {"socket", required_argument, 0, 'S'}, + {"test-file", required_argument, 0, 'x'}, {"tmpdir", required_argument, 0, 't'}, {"user", required_argument, 0, 'u'}, {"verbose", no_argument, 0, 'v'}, @@ -1405,6 +1407,7 @@ void usage() -T, --sleep=# Sleep always this many seconds on sleep commands\n\ -r, --record Record output of test_file into result file.\n\ -R, --result-file=... Read/Store result from/in this file.\n\ + -x, --test-file=... Read test from/in this file (default stdin).\n\ -v, --verbose Write more.\n\ -q, --quiet, --silent Suppress all normal output.\n\ -V, --version Output version information and exit.\n\ @@ -1419,7 +1422,7 @@ int parse_args(int argc, char **argv) load_defaults("my",load_default_groups,&argc,&argv); default_argv= argv; - while((c = getopt_long(argc, argv, "h:p::u:P:D:S:R:t:T:#:?rvVq", + while((c = getopt_long(argc, argv, "h:p::u:P:D:S:R:x:t:T:#:?rvVq", long_options, &option_index)) != EOF) { switch(c) { @@ -1438,6 +1441,10 @@ int parse_args(int argc, char **argv) case 'R': result_file = optarg; break; + case 'x': + if (!(*cur_file = my_fopen(optarg, O_RDONLY, MYF(MY_WME)))) + die("Could not open %s: errno = %d", optarg, errno); + break; case 'p': if (optarg) { diff --git a/libmysqld/Makefile.am b/libmysqld/Makefile.am index 8d8ac3c9a21..fe8bcb4c4e4 100644 --- a/libmysqld/Makefile.am +++ b/libmysqld/Makefile.am @@ -54,7 +54,7 @@ sqlsources = convert.cc derror.cc field.cc field_conv.cc filesort.cc \ sql_rename.cc sql_repl.cc sql_select.cc sql_show.cc \ sql_string.cc sql_table.cc sql_test.cc sql_udf.cc \ sql_update.cc sql_yacc.cc table.cc thr_malloc.cc time.cc \ - unireg.cc + unireg.cc uniques.cc ## XXX: we should not have to duplicate info from the sources list sqlobjects = convert.lo derror.lo field.lo field_conv.lo filesort.lo \ @@ -72,7 +72,7 @@ sqlobjects = convert.lo derror.lo field.lo field_conv.lo filesort.lo \ sql_rename.lo sql_repl.lo sql_select.lo sql_show.lo \ sql_string.lo sql_table.lo sql_test.lo sql_udf.lo \ sql_update.lo sql_yacc.lo table.lo thr_malloc.lo time.lo \ - unireg.lo + unireg.lo uniques.lo EXTRA_DIST = lib_vio.c diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc index b2889079ac8..ed04d85ee6e 100644 --- a/libmysqld/lib_sql.cc +++ b/libmysqld/lib_sql.cc @@ -50,8 +50,8 @@ void free_defaults_internal(char ** argv){if (argv) free_defaults(argv);} char mysql_data_home[FN_REFLEN]; char * get_mysql_data_home(){return mysql_data_home;}; #define mysql_data_home mysql_data_home_internal -#include "../sql/mysqld.cc" #include "lib_vio.c" +#include "../sql/mysqld.cc" #define SCRAMBLE_LENGTH 8 extern "C" { @@ -600,7 +600,7 @@ void embedded_srv_init(void) } //printf(ER(ER_READY),my_progname,server_version,""); - printf("%s initialized.\n", server_version); + //printf("%s initialized.\n", server_version); fflush(stdout); diff --git a/libmysqld/libmysqld.c b/libmysqld/libmysqld.c index 732c102c640..fe429c4d54d 100644 --- a/libmysqld/libmysqld.c +++ b/libmysqld/libmysqld.c @@ -1323,22 +1323,26 @@ mysql_query(MYSQL *mysql, const char *query) return mysql_real_query(mysql,query, (uint) strlen(query)); } +int STDCALL +mysql_send_query(MYSQL* mysql, const char* query, uint length) +{ + return simple_command(mysql, COM_QUERY, query, length, 1); +} + int STDCALL -mysql_real_query(MYSQL *mysql, const char *query, uint length) +mysql_read_query_result(MYSQL *mysql) { uchar *pos; ulong field_count; MYSQL_DATA *fields; - DBUG_ENTER("mysql_real_query"); - DBUG_PRINT("enter",("handle: %lx",mysql)); - DBUG_PRINT("query",("Query = \"%s\"",query)); + uint length; + DBUG_ENTER("mysql_read_query_result"); - if (simple_command(mysql,COM_QUERY,query,length,1) || - (length=net_safe_read(mysql)) == packet_error) + if ((length=net_safe_read(mysql)) == packet_error) DBUG_RETURN(-1); free_old_query(mysql); /* Free old result */ - get_info: +get_info: pos=(uchar*) mysql->net.read_pos; if ((field_count= net_field_length(&pos)) == 0) { @@ -1375,6 +1379,17 @@ mysql_real_query(MYSQL *mysql, const char *query, uint length) DBUG_RETURN(0); } +int STDCALL +mysql_real_query(MYSQL *mysql, const char *query, uint length) +{ + DBUG_ENTER("mysql_real_query"); + DBUG_PRINT("enter",("handle: %lx",mysql)); + DBUG_PRINT("query",("Query = \"%s\"",query)); + if (mysql_send_query(mysql, query, length)) + DBUG_RETURN(-1); + DBUG_RETURN(mysql_read_query_result(mysql)); +} + static int send_file_to_server(MYSQL *mysql, const char *filename) |