summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorunknown <pem@mysql.com>2003-08-26 11:51:09 +0200
committerunknown <pem@mysql.com>2003-08-26 11:51:09 +0200
commit138f0adf2d47c995b9e4aca96147c6afe59fdfa7 (patch)
tree64a6fa388e4aab5527ee4bc81489d6cfac07fcf0 /client
parent3b799e8fd8eb13c7ad6e2bb01a922e37d9101ea7 (diff)
parent970f1abbdb9a67936b66fc96a0c6fa1f0aa1535c (diff)
downloadmariadb-git-138f0adf2d47c995b9e4aca96147c6afe59fdfa7.tar.gz
Merge 4.1 into 5.0
BitKeeper/etc/ignore: auto-union BitKeeper/etc/logging_ok: auto-union client/mysql.cc: Auto merged client/mysqltest.c: Auto merged configure.in: Auto merged include/my_global.h: Auto merged include/my_pthread.h: Auto merged include/mysql_com.h: Auto merged libmysql/libmysql.c: Auto merged libmysqld/Makefile.am: Auto merged myisam/mi_check.c: Auto merged myisam/myisamchk.c: Auto merged myisam/myisamdef.h: Auto merged mysql-test/r/insert.result: Auto merged mysql-test/r/variables.result: Auto merged mysql-test/t/insert.test: Auto merged mysql-test/t/variables.test: Auto merged mysys/my_pthread.c: Auto merged scripts/mysql_install_db.sh: Auto merged sql/Makefile.am: Auto merged sql/filesort.cc: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_myisam.cc: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_create.cc: Auto merged sql/item_func.h: Auto merged sql/lex.h: Auto merged sql/log_event.cc: Auto merged sql/mysql_priv.h: Auto merged sql/protocol.cc: Auto merged sql/records.cc: Auto merged sql/repl_failsafe.cc: Auto merged sql/set_var.cc: Auto merged sql/slave.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_db.cc: Auto merged sql/sql_derived.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_load.cc: Auto merged sql/sql_rename.cc: Auto merged sql/sql_repl.cc: Auto merged sql/sql_repl.h: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged
Diffstat (limited to 'client')
-rw-r--r--client/mysql.cc3
-rw-r--r--client/mysqltest.c27
2 files changed, 25 insertions, 5 deletions
diff --git a/client/mysql.cc b/client/mysql.cc
index b249ccbfbc5..29171a2cafa 100644
--- a/client/mysql.cc
+++ b/client/mysql.cc
@@ -2815,6 +2815,7 @@ void tee_fprintf(FILE *file, const char *fmt, ...)
{
va_list args;
+ NETWARE_YIELD
va_start(args, fmt);
(void) vfprintf(file, fmt, args);
#ifdef OS2
@@ -2828,6 +2829,7 @@ void tee_fprintf(FILE *file, const char *fmt, ...)
void tee_fputs(const char *s, FILE *file)
{
+ NETWARE_YIELD
fputs(s, file);
#ifdef OS2
fflush( file);
@@ -2839,6 +2841,7 @@ void tee_fputs(const char *s, FILE *file)
void tee_puts(const char *s, FILE *file)
{
+ NETWARE_YIELD
fputs(s, file);
fputs("\n", file);
#ifdef OS2
diff --git a/client/mysqltest.c b/client/mysqltest.c
index 3b814b27810..0b39944c93f 100644
--- a/client/mysqltest.c
+++ b/client/mysqltest.c
@@ -90,6 +90,7 @@
#define SLAVE_POLL_INTERVAL 300000 /* 0.3 of a sec */
+#define DEFAULT_DELIMITER ';'
enum {OPT_MANAGER_USER=256,OPT_MANAGER_HOST,OPT_MANAGER_PASSWD,
OPT_MANAGER_PORT,OPT_MANAGER_WAIT_TIMEOUT, OPT_SKIP_SAFEMALLOC,
@@ -127,6 +128,8 @@ static int block_ok_stack[BLOCK_STACK_DEPTH];
static uint global_expected_errno[MAX_EXPECTED_ERRORS], global_expected_errors;
static CHARSET_INFO *charset_info= &my_charset_latin1;
+static char delimiter= DEFAULT_DELIMITER;
+
DYNAMIC_ARRAY q_lines;
#include "sslopt-vars.h"
@@ -203,7 +206,7 @@ Q_SERVER_START, Q_SERVER_STOP,Q_REQUIRE_MANAGER,
Q_WAIT_FOR_SLAVE_TO_STOP,
Q_REQUIRE_VERSION,
Q_ENABLE_WARNINGS, Q_DISABLE_WARNINGS,
-Q_ENABLE_INFO, Q_DISABLE_INFO,
+Q_ENABLE_INFO, Q_DISABLE_INFO, Q_DELIMITER,
Q_UNKNOWN, /* Unknown command. */
Q_COMMENT, /* Comments, ignored. */
Q_COMMENT_WITH_COMMAND
@@ -267,6 +270,7 @@ const char *command_names[]=
"disable_warnings",
"enable_info",
"disable_info",
+ "delimiter",
0
};
@@ -1546,6 +1550,16 @@ int do_while(struct st_query* q)
return 0;
}
+int do_delimiter(char *p)
+{
+ while (*p && my_isspace(charset_info,*p))
+ p++;
+ if (!*p)
+ die("Missing delimiter character\n");
+ delimiter=*p;
+
+ return 0;
+}
int safe_copy_unescape(char* dest, char* src, int size)
{
@@ -1625,7 +1639,7 @@ int read_line(char* buf, int size)
switch(state) {
case R_NORMAL:
/* Only accept '{' in the beginning of a line */
- if (c == ';')
+ if (c == delimiter)
{
*p = 0;
return 0;
@@ -1665,7 +1679,7 @@ int read_line(char* buf, int size)
*buf = 0;
return 0;
}
- else if (c == ';' || c == '{')
+ else if (c == delimiter || c == '{')
{
*p = 0;
return 0;
@@ -1685,7 +1699,7 @@ int read_line(char* buf, int size)
state = R_ESC_SLASH_Q1;
break;
case R_ESC_Q_Q1:
- if (c == ';')
+ if (c == delimiter)
{
*p = 0;
return 0;
@@ -1706,7 +1720,7 @@ int read_line(char* buf, int size)
state = R_ESC_SLASH_Q2;
break;
case R_ESC_Q_Q2:
- if (c == ';')
+ if (c == delimiter)
{
*p = 0;
return 0;
@@ -2578,6 +2592,9 @@ int main(int argc, char **argv)
do_sync_with_master2("");
break;
}
+ case Q_DELIMITER:
+ do_delimiter(q->first_argument);
+ break;
case Q_COMMENT: /* Ignore row */
case Q_COMMENT_WITH_COMMAND:
break;