summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <monty@narttu.mysql.fi>2003-02-28 14:33:10 +0200
committerunknown <monty@narttu.mysql.fi>2003-02-28 14:33:10 +0200
commitd9965d31745ff7229621553d96deb88ff3bdcb7a (patch)
tree07d664d95954d0dd9492864f34b32bd92d47936a
parentb5c467786eddbb1478b98939f4d13ff66f85829a (diff)
parent2ef62c12aaa7593bff731ccf31575678652141fc (diff)
downloadmariadb-git-d9965d31745ff7229621553d96deb88ff3bdcb7a.tar.gz
Merge work:/my/mysql-4.1 into narttu.mysql.fi:/my/mysql-4.1
-rw-r--r--cmd-line-utils/libedit/readline.c4
-rw-r--r--configure.in1
-rw-r--r--include/config-win.h7
-rw-r--r--include/my_global.h4
-rw-r--r--include/my_xml.h26
-rw-r--r--include/thr_lock.h4
-rw-r--r--mysql-test/Makefile.am4
-rw-r--r--sql/log_event.cc4
-rw-r--r--sql/mysqld.cc2
-rw-r--r--sql/repl_failsafe.cc2
-rw-r--r--sql/slave.cc2
-rw-r--r--sql/sql_class.cc2
-rw-r--r--sql/sql_insert.cc1
-rw-r--r--sql/sql_show.cc5
-rw-r--r--strings/xml.c43
15 files changed, 75 insertions, 36 deletions
diff --git a/cmd-line-utils/libedit/readline.c b/cmd-line-utils/libedit/readline.c
index 863ee064ab0..9069b46d1f8 100644
--- a/cmd-line-utils/libedit/readline.c
+++ b/cmd-line-utils/libedit/readline.c
@@ -1239,7 +1239,7 @@ filename_completion_function(const char *text, int state)
/* otherwise, get first entry where first */
/* filename_len characters are equal */
if (entry->d_name[0] == filename[0]
-#if defined(__SVR4) || defined(__linux__)
+#ifdef HAVE_DIRENT_H
&& strlen(entry->d_name) >= filename_len
#else
&& entry->d_namlen >= filename_len
@@ -1252,7 +1252,7 @@ filename_completion_function(const char *text, int state)
if (entry) { /* match found */
struct stat stbuf;
-#if defined(__SVR4) || defined(__linux__)
+#ifdef HAVE_DIRENT_H
len = strlen(entry->d_name) +
#else
len = entry->d_namlen +
diff --git a/configure.in b/configure.in
index bddbfcc8619..7a694db2b69 100644
--- a/configure.in
+++ b/configure.in
@@ -1825,6 +1825,7 @@ AC_CHECK_FUNCS(alarm bmove \
sigset sigthreadmask pthread_sigmask pthread_setprio pthread_setprio_np \
pthread_setschedparam pthread_attr_setprio pthread_attr_setschedparam \
pthread_attr_create pthread_getsequence_np pthread_attr_setstacksize \
+ pthread_attr_getstacksize \
pthread_condattr_create rwlock_init pthread_rwlock_rdlock \
fchmod getpass getpassphrase initgroups mlockall)
diff --git a/include/config-win.h b/include/config-win.h
index c1939e9116f..0e01aa75570 100644
--- a/include/config-win.h
+++ b/include/config-win.h
@@ -143,6 +143,11 @@ typedef uint rf_SetTimer;
#define HAVE_NAMED_PIPE /* We can only create pipes on NT */
#endif
+/* We need to close files to break connections on shutdown */
+#ifndef SIGNAL_WITH_VIO_CLOSE
+#define SIGNAL_WITH_VIO_CLOSE
+#endif
+
/* Use all character sets in MySQL */
#define USE_MB 1
#define USE_MB_IDENT 1
@@ -324,4 +329,4 @@ inline double ulonglong2double(ulonglong value)
#define statistic_increment(V,L) thread_safe_increment((V),(L))
#define shared_memory_buffer_length 16000
-#define default_shared_memory_base_name "MYSQL";
+#define default_shared_memory_base_name "MYSQL"
diff --git a/include/my_global.h b/include/my_global.h
index 60fd8f162ae..dd1e8986ae2 100644
--- a/include/my_global.h
+++ b/include/my_global.h
@@ -110,6 +110,7 @@
#define __STDC_EXT__ 1 /* To get large file support on hpux */
#endif
+#ifdef HPUX11
/*
Fix warnings on HPUX11
There is something really strange with HPUX11 include files as you get
@@ -117,11 +118,10 @@
do the following:
*/
#if !defined(_XOPEN_SOURCE_EXTENDED) && ! defined(__cplusplus)
-#define _XOPEN_SOURCE_EXTENDED
+#define _XOPEN_SOURCE_EXTENDED 1
#endif
/* Fix type of socklen as this is depending on the above define */
-#ifdef HPUX11
#undef SOCKET_SIZE_TYPE
#ifdef _XOPEN_SOURCE_EXTENDED
#define SOCKET_SIZE_TYPE socklen_t
diff --git a/include/my_xml.h b/include/my_xml.h
index 0d968ab38c7..82de995e700 100644
--- a/include/my_xml.h
+++ b/include/my_xml.h
@@ -37,20 +37,26 @@ typedef struct xml_stack_st
void *user_data;
int (*enter)(struct xml_stack_st *st,const char *val, uint len);
int (*value)(struct xml_stack_st *st,const char *val, uint len);
- int (*leave)(struct xml_stack_st *st,const char *val, uint len);
+ int (*leave_xml)(struct xml_stack_st *st,const char *val, uint len);
} MY_XML_PARSER;
-void my_xml_parser_create(MY_XML_PARSER *st);
-void my_xml_parser_free(MY_XML_PARSER *st);
-int my_xml_parse(MY_XML_PARSER *st,const char *str, uint len);
+void my_xml_parser_create(MY_XML_PARSER *st);
+void my_xml_parser_free(MY_XML_PARSER *st);
+int my_xml_parse(MY_XML_PARSER *st,const char *str, uint len);
-void my_xml_set_value_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *, const char *, uint len));
-void my_xml_set_enter_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *, const char *, uint len));
-void my_xml_set_leave_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *, const char *, uint len));
-void my_xml_set_user_data(MY_XML_PARSER *st, void *);
+void my_xml_set_value_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *,
+ const char *,
+ uint len));
+void my_xml_set_enter_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *,
+ const char *,
+ uint len));
+void my_xml_set_leave_handler(MY_XML_PARSER *st, int (*)(MY_XML_PARSER *,
+ const char *,
+ uint len));
+void my_xml_set_user_data(MY_XML_PARSER *st, void *);
-uint my_xml_error_pos(MY_XML_PARSER *st);
-uint my_xml_error_lineno(MY_XML_PARSER *st);
+uint my_xml_error_pos(MY_XML_PARSER *st);
+uint my_xml_error_lineno(MY_XML_PARSER *st);
const char *my_xml_error_string(MY_XML_PARSER *st);
diff --git a/include/thr_lock.h b/include/thr_lock.h
index cf5b0cce4bc..cf59f4aaeb2 100644
--- a/include/thr_lock.h
+++ b/include/thr_lock.h
@@ -43,8 +43,8 @@ enum thr_lock_type { TL_IGNORE=-1,
*/
TL_WRITE_ALLOW_WRITE,
/*
- Write lock, but allow other threads to read / write.
- Used by ALTER TABLE in MySQL to mark to allow readers
+ Write lock, but allow other threads to read.
+ Used by ALTER TABLE in MySQL to allow readers
to use the table until ALTER TABLE is finished.
*/
TL_WRITE_ALLOW_READ,
diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am
index 84d4a5bba9a..9f0936b1264 100644
--- a/mysql-test/Makefile.am
+++ b/mysql-test/Makefile.am
@@ -27,7 +27,7 @@ CLEANFILES = $(test_SCRIPTS)
dist-hook:
mkdir -p $(distdir)/t $(distdir)/r $(distdir)/include \
$(distdir)/std_data
- $(INSTALL_DATA) $(srcdir)/t/*.test $(srcdir)/t/*.opt $(srcdir)/t/*.sh $(distdir)/t
+ $(INSTALL_DATA) $(srcdir)/t/*.test $(srcdir)/t/*.opt $(srcdir)/t/*.sh $(srcdir)/t/*.slave-mi $(distdir)/t
$(INSTALL_DATA) $(srcdir)/include/*.inc $(distdir)/include
$(INSTALL_DATA) $(srcdir)/r/*.result $(srcdir)/r/*.require $(distdir)/r
$(INSTALL_DATA) $(srcdir)/std_data/*.dat $(srcdir)/std_data/*.000001 $(distdir)/std_data
@@ -41,6 +41,8 @@ install-data-local:
$(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(testdir)
$(INSTALL_DATA) $(srcdir)/t/*.test $(DESTDIR)$(testdir)/t
$(INSTALL_DATA) $(srcdir)/t/*.opt $(DESTDIR)$(testdir)/t
+ $(INSTALL_DATA) $(srcdir)/t/*.sh $(DESTDIR)$(testdir)/t
+ $(INSTALL_DATA) $(srcdir)/t/*.slave-mi $(DESTDIR)$(testdir)/t
$(INSTALL_DATA) $(srcdir)/r/*.result $(DESTDIR)$(testdir)/r
$(INSTALL_DATA) $(srcdir)/r/*.require $(DESTDIR)$(testdir)/r
$(INSTALL_DATA) $(srcdir)/include/*.inc $(DESTDIR)$(testdir)/include
diff --git a/sql/log_event.cc b/sql/log_event.cc
index 36d4b16225a..a1cb144a894 100644
--- a/sql/log_event.cc
+++ b/sql/log_event.cc
@@ -1937,14 +1937,14 @@ int Rand_log_event::write_data(IO_CACHE* file)
#ifdef MYSQL_CLIENT
void Rand_log_event::print(FILE* file, bool short_form, char* last_db)
{
- char llbuff[22];
+ char llbuff[22],llbuff2[22];
if (!short_form)
{
print_header(file);
fprintf(file, "\tRand\n");
}
fprintf(file, "SET @@RAND_SEED1=%s, @@RAND_SEED2=%s;\n",
- llstr(seed1, llbuff),llstr(seed2, llbuff));
+ llstr(seed1, llbuff),llstr(seed2, llbuff2));
fflush(file);
}
#endif // MYSQL_CLIENT
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index d2ce0768cfb..ce87a8c15ac 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -2352,6 +2352,7 @@ int main(int argc, char **argv)
if (init_thread_environment())
unireg_abort(1);
pthread_attr_setstacksize(&connection_attrib,thread_stack);
+#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE
{
/* Retrieve used stack size; Needed for checking stack overflows */
size_t stack_size;
@@ -2363,6 +2364,7 @@ int main(int argc, char **argv)
thread_stack= stack_size;
}
}
+#endif
(void) thr_setconcurrency(concurrency); // 10 by default
select_thread=pthread_self();
diff --git a/sql/repl_failsafe.cc b/sql/repl_failsafe.cc
index 9a7fb2282f4..3991d9f21f1 100644
--- a/sql/repl_failsafe.cc
+++ b/sql/repl_failsafe.cc
@@ -59,13 +59,13 @@ static int init_failsafe_rpl_thread(THD* thd)
{
DBUG_ENTER("init_failsafe_rpl_thread");
thd->system_thread = thd->bootstrap = 1;
+ thd->host_or_ip= "";
thd->client_capabilities = 0;
my_net_init(&thd->net, 0);
thd->net.read_timeout = slave_net_timeout;
thd->max_client_packet_length=thd->net.max_packet;
thd->master_access= ~0;
thd->priv_user = 0;
- thd->system_thread = 1;
pthread_mutex_lock(&LOCK_thread_count);
thd->thread_id = thread_id++;
pthread_mutex_unlock(&LOCK_thread_count);
diff --git a/sql/slave.cc b/sql/slave.cc
index 4b6ebfab5c8..ce6c7702e3c 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -1863,6 +1863,7 @@ static int init_slave_thread(THD* thd, SLAVE_THD_TYPE thd_type)
{
DBUG_ENTER("init_slave_thread");
thd->system_thread = thd->bootstrap = 1;
+ thd->host_or_ip= "";
thd->client_capabilities = 0;
my_net_init(&thd->net, 0);
thd->net.read_timeout = slave_net_timeout;
@@ -1870,7 +1871,6 @@ static int init_slave_thread(THD* thd, SLAVE_THD_TYPE thd_type)
thd->priv_user = 0;
thd->slave_thread = 1;
thd->options = (((opt_log_slave_updates) ? OPTION_BIN_LOG:0) | OPTION_AUTO_IS_NULL) ;
- thd->system_thread = 1;
thd->client_capabilities = CLIENT_LOCAL_FILES;
thd->real_id=pthread_self();
pthread_mutex_lock(&LOCK_thread_count);
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index 23a8a6fa8f1..d215db8736a 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -83,7 +83,7 @@ THD::THD():user_time(0), is_fatal_error(0),
global_read_lock(0), bootstrap(0)
{
host=user=priv_user=db=query=ip=0;
- host_or_ip="unknown ip";
+ host_or_ip= "connecting host";
locked=killed=count_cuted_fields=some_tables_deleted=no_errors=password=
query_start_used=prepare_command=0;
db_length=query_length=col_access=0;
diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc
index 0a06822d36e..9ca51ebc053 100644
--- a/sql/sql_insert.cc
+++ b/sql/sql_insert.cc
@@ -588,6 +588,7 @@ public:
bzero((char*) &thd.net,sizeof(thd.net)); // Safety
thd.system_thread=1;
+ thd.host_or_ip= "";
bzero((char*) &info,sizeof(info));
pthread_mutex_init(&mutex,MY_MUTEX_INIT_FAST);
pthread_cond_init(&cond,NULL);
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index 41c137011d2..fd7127bcd00 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -1326,10 +1326,7 @@ void mysqld_list_processes(THD *thd,const char *user, bool verbose)
thd_info->user=thd->strdup(tmp->user ? tmp->user :
(tmp->system_thread ?
"system user" : "unauthenticated user"));
- thd_info->host=thd->strdup(tmp->host ? tmp->host :
- (tmp->ip ? tmp->ip :
- (tmp->system_thread ? "none" :
- "connecting host")));
+ thd_info->host= thd->strdup(tmp->host_or_ip);
if ((thd_info->db=tmp->db)) // Safe test
thd_info->db=thd->strdup(thd_info->db);
thd_info->command=(int) tmp->command;
diff --git a/strings/xml.c b/strings/xml.c
index 4f6301249ae..793c155ea63 100644
--- a/strings/xml.c
+++ b/strings/xml.c
@@ -37,6 +37,7 @@ typedef struct xml_attr_st
const char *end;
} MY_XML_ATTR;
+
static const char *lex2str(int lex)
{
switch(lex)
@@ -97,7 +98,8 @@ static int my_xml_scan(MY_XML_PARSER *p,MY_XML_ATTR *a)
else if ( (p->cur[0]=='"') || (p->cur[0]=='\'') )
{
p->cur++;
- for( ; ( p->cur < p->end ) && (p->cur[0]!=a->beg[0]); p->cur++);
+ for( ; ( p->cur < p->end ) && (p->cur[0] != a->beg[0]); p->cur++)
+ {}
a->end=p->cur;
if (a->beg[0]==p->cur[0])p->cur++;
a->beg++;
@@ -106,7 +108,10 @@ static int my_xml_scan(MY_XML_PARSER *p,MY_XML_ATTR *a)
}
else
{
- for( ; (p->cur < p->end) && !strchr("?'\"=/<> \t\r\n", p->cur[0]); p->cur++);
+ for(;
+ (p->cur < p->end) && !strchr("?'\"=/<> \t\r\n", p->cur[0]);
+ p->cur++)
+ {}
a->end=p->cur;
my_xml_norm_text(a);
lex=MY_XML_IDENT;
@@ -145,6 +150,7 @@ static int my_xml_enter(MY_XML_PARSER *st, const char *str, uint len)
return st->enter ? st->enter(st,st->attr,st->attrend-st->attr) : MY_XML_OK;
}
+
static void mstr(char *s,const char *src,uint l1, uint l2)
{
l1 = l1<l2 ? l1 : l2;
@@ -152,6 +158,7 @@ static void mstr(char *s,const char *src,uint l1, uint l2)
s[l1]='\0';
}
+
static int my_xml_leave(MY_XML_PARSER *p, const char *str, uint slen)
{
char *e;
@@ -172,7 +179,7 @@ static int my_xml_leave(MY_XML_PARSER *p, const char *str, uint slen)
return MY_XML_ERROR;
}
- rc = p->leave ? p->leave(p,p->attr,p->attrend-p->attr) : MY_XML_OK;
+ rc = p->leave_xml ? p->leave_xml(p,p->attr,p->attrend-p->attr) : MY_XML_OK;
*e='\0';
p->attrend=e;
@@ -237,7 +244,8 @@ int my_xml_parse(MY_XML_PARSER *p,const char *str, uint len)
}
else
{
- sprintf(p->errstr,"3: %s unexpected (ident or '/' wanted)",lex2str(lex));
+ sprintf(p->errstr,"3: %s unexpected (ident or '/' wanted)",
+ lex2str(lex));
return MY_XML_ERROR;
}
@@ -256,7 +264,8 @@ int my_xml_parse(MY_XML_PARSER *p,const char *str, uint len)
}
else
{
- sprintf(p->errstr,"4: %s unexpected (ident or string wanted)",lex2str(lex));
+ sprintf(p->errstr,"4: %s unexpected (ident or string wanted)",
+ lex2str(lex));
return MY_XML_ERROR;
}
}
@@ -318,35 +327,47 @@ gt:
return MY_XML_OK;
}
+
void my_xml_parser_create(MY_XML_PARSER *p)
{
bzero((void*)p,sizeof(p[0]));
}
+
void my_xml_parser_free(MY_XML_PARSER *p __attribute__((unused)))
{
}
-void my_xml_set_value_handler(MY_XML_PARSER *p, int (*action)(MY_XML_PARSER *p, const char *s, uint l))
+
+void my_xml_set_value_handler(MY_XML_PARSER *p,
+ int (*action)(MY_XML_PARSER *p, const char *s,
+ uint l))
{
p->value=action;
}
-void my_xml_set_enter_handler(MY_XML_PARSER *p, int (*action)(MY_XML_PARSER *p, const char *s, uint l))
+void my_xml_set_enter_handler(MY_XML_PARSER *p,
+ int (*action)(MY_XML_PARSER *p, const char *s,
+ uint l))
{
p->enter=action;
}
-void my_xml_set_leave_handler(MY_XML_PARSER *p, int (*action)(MY_XML_PARSER *p, const char *s, uint l))
+
+void my_xml_set_leave_handler(MY_XML_PARSER *p,
+ int (*action)(MY_XML_PARSER *p, const char *s,
+ uint l))
{
- p->leave=action;
+ p->leave_xml=action;
}
+
void my_xml_set_user_data(MY_XML_PARSER *p, void *user_data)
{
p->user_data=user_data;
}
+
const char *my_xml_error_string(MY_XML_PARSER *p)
{
return p->errstr;
@@ -358,8 +379,10 @@ uint my_xml_error_pos(MY_XML_PARSER *p)
const char *beg=p->beg;
const char *s;
for ( s=p->beg ; s<p->cur; s++)
+ {
if (s[0]=='\n')
beg=s;
+ }
return p->cur-beg;
}
@@ -368,7 +391,9 @@ uint my_xml_error_lineno(MY_XML_PARSER *p)
uint res=0;
const char *s;
for ( s=p->beg ; s<p->cur; s++)
+ {
if (s[0]=='\n')
res++;
+ }
return res;
}