Various changes to get libmysqld in sync with latest sources.

parent 73e6a690
...@@ -253,6 +253,7 @@ libmysqld/table.cc ...@@ -253,6 +253,7 @@ libmysqld/table.cc
libmysqld/thr_malloc.cc libmysqld/thr_malloc.cc
libmysqld/time.cc libmysqld/time.cc
libmysqld/unireg.cc libmysqld/unireg.cc
libmysqld/uniques.cc
libtool libtool
linked_client_sources linked_client_sources
linked_include_sources linked_include_sources
......
...@@ -1015,7 +1015,8 @@ int do_connect(struct st_query* q) ...@@ -1015,7 +1015,8 @@ int do_connect(struct st_query* q)
if (!mysql_init(&next_con->mysql)) if (!mysql_init(&next_con->mysql))
die("Failed on mysql_init()"); 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]) if (!con_db[0])
con_db=db; con_db=db;
con_error = 1; con_error = 1;
...@@ -1366,6 +1367,7 @@ struct option long_options[] = ...@@ -1366,6 +1367,7 @@ struct option long_options[] =
{"silent", no_argument, 0, 'q'}, {"silent", no_argument, 0, 'q'},
{"sleep", required_argument, 0, 'T'}, {"sleep", required_argument, 0, 'T'},
{"socket", required_argument, 0, 'S'}, {"socket", required_argument, 0, 'S'},
{"test-file", required_argument, 0, 'x'},
{"tmpdir", required_argument, 0, 't'}, {"tmpdir", required_argument, 0, 't'},
{"user", required_argument, 0, 'u'}, {"user", required_argument, 0, 'u'},
{"verbose", no_argument, 0, 'v'}, {"verbose", no_argument, 0, 'v'},
...@@ -1405,6 +1407,7 @@ void usage() ...@@ -1405,6 +1407,7 @@ void usage()
-T, --sleep=# Sleep always this many seconds on sleep commands\n\ -T, --sleep=# Sleep always this many seconds on sleep commands\n\
-r, --record Record output of test_file into result file.\n\ -r, --record Record output of test_file into result file.\n\
-R, --result-file=... Read/Store result from/in this 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\ -v, --verbose Write more.\n\
-q, --quiet, --silent Suppress all normal output.\n\ -q, --quiet, --silent Suppress all normal output.\n\
-V, --version Output version information and exit.\n\ -V, --version Output version information and exit.\n\
...@@ -1419,7 +1422,7 @@ int parse_args(int argc, char **argv) ...@@ -1419,7 +1422,7 @@ int parse_args(int argc, char **argv)
load_defaults("my",load_default_groups,&argc,&argv); load_defaults("my",load_default_groups,&argc,&argv);
default_argv= 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) long_options, &option_index)) != EOF)
{ {
switch(c) { switch(c) {
...@@ -1438,6 +1441,10 @@ int parse_args(int argc, char **argv) ...@@ -1438,6 +1441,10 @@ int parse_args(int argc, char **argv)
case 'R': case 'R':
result_file = optarg; result_file = optarg;
break; 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': case 'p':
if (optarg) if (optarg)
{ {
......
...@@ -54,7 +54,7 @@ sqlsources = convert.cc derror.cc field.cc field_conv.cc filesort.cc \ ...@@ -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_rename.cc sql_repl.cc sql_select.cc sql_show.cc \
sql_string.cc sql_table.cc sql_test.cc sql_udf.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 \ 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 ## XXX: we should not have to duplicate info from the sources list
sqlobjects = convert.lo derror.lo field.lo field_conv.lo filesort.lo \ 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 \ ...@@ -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_rename.lo sql_repl.lo sql_select.lo sql_show.lo \
sql_string.lo sql_table.lo sql_test.lo sql_udf.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 \ sql_update.lo sql_yacc.lo table.lo thr_malloc.lo time.lo \
unireg.lo unireg.lo uniques.lo
EXTRA_DIST = lib_vio.c EXTRA_DIST = lib_vio.c
......
...@@ -50,8 +50,8 @@ void free_defaults_internal(char ** argv){if (argv) free_defaults(argv);} ...@@ -50,8 +50,8 @@ void free_defaults_internal(char ** argv){if (argv) free_defaults(argv);}
char mysql_data_home[FN_REFLEN]; char mysql_data_home[FN_REFLEN];
char * get_mysql_data_home(){return mysql_data_home;}; char * get_mysql_data_home(){return mysql_data_home;};
#define mysql_data_home mysql_data_home_internal #define mysql_data_home mysql_data_home_internal
#include "../sql/mysqld.cc"
#include "lib_vio.c" #include "lib_vio.c"
#include "../sql/mysqld.cc"
#define SCRAMBLE_LENGTH 8 #define SCRAMBLE_LENGTH 8
extern "C" { extern "C" {
...@@ -600,7 +600,7 @@ void embedded_srv_init(void) ...@@ -600,7 +600,7 @@ void embedded_srv_init(void)
} }
//printf(ER(ER_READY),my_progname,server_version,""); //printf(ER(ER_READY),my_progname,server_version,"");
printf("%s initialized.\n", server_version); //printf("%s initialized.\n", server_version);
fflush(stdout); fflush(stdout);
......
...@@ -1323,22 +1323,26 @@ mysql_query(MYSQL *mysql, const char *query) ...@@ -1323,22 +1323,26 @@ mysql_query(MYSQL *mysql, const char *query)
return mysql_real_query(mysql,query, (uint) strlen(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 int STDCALL
mysql_real_query(MYSQL *mysql, const char *query, uint length) mysql_read_query_result(MYSQL *mysql)
{ {
uchar *pos; uchar *pos;
ulong field_count; ulong field_count;
MYSQL_DATA *fields; MYSQL_DATA *fields;
DBUG_ENTER("mysql_real_query"); uint length;
DBUG_PRINT("enter",("handle: %lx",mysql)); DBUG_ENTER("mysql_read_query_result");
DBUG_PRINT("query",("Query = \"%s\"",query));
if (simple_command(mysql,COM_QUERY,query,length,1) || if ((length=net_safe_read(mysql)) == packet_error)
(length=net_safe_read(mysql)) == packet_error)
DBUG_RETURN(-1); DBUG_RETURN(-1);
free_old_query(mysql); /* Free old result */ free_old_query(mysql); /* Free old result */
get_info: get_info:
pos=(uchar*) mysql->net.read_pos; pos=(uchar*) mysql->net.read_pos;
if ((field_count= net_field_length(&pos)) == 0) if ((field_count= net_field_length(&pos)) == 0)
{ {
...@@ -1375,6 +1379,17 @@ mysql_real_query(MYSQL *mysql, const char *query, uint length) ...@@ -1375,6 +1379,17 @@ mysql_real_query(MYSQL *mysql, const char *query, uint length)
DBUG_RETURN(0); 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 static int
send_file_to_server(MYSQL *mysql, const char *filename) send_file_to_server(MYSQL *mysql, const char *filename)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment