Commit 215248f7 authored by unknown's avatar unknown

Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1

into mc05.(none):/space2/tomas/mysql-4.1-ndb-test


acconfig.h:
  Auto merged
configure.in:
  Auto merged
parents c91972c2 ce0d0153
...@@ -203,6 +203,15 @@ ...@@ -203,6 +203,15 @@
/* If we want to have query cache */ /* If we want to have query cache */
#undef HAVE_QUERY_CACHE #undef HAVE_QUERY_CACHE
/* Spatial extentions */
#undef HAVE_SPATIAL
/* RTree keys */
#undef HAVE_RTREE_KEYS
/* Access checks in embedded library */
#undef HAVE_EMBEDDED_PRIVILEGE_CONTROL
/* Solaris define gethostbyaddr_r with 7 arguments. glibc2 defines /* Solaris define gethostbyaddr_r with 7 arguments. glibc2 defines
this with 8 arguments */ this with 8 arguments */
#undef HAVE_SOLARIS_STYLE_GETHOST #undef HAVE_SOLARIS_STYLE_GETHOST
......
...@@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script. ...@@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(sql/mysqld.cc) AC_INIT(sql/mysqld.cc)
AC_CANONICAL_SYSTEM AC_CANONICAL_SYSTEM
# The Docs Makefile.am parses this line! # The Docs Makefile.am parses this line!
AM_INIT_AUTOMAKE(mysql, 4.1.2-alpha) AM_INIT_AUTOMAKE(mysql, 4.1.3-beta)
AM_CONFIG_HEADER(config.h) AM_CONFIG_HEADER(config.h)
PROTOCOL_VERSION=10 PROTOCOL_VERSION=10
...@@ -26,7 +26,7 @@ MYSQL_UNIX_ADDR_DEFAULT="/tmp/mysql.sock" ...@@ -26,7 +26,7 @@ MYSQL_UNIX_ADDR_DEFAULT="/tmp/mysql.sock"
AVAILABLE_LANGUAGES="\ AVAILABLE_LANGUAGES="\
czech danish dutch english estonian french german greek hungarian \ czech danish dutch english estonian french german greek hungarian \
italian japanese korean norwegian norwegian-ny polish portuguese \ italian japanese korean norwegian norwegian-ny polish portuguese \
romanian russian slovak spanish swedish ukrainian" romanian russian serbian slovak spanish swedish ukrainian"
# Generate make rules for all error messages # Generate make rules for all error messages
AVAILABLE_LANGUAGES_ERRORS= AVAILABLE_LANGUAGES_ERRORS=
...@@ -2136,6 +2136,31 @@ then ...@@ -2136,6 +2136,31 @@ then
AC_DEFINE(HAVE_QUERY_CACHE) AC_DEFINE(HAVE_QUERY_CACHE)
fi fi
AC_ARG_WITH(geometry,
[ --without-geometry Do not build geometry-related parts.],
[with_geometry=$withval],
[with_geometry=yes]
)
if test "$with_geometry" = "yes"
then
AC_DEFINE(HAVE_SPATIAL)
AC_DEFINE(HAVE_RTREE_KEYS)
fi
AC_ARG_WITH(embedded_privilege_control,
[ --with-embedded-privilege-control
Build parts to check user's privileges.
Only affects embedded library.],
[with_embedded_privilege_control=$withval],
[with_embedded_privilege_control=no]
)
if test "$with_embedded_privilege_control" = "yes"
then
AC_DEFINE(HAVE_EMBEDDED_PRIVILEGE_CONTROL)
fi
AC_ARG_WITH(extra-tools, AC_ARG_WITH(extra-tools,
[ --without-extra-tools Skip building utilites in the tools directory.], [ --without-extra-tools Skip building utilites in the tools directory.],
[with_tools=$withval], [with_tools=$withval],
......
...@@ -1194,6 +1194,8 @@ do { doubleget_union _tmp; \ ...@@ -1194,6 +1194,8 @@ do { doubleget_union _tmp; \
#define MYSQL_UNIVERSAL_CLIENT_CHARSET MYSQL_DEFAULT_CHARSET_NAME #define MYSQL_UNIVERSAL_CLIENT_CHARSET MYSQL_DEFAULT_CHARSET_NAME
#endif #endif
#define HAVE_SPATIAL #if defined(EMBEDDED_LIBRARY) && !defined(HAVE_EMBEDDED_PRIVILEGE_CONTROL)
#define HAVE_RTREE_KEYS #define NO_EMBEDDED_ACCESS_CHECKS
#endif
#endif /* my_global_h */ #endif /* my_global_h */
...@@ -387,22 +387,19 @@ os_file_lock( ...@@ -387,22 +387,19 @@ os_file_lock(
/*=========*/ /*=========*/
/* out: 0 on success */ /* out: 0 on success */
int fd, /* in: file descriptor */ int fd, /* in: file descriptor */
const char* name, /* in: file name */ const char* name) /* in: file name */
uint lock_type) /* in: lock_type */
{ {
struct flock lk; struct flock lk;
lk.l_type = lock_type; lk.l_type = F_WRLCK;
lk.l_whence = SEEK_SET; lk.l_whence = SEEK_SET;
lk.l_start = lk.l_len = 0; lk.l_start = lk.l_len = 0;
if (fcntl(fd, F_SETLK, &lk) == -1) { if (fcntl(fd, F_SETLK, &lk) == -1) {
fprintf(stderr, fprintf(stderr,
"InnoDB: Unable to lock %s with lock %d, error: %d", "InnoDB: Unable to lock %s, error: %d", name, errno);
name, lock_type, errno);
perror (": fcntl");
close(fd); close(fd);
return(-1); return(-1);
} }
return 0; return(0);
} }
#endif /* USE_FILE_LOCK */ #endif /* USE_FILE_LOCK */
...@@ -869,7 +866,8 @@ os_file_create_simple( ...@@ -869,7 +866,8 @@ os_file_create_simple(
goto try_again; goto try_again;
} }
#ifdef USE_FILE_LOCK #ifdef USE_FILE_LOCK
} else if (os_file_lock(file, name, F_WRLCK)) { } else if (access_type == OS_FILE_READ_WRITE
&& os_file_lock(file, name)) {
*success = FALSE; *success = FALSE;
file = -1; file = -1;
#endif #endif
...@@ -980,7 +978,8 @@ os_file_create_simple_no_error_handling( ...@@ -980,7 +978,8 @@ os_file_create_simple_no_error_handling(
if (file == -1) { if (file == -1) {
*success = FALSE; *success = FALSE;
#ifdef USE_FILE_LOCK #ifdef USE_FILE_LOCK
} else if (os_file_lock(file, name, F_WRLCK)) { } else if (access_type == OS_FILE_READ_WRITE
&& os_file_lock(file, name)) {
*success = FALSE; *success = FALSE;
file = -1; file = -1;
#endif #endif
...@@ -1194,7 +1193,8 @@ os_file_create( ...@@ -1194,7 +1193,8 @@ os_file_create(
goto try_again; goto try_again;
} }
#ifdef USE_FILE_LOCK #ifdef USE_FILE_LOCK
} else if (os_file_lock(file, name, F_WRLCK)) { } else if (create_mode != OS_FILE_OPEN_RAW
&& os_file_lock(file, name)) {
*success = FALSE; *success = FALSE;
file = -1; file = -1;
#endif #endif
...@@ -1395,9 +1395,6 @@ os_file_close( ...@@ -1395,9 +1395,6 @@ os_file_close(
#else #else
int ret; int ret;
#ifdef USE_FILE_LOCK
(void) os_file_lock(file, "unknown", F_UNLCK);
#endif
ret = close(file); ret = close(file);
if (ret == -1) { if (ret == -1) {
...@@ -1434,9 +1431,6 @@ os_file_close_no_error_handling( ...@@ -1434,9 +1431,6 @@ os_file_close_no_error_handling(
#else #else
int ret; int ret;
#ifdef USE_FILE_LOCK
(void) os_file_lock(file, "unknown", F_UNLCK);
#endif
ret = close(file); ret = close(file);
if (ret == -1) { if (ret == -1) {
......
...@@ -22,7 +22,6 @@ MYSQLSHAREdir = $(pkgdatadir) ...@@ -22,7 +22,6 @@ MYSQLSHAREdir = $(pkgdatadir)
MYSQLBASEdir= $(prefix) MYSQLBASEdir= $(prefix)
DEFS = -DEMBEDDED_LIBRARY -DMYSQL_SERVER \ DEFS = -DEMBEDDED_LIBRARY -DMYSQL_SERVER \
-DNO_EMBEDDED_ACCESS_CHECKS \
-DDEFAULT_MYSQL_HOME="\"$(MYSQLBASEdir)\"" \ -DDEFAULT_MYSQL_HOME="\"$(MYSQLBASEdir)\"" \
-DDATADIR="\"$(MYSQLDATAdir)\"" \ -DDATADIR="\"$(MYSQLDATAdir)\"" \
-DSHAREDIR="\"$(MYSQLSHAREdir)\"" -DSHAREDIR="\"$(MYSQLSHAREdir)\""
......
...@@ -2,7 +2,8 @@ LIBRARY LIBMYSQLD ...@@ -2,7 +2,8 @@ LIBRARY LIBMYSQLD
DESCRIPTION 'MySQL 4.1 Embedded Server Library' DESCRIPTION 'MySQL 4.1 Embedded Server Library'
VERSION 4.1 VERSION 4.1
EXPORTS EXPORTS
_dig_vec _dig_vec_upper
_dig_vec_lower
bmove_upp bmove_upp
delete_dynamic delete_dynamic
free_defaults free_defaults
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "sp_defs.h" #include "sp_defs.h"
#include "rt_index.h" #include "rt_index.h"
#include <m_ctype.h> #include <m_ctype.h>
#include <assert.h>
#if defined(MSDOS) || defined(__WIN__) #if defined(MSDOS) || defined(__WIN__)
#ifdef __WIN__ #ifdef __WIN__
......
-- require r/have_geometry.require
disable_query_log;
show variables like "have_geometry";
enable_query_log;
...@@ -172,7 +172,7 @@ create table t1 ( URL_ID int(11), URL varchar(80)); ...@@ -172,7 +172,7 @@ create table t1 ( URL_ID int(11), URL varchar(80));
create table t2 ( REQ_ID int(11), URL_ID int(11)); create table t2 ( REQ_ID int(11), URL_ID int(11));
insert into t1 values (4,'www.host.com'), (5,'www.google.com'),(5,'www.help.com'); insert into t1 values (4,'www.host.com'), (5,'www.google.com'),(5,'www.help.com');
insert into t2 values (1,4), (5,4), (5,5); insert into t2 values (1,4), (5,4), (5,5);
select REQ_ID, Group_Concat(URL) as URL from t1, t2 where select REQ_ID, Group_Concat(URL) as URL from t1, t2 where
t2.URL_ID = t1.URL_ID group by REQ_ID; t2.URL_ID = t1.URL_ID group by REQ_ID;
REQ_ID URL REQ_ID URL
1 X 1 X
......
Variable_name Value
have_geometry YES
...@@ -83,7 +83,7 @@ insert into t1 values (4,'www.host.com'), (5,'www.google.com'),(5,'www.help.com' ...@@ -83,7 +83,7 @@ insert into t1 values (4,'www.host.com'), (5,'www.google.com'),(5,'www.help.com'
insert into t2 values (1,4), (5,4), (5,5); insert into t2 values (1,4), (5,4), (5,5);
# Make this order independent # Make this order independent
--replace_result www.help.com X www.host.com X www.google.com X --replace_result www.help.com X www.host.com X www.google.com X
select REQ_ID, Group_Concat(URL) as URL from t1, t2 where select REQ_ID, Group_Concat(URL) as URL from t1, t2 where
t2.URL_ID = t1.URL_ID group by REQ_ID; t2.URL_ID = t1.URL_ID group by REQ_ID;
# check min/max function # check min/max function
--replace_result www.help.com X www.host.com X www.google.com X --replace_result www.help.com X www.host.com X www.google.com X
...@@ -132,7 +132,7 @@ drop table t1, t2; ...@@ -132,7 +132,7 @@ drop table t1, t2;
CREATE TABLE t1 (id1 tinyint(4) NOT NULL, id2 tinyint(4) NOT NULL); CREATE TABLE t1 (id1 tinyint(4) NOT NULL, id2 tinyint(4) NOT NULL);
INSERT INTO t1 VALUES (1, 1),(1, 2),(1, 3),(1, 4),(1, 5),(2, 1),(2, 2),(2, 3); INSERT INTO t1 VALUES (1, 1),(1, 2),(1, 3),(1, 4),(1, 5),(2, 1),(2, 2),(2, 3);
CREATE TABLE t2 (id1 tinyint(4) NOT NULL); CREATE TABLE t2 (id1 tinyint(4) NOT NULL);
INSERT INTO t2 VALUES (1),(2),(3),(4),(5); INSERT INTO t2 VALUES (1),(2),(3),(4),(5);
SELECT t1.id1, GROUP_CONCAT(t1.id2 ORDER BY t1.id2 ASC) AS concat_id FROM t1, t2 WHERE t1.id1 = t2.id1 AND t1.id1=1 GROUP BY t1.id1; SELECT t1.id1, GROUP_CONCAT(t1.id2 ORDER BY t1.id2 ASC) AS concat_id FROM t1, t2 WHERE t1.id1 = t2.id1 AND t1.id1=1 GROUP BY t1.id1;
SELECT t1.id1, GROUP_CONCAT(t1.id2 ORDER BY t1.id2 ASC) AS concat_id FROM t1, t2 WHERE t1.id1 = t2.id1 GROUP BY t1.id1; SELECT t1.id1, GROUP_CONCAT(t1.id2 ORDER BY t1.id2 ASC) AS concat_id FROM t1, t2 WHERE t1.id1 = t2.id1 GROUP BY t1.id1;
...@@ -163,7 +163,7 @@ drop table t1; ...@@ -163,7 +163,7 @@ drop table t1;
# Test with subqueries (Bug #3319) # Test with subqueries (Bug #3319)
# #
create table t1 (a int, c int); create table t1 (a int, c int);
insert into t1 values (1, 2), (2, 3), (2, 4), (3, 5); insert into t1 values (1, 2), (2, 3), (2, 4), (3, 5);
create table t2 (a int, c int); create table t2 (a int, c int);
insert into t2 values (1, 5), (2, 4), (3, 3), (3,3); insert into t2 values (1, 5), (2, 4), (3, 3), (3,3);
......
-- source include/have_geometry.inc
# #
# test of rtree (using with spatial data) # test of rtree (using with spatial data)
# #
......
-- source include/have_geometry.inc
# #
# Spatial objects # Spatial objects
# #
......
...@@ -60,13 +60,11 @@ static void mi_check_print_msg(MI_CHECK *param, const char* msg_type, ...@@ -60,13 +60,11 @@ static void mi_check_print_msg(MI_CHECK *param, const char* msg_type,
DBUG_PRINT(msg_type,("message: %s",msgbuf)); DBUG_PRINT(msg_type,("message: %s",msgbuf));
#ifndef EMBEDDED_LIBRARY if (!thd->vio_ok())
if (thd->net.vio == 0)
{ {
sql_print_error(msgbuf); sql_print_error(msgbuf);
return; return;
} }
#endif
if (param->testflag & (T_CREATE_MISSING_KEYS | T_SAFE_REPAIR | if (param->testflag & (T_CREATE_MISSING_KEYS | T_SAFE_REPAIR |
T_AUTO_REPAIR)) T_AUTO_REPAIR))
......
...@@ -918,6 +918,7 @@ extern struct my_option my_long_options[]; ...@@ -918,6 +918,7 @@ extern struct my_option my_long_options[];
extern SHOW_COMP_OPTION have_isam, have_innodb, have_berkeley_db, have_example_db; extern SHOW_COMP_OPTION have_isam, have_innodb, have_berkeley_db, have_example_db;
extern SHOW_COMP_OPTION have_raid, have_openssl, have_symlink; extern SHOW_COMP_OPTION have_raid, have_openssl, have_symlink;
extern SHOW_COMP_OPTION have_query_cache, have_berkeley_db, have_innodb; extern SHOW_COMP_OPTION have_query_cache, have_berkeley_db, have_innodb;
extern SHOW_COMP_OPTION have_geometry, have_rtree_keys;
extern SHOW_COMP_OPTION have_crypt; extern SHOW_COMP_OPTION have_crypt;
extern SHOW_COMP_OPTION have_compress; extern SHOW_COMP_OPTION have_compress;
......
...@@ -378,6 +378,7 @@ CHARSET_INFO *national_charset_info, *table_alias_charset; ...@@ -378,6 +378,7 @@ CHARSET_INFO *national_charset_info, *table_alias_charset;
SHOW_COMP_OPTION have_berkeley_db, have_innodb, have_isam, SHOW_COMP_OPTION have_berkeley_db, have_innodb, have_isam,
have_ndbcluster, have_example_db; have_ndbcluster, have_example_db;
SHOW_COMP_OPTION have_raid, have_openssl, have_symlink, have_query_cache; SHOW_COMP_OPTION have_raid, have_openssl, have_symlink, have_query_cache;
SHOW_COMP_OPTION have_geometry, have_rtree_keys;
SHOW_COMP_OPTION have_crypt, have_compress; SHOW_COMP_OPTION have_crypt, have_compress;
/* Thread specific variables */ /* Thread specific variables */
...@@ -661,7 +662,7 @@ static void close_connections(void) ...@@ -661,7 +662,7 @@ static void close_connections(void)
break; break;
} }
#ifndef __bsdi__ // Bug in BSDI kernel #ifndef __bsdi__ // Bug in BSDI kernel
if (tmp->net.vio) if (tmp->vio_ok())
{ {
sql_print_error(ER(ER_FORCING_CLOSE),my_progname, sql_print_error(ER(ER_FORCING_CLOSE),my_progname,
tmp->thread_id,tmp->user ? tmp->user : ""); tmp->thread_id,tmp->user ? tmp->user : "");
...@@ -5362,6 +5363,16 @@ static void mysql_init_variables(void) ...@@ -5362,6 +5363,16 @@ static void mysql_init_variables(void)
#else #else
have_query_cache=SHOW_OPTION_NO; have_query_cache=SHOW_OPTION_NO;
#endif #endif
#ifdef HAVE_SPATIAL
have_geometry=SHOW_OPTION_YES;
#else
have_geometry=SHOW_OPTION_NO;
#endif
#ifdef HAVE_RTREE_KEYS
have_rtree_keys=SHOW_OPTION_YES;
#else
have_rtree_keys=SHOW_OPTION_NO;
#endif
#ifdef HAVE_CRYPT #ifdef HAVE_CRYPT
have_crypt=SHOW_OPTION_YES; have_crypt=SHOW_OPTION_YES;
#else #else
......
...@@ -643,10 +643,12 @@ struct show_var_st init_vars[]= { ...@@ -643,10 +643,12 @@ struct show_var_st init_vars[]= {
{"have_crypt", (char*) &have_crypt, SHOW_HAVE}, {"have_crypt", (char*) &have_crypt, SHOW_HAVE},
{"have_innodb", (char*) &have_innodb, SHOW_HAVE}, {"have_innodb", (char*) &have_innodb, SHOW_HAVE},
{"have_isam", (char*) &have_isam, SHOW_HAVE}, {"have_isam", (char*) &have_isam, SHOW_HAVE},
{"have_geometry", (char*) &have_geometry, SHOW_HAVE},
{"have_ndbcluster", (char*) &have_ndbcluster, SHOW_HAVE}, {"have_ndbcluster", (char*) &have_ndbcluster, SHOW_HAVE},
{"have_openssl", (char*) &have_openssl, SHOW_HAVE}, {"have_openssl", (char*) &have_openssl, SHOW_HAVE},
{"have_query_cache", (char*) &have_query_cache, SHOW_HAVE}, {"have_query_cache", (char*) &have_query_cache, SHOW_HAVE},
{"have_raid", (char*) &have_raid, SHOW_HAVE}, {"have_raid", (char*) &have_raid, SHOW_HAVE},
{"have_rtree_keys", (char*) &have_rtree_keys, SHOW_HAVE},
{"have_symlink", (char*) &have_symlink, SHOW_HAVE}, {"have_symlink", (char*) &have_symlink, SHOW_HAVE},
{"init_connect", (char*) &sys_init_connect, SHOW_SYS}, {"init_connect", (char*) &sys_init_connect, SHOW_SYS},
{"init_file", (char*) &opt_init_file, SHOW_CHAR_PTR}, {"init_file", (char*) &opt_init_file, SHOW_CHAR_PTR},
......
...@@ -192,7 +192,7 @@ character-set=latin2 ...@@ -192,7 +192,7 @@ character-set=latin2
"Got error %d during FLUSH_LOGS", "Got error %d during FLUSH_LOGS",
"Got error %d during CHECKPOINT", "Got error %d during CHECKPOINT",
"Aborted connection %ld to db: '%-.64s' user: '%-.32s' host: `%-.64s' (%-.64s)", "Aborted connection %ld to db: '%-.64s' user: '%-.32s' host: `%-.64s' (%-.64s)",
"The handler for the table does not support binary table dump","Binlog closed while trying to FLUSH MASTER", "The handler for the table does not support binary table dump",
"Binlog closed while trying to FLUSH MASTER", "Binlog closed while trying to FLUSH MASTER",
"Failed rebuilding the index of dumped table '%-.64s'", "Failed rebuilding the index of dumped table '%-.64s'",
"Error from master: '%-.64s'", "Error from master: '%-.64s'",
......
...@@ -236,6 +236,18 @@ character-set=cp1250 ...@@ -236,6 +236,18 @@ character-set=cp1250
"Meanje tabela koje podravaju transakcije i onih koje ne podravaju transakcije je iskljueno", "Meanje tabela koje podravaju transakcije i onih koje ne podravaju transakcije je iskljueno",
"Opcija '%s' je upotrebljena dva puta u istom iskazu", "Opcija '%s' je upotrebljena dva puta u istom iskazu",
"User '%-.64s' has exceeded the '%s' resource (current value: %ld)", "User '%-.64s' has exceeded the '%s' resource (current value: %ld)",
"Access denied. You need the %-.128s privilege for this operation",
"Variable '%-.64s' is a SESSION variable and can't be used with SET GLOBAL",
"Variable '%-.64s' is a GLOBAL variable and should be set with SET GLOBAL",
"Variable '%-.64s' doesn't have a default value",
"Variable '%-.64s' can't be set to the value of '%-.64s'",
"Wrong argument type to variable '%-.64s'",
"Variable '%-.64s' can only be set, not read",
"Wrong usage/placement of '%s'",
"This version of MySQL doesn't yet support '%s'",
"Got fatal error %d: '%-.128s' from master when reading data from binary log",
"Slave SQL thread ignored the query because of replicate-*-table rules",
"Variable '%-.64s' is a %s variable",
"Wrong foreign key definition for '%-.64s': %s", "Wrong foreign key definition for '%-.64s': %s",
"Key reference and table reference doesn't match", "Key reference and table reference doesn't match",
"Operand should contain %d column(s)", "Operand should contain %d column(s)",
......
...@@ -1386,7 +1386,7 @@ int fetch_master_table(THD *thd, const char *db_name, const char *table_name, ...@@ -1386,7 +1386,7 @@ int fetch_master_table(THD *thd, const char *db_name, const char *table_name,
thd->net.no_send_ok = 0; // Clear up garbage after create_table_from_dump thd->net.no_send_ok = 0; // Clear up garbage after create_table_from_dump
if (!called_connected) if (!called_connected)
mysql_close(mysql); mysql_close(mysql);
if (errmsg && thd->net.vio) if (errmsg && thd->vio_ok())
send_error(thd, error, errmsg); send_error(thd, error, errmsg);
DBUG_RETURN(test(error)); // Return 1 on error DBUG_RETURN(test(error)); // Return 1 on error
} }
......
...@@ -746,7 +746,7 @@ bool select_send::send_data(List<Item> &items) ...@@ -746,7 +746,7 @@ bool select_send::send_data(List<Item> &items)
} }
} }
thd->sent_row_count++; thd->sent_row_count++;
if (!thd->net.vio) if (!thd->vio_ok())
DBUG_RETURN(0); DBUG_RETURN(0);
if (!thd->net.report_error) if (!thd->net.report_error)
DBUG_RETURN(protocol->write()); DBUG_RETURN(protocol->write());
......
...@@ -932,8 +932,10 @@ class THD :public ilink, ...@@ -932,8 +932,10 @@ class THD :public ilink,
net.last_errno= 0; net.last_errno= 0;
net.report_error= 0; net.report_error= 0;
} }
inline bool vio_ok() const { return net.vio; }
#else #else
void clear_error(); void clear_error();
inline bool vio_ok() const { return true; }
#endif #endif
inline void fatal_error() inline void fatal_error()
{ {
......
...@@ -1199,7 +1199,8 @@ extern "C" pthread_handler_decl(handle_delayed_insert,arg) ...@@ -1199,7 +1199,8 @@ extern "C" pthread_handler_decl(handle_delayed_insert,arg)
/* request for new delayed insert */ /* request for new delayed insert */
if (!(thd->lock=mysql_lock_tables(thd,&di->table,1))) if (!(thd->lock=mysql_lock_tables(thd,&di->table,1)))
{ {
di->dead=thd->killed=1; // Fatal error di->dead= 1; // Some fatal error
thd->killed= 1;
} }
pthread_cond_broadcast(&di->cond_client); pthread_cond_broadcast(&di->cond_client);
} }
...@@ -1207,7 +1208,8 @@ extern "C" pthread_handler_decl(handle_delayed_insert,arg) ...@@ -1207,7 +1208,8 @@ extern "C" pthread_handler_decl(handle_delayed_insert,arg)
{ {
if (di->handle_inserts()) if (di->handle_inserts())
{ {
di->dead=thd->killed=1; // Some fatal error di->dead= 1; // Some fatal error
thd->killed= 1;
} }
} }
di->status=0; di->status=0;
...@@ -1234,7 +1236,8 @@ extern "C" pthread_handler_decl(handle_delayed_insert,arg) ...@@ -1234,7 +1236,8 @@ extern "C" pthread_handler_decl(handle_delayed_insert,arg)
close_thread_tables(thd); // Free the table close_thread_tables(thd); // Free the table
di->table=0; di->table=0;
di->dead=thd->killed=1; // If error di->dead= 1; // If error
thd->killed= 1;
pthread_cond_broadcast(&di->cond_client); // Safety pthread_cond_broadcast(&di->cond_client); // Safety
pthread_mutex_unlock(&di->mutex); pthread_mutex_unlock(&di->mutex);
......
...@@ -1540,13 +1540,8 @@ void mysqld_list_processes(THD *thd,const char *user, bool verbose) ...@@ -1540,13 +1540,8 @@ void mysqld_list_processes(THD *thd,const char *user, bool verbose)
while ((tmp=it++)) while ((tmp=it++))
{ {
struct st_my_thread_var *mysys_var; struct st_my_thread_var *mysys_var;
#ifndef EMBEDDED_LIBRARY if ((tmp->vio_ok() || tmp->system_thread) &&
if ((tmp->net.vio || tmp->system_thread) &&
(!user || (tmp->user && !strcmp(tmp->user,user))))
#else
if (tmp->system_thread &&
(!user || (tmp->user && !strcmp(tmp->user,user)))) (!user || (tmp->user && !strcmp(tmp->user,user))))
#endif
{ {
thread_info *thd_info=new thread_info; thread_info *thd_info=new thread_info;
......
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