summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <tim@threads.polyesthetic.msg>2001-06-04 19:39:55 -0400
committerunknown <tim@threads.polyesthetic.msg>2001-06-04 19:39:55 -0400
commit1baef9839d396e1e8b474ee8d68d4e5d7ebea1a3 (patch)
treefdfef745d35073de2605146885b8785087b5022b
parent1da42e7b8a4219827f4f435d837f41b1b1919d51 (diff)
parentbc0befda9cc4a26deac21cd59cfd96c8d3355edb (diff)
downloadmariadb-git-1baef9839d396e1e8b474ee8d68d4e5d7ebea1a3.tar.gz
Merge work:/home/bk/mysql-4.0
into threads.polyesthetic.msg:/home/tim/my/4 BitKeeper/etc/ignore: auto-union BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
-rw-r--r--.bzrignore1
-rw-r--r--BitKeeper/etc/logging_ok1
-rw-r--r--client/mysqltest.c11
-rw-r--r--libmysqld/Makefile.am4
-rw-r--r--libmysqld/lib_sql.cc4
-rw-r--r--libmysqld/libmysqld.c29
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)