Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
cc6407f1
Commit
cc6407f1
authored
Jun 17, 2002
by
hf@bison.(none)
Browse files
Options
Browse Files
Download
Plain Diff
Resolving of conflicts from pull
parents
67c06bf6
9ba0b3bc
Changes
17
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
633 additions
and
306 deletions
+633
-306
BitKeeper/etc/logging_ok
BitKeeper/etc/logging_ok
+2
-1
include/mysql.h
include/mysql.h
+22
-3
include/violite.h
include/violite.h
+7
-2
libmysqld/embedded_priv.h
libmysqld/embedded_priv.h
+3
-0
libmysqld/lib_sql.cc
libmysqld/lib_sql.cc
+377
-6
libmysqld/lib_vio.c
libmysqld/lib_vio.c
+20
-7
libmysqld/libmysqld.c
libmysqld/libmysqld.c
+119
-252
sql/ha_myisam.cc
sql/ha_myisam.cc
+1
-1
sql/mysql_priv.h
sql/mysql_priv.h
+9
-0
sql/net_pkg.cc
sql/net_pkg.cc
+15
-1
sql/sql_acl.cc
sql/sql_acl.cc
+4
-0
sql/sql_base.cc
sql/sql_base.cc
+2
-0
sql/sql_class.cc
sql/sql_class.cc
+3
-0
sql/sql_class.h
sql/sql_class.h
+14
-7
sql/sql_parse.cc
sql/sql_parse.cc
+3
-1
sql/sql_show.cc
sql/sql_show.cc
+27
-23
sql/sql_table.cc
sql/sql_table.cc
+5
-2
No files found.
BitKeeper/etc/logging_ok
View file @
cc6407f1
...
...
@@ -13,6 +13,7 @@ bell@sanja.is.com.ua
davida@isil.mysql.com
heikki@donna.mysql.fi
heikki@hundin.mysql.fi
hf@bison.(none)
jani@dsl-jkl1657.dial.inet.fi
jani@hynda.(none)
jani@hynda.mysql.fi
...
...
@@ -63,8 +64,8 @@ tonu@hundin.mysql.fi
tonu@volk.internalnet
tonu@x153.internalnet
tonu@x3.internalnet
venu@myvenu.com
venu@work.mysql.com
worm@altair.is.lan
zak@balfor.local
zak@linux.local
venu@myvenu.com
include/mysql.h
View file @
cc6407f1
...
...
@@ -125,6 +125,9 @@ typedef struct st_mysql_data {
unsigned
int
fields
;
MYSQL_ROWS
*
data
;
MEM_ROOT
alloc
;
#ifdef EMBEDDED_LIBRARY
MYSQL_ROWS
**
prev_ptr
;
#endif
}
MYSQL_DATA
;
struct
st_mysql_options
{
...
...
@@ -154,13 +157,20 @@ struct st_mysql_options {
a read that is replication-aware
*/
my_bool
no_master_reads
;
#ifdef EMBEDDED_LIBRARY
my_bool
separate_thread
;
#endif
};
enum
mysql_option
{
MYSQL_OPT_CONNECT_TIMEOUT
,
MYSQL_OPT_COMPRESS
,
MYSQL_OPT_NAMED_PIPE
,
MYSQL_INIT_COMMAND
,
MYSQL_READ_DEFAULT_FILE
,
MYSQL_READ_DEFAULT_GROUP
,
MYSQL_SET_CHARSET_DIR
,
MYSQL_SET_CHARSET_NAME
,
MYSQL_OPT_LOCAL_INFILE
};
MYSQL_OPT_LOCAL_INFILE
,
#ifdef EMBEDDED_LIBRARY
MYSQL_OPT_USE_RESULT
#endif
};
enum
mysql_status
{
MYSQL_STATUS_READY
,
MYSQL_STATUS_GET_RESULT
,
MYSQL_STATUS_USE_RESULT
};
...
...
@@ -173,12 +183,18 @@ enum mysql_status { MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT,
enum
mysql_rpl_type
{
MYSQL_RPL_MASTER
,
MYSQL_RPL_SLAVE
,
MYSQL_RPL_ADMIN
};
struct
st_mysql_res
;
typedef
struct
st_mysql
{
NET
net
;
/* Communication parameters */
gptr
connector_fd
;
/* ConnectorFd for SSL */
char
*
host
,
*
user
,
*
passwd
,
*
unix_socket
,
*
server_version
,
*
host_info
,
*
info
,
*
db
;
#ifndef _0EMBEDDED_LIBRARY
char
*
host
,
*
user
,
*
passwd
,
*
unix_socket
,
*
server_version
,
*
host_info
,
*
info
;
#endif
#ifdef EMBEDDED_LIBRARY
struct
st_mysql_res
*
result
;
#endif
char
*
db
;
struct
charset_info_st
*
charset
;
MYSQL_FIELD
*
fields
;
MEM_ROOT
field_alloc
;
...
...
@@ -214,6 +230,9 @@ typedef struct st_mysql {
typedef
struct
st_mysql_res
{
#ifdef EMBEDDED_LIBRARY
const
char
*
query_str
;
#endif
my_ulonglong
row_count
;
MYSQL_FIELD
*
fields
;
MYSQL_DATA
*
data
;
...
...
include/violite.h
View file @
cc6407f1
...
...
@@ -31,8 +31,13 @@
extern
"C"
{
#endif
/* __cplusplus */
enum
enum_vio_type
{
VIO_CLOSED
,
VIO_TYPE_TCPIP
,
VIO_TYPE_SOCKET
,
VIO_TYPE_NAMEDPIPE
,
VIO_TYPE_SSL
};
enum
enum_vio_type
{
VIO_CLOSED
,
VIO_TYPE_TCPIP
,
VIO_TYPE_SOCKET
,
VIO_TYPE_NAMEDPIPE
,
VIO_TYPE_SSL
#ifdef EMBEDDED_LIBRARY
,
VIO_SHARED_MEMORY
,
VIO_BUFFER
#endif
};
#ifndef __WIN__
#define HANDLE void *
...
...
libmysqld/embedded_priv.h
View file @
cc6407f1
...
...
@@ -29,4 +29,7 @@ extern void end_embedded_connection(NET * net);
extern
void
lib_connection_phase
(
NET
*
net
,
int
phase
);
extern
bool
lib_dispatch_command
(
enum
enum_server_command
command
,
NET
*
net
,
const
char
*
arg
,
ulong
length
);
extern
void
init_embedded_mysql
(
MYSQL
*
mysql
,
int
client_flag
,
char
*
db
);
extern
void
*
create_embedded_thd
(
Vio
*
vio
,
unsigned
char
*
buff
,
int
client_flag
,
char
*
db
);
extern
NET
*
get_mysql_net
(
MYSQL
*
mysql
);
C_MODE_END
libmysqld/lib_sql.cc
View file @
cc6407f1
This diff is collapsed.
Click to expand it.
libmysqld/lib_vio.c
View file @
cc6407f1
...
...
@@ -42,14 +42,7 @@
struct
st_vio
{
my_socket
sd
;
/* my_socket - real or imaginary */
HANDLE
hPipe
;
my_bool
localhost
;
/* Are we from localhost? */
int
fcntl_mode
;
/* Buffered fcntl(sd,F_GETFL) */
struct
sockaddr_in
local
;
/* Local internet address */
struct
sockaddr_in
remote
;
/* Remote internet address */
enum
enum_vio_type
type
;
/* Type of connection */
char
desc
[
30
];
/* String description */
void
*
dest_thd
;
char
*
packets
,
**
last_packet
;
char
*
where_in_packet
,
*
end_of_packet
;
...
...
@@ -57,6 +50,7 @@ struct st_vio
MEM_ROOT
root
;
};
/* Initialize the communication buffer */
Vio
*
vio_new
(
my_socket
sd
,
enum
enum_vio_type
type
,
my_bool
localhost
)
...
...
@@ -69,6 +63,7 @@ Vio *vio_new(my_socket sd, enum enum_vio_type type, my_bool localhost)
init_alloc_root
(
&
vio
->
root
,
8192
,
8192
);
vio
->
root
.
min_malloc
=
sizeof
(
char
*
)
+
4
;
vio
->
last_packet
=
&
vio
->
packets
;
vio
->
type
=
type
;
}
DBUG_RETURN
(
vio
);
}
...
...
@@ -219,4 +214,22 @@ my_bool vio_poll_read(Vio *vio,uint timeout)
return
0
;
}
int
create_vio
(
NET
*
net
,
int
separate_thread
)
{
Vio
*
v
=
net
->
vio
;
if
(
!
v
)
{
v
=
vio_new
(
0
,
separate_thread
?
VIO_SHARED_MEMORY
:
VIO_BUFFER
,
0
);
net
->
vio
=
v
;
}
return
!
v
;
}
void
set_thd
(
Vio
*
v
,
void
*
thd
)
{
if
(
v
)
{
v
->
dest_thd
=
thd
;
}
}
#endif
/* HAVE_VIO */
libmysqld/libmysqld.c
View file @
cc6407f1
This diff is collapsed.
Click to expand it.
sql/ha_myisam.cc
View file @
cc6407f1
...
...
@@ -80,7 +80,7 @@ static void mi_check_print_msg(MI_CHECK *param, const char* msg_type,
net_store_data
(
packet
,
msg_type
);
net_store_data
(
packet
,
msgbuf
);
if
(
my_net_write
(
&
thd
->
net
,
(
char
*
)
thd
->
packet
.
ptr
(),
thd
->
packet
.
length
()))
if
(
SEND_ROW
(
thd
,
&
thd
->
net
,
4
,
(
char
*
)
thd
->
packet
.
ptr
(),
thd
->
packet
.
length
()))
sql_print_error
(
"Failed on my_net_write, writing to stderr instead: %s
\n
"
,
msgbuf
);
return
;
...
...
sql/mysql_priv.h
View file @
cc6407f1
...
...
@@ -819,4 +819,13 @@ inline void mark_as_null_row(TABLE *table)
bfill
(
table
->
null_flags
,
table
->
null_bytes
,
255
);
}
#ifdef EMBEDDED_LIBRARY
int
embedded_send_row
(
THD
*
thd
,
int
n_fields
,
char
*
data
,
int
data_len
);
#define SEND_ROW(thd, net, n_fields, data, data_len)\
embedded_send_row(thd, n_fields, data, data_len)
#else
#define SEND_ROW(thd, net, n_fields, data, data_len)\
my_net_write(net, data, data_len)
#endif
#endif
sql/net_pkg.cc
View file @
cc6407f1
...
...
@@ -48,6 +48,11 @@ void send_error(NET *net, uint sql_errno, const char *err)
}
}
}
#ifdef EMBEDDED_LIBRARY
net
->
last_errno
=
sql_errno
;
strmake
(
net
->
last_error
,
err
,
sizeof
(
net
->
last_error
)
-
1
);
#else
push_error
(
sql_errno
,
err
);
if
(
net
->
vio
==
0
)
{
...
...
@@ -71,6 +76,7 @@ void send_error(NET *net, uint sql_errno, const char *err)
set_if_smaller
(
length
,
MYSQL_ERRMSG_SIZE
);
}
VOID
(
net_write_command
(
net
,(
uchar
)
255
,(
char
*
)
err
,
length
));
#endif
/* EMBEDDED_LIBRARY*/
if
(
thd
)
thd
->
fatal_error
=
0
;
// Error message is given
DBUG_VOID_RETURN
;
...
...
@@ -131,6 +137,7 @@ net_printf(NET *net, uint errcode, ...)
length
=
sizeof
(
net
->
last_error
)
-
1
;
/* purecov: inspected */
va_end
(
args
);
#ifndef EMBEDDED_LIBRARY
push_error
(
errcode
,
text_pos
);
if
(
net
->
vio
==
0
)
{
...
...
@@ -149,11 +156,16 @@ net_printf(NET *net, uint errcode, ...)
if
(
offset
)
int2store
(
text_pos
-
2
,
errcode
);
VOID
(
net_real_write
(
net
,(
char
*
)
net
->
buff
,
length
+
head_length
+
1
+
offset
));
#else
net
->
last_errno
=
errcode
;
strmake
(
net
->
last_error
,
text_pos
,
length
);
#endif
if
(
thd
)
thd
->
fatal_error
=
0
;
// Error message is given
DBUG_VOID_RETURN
;
}
#ifndef EMBEDDED_LIBRARY
void
send_ok
(
NET
*
net
,
ha_rows
affected_rows
,
ulonglong
id
,
const
char
*
message
)
...
...
@@ -181,6 +193,8 @@ send_ok(NET *net,ha_rows affected_rows,ulonglong id,const char *message)
DBUG_VOID_RETURN
;
}
#endif
/* EMBEDDED_LIBRARY */
void
send_eof
(
NET
*
net
,
bool
no_flush
)
{
...
...
@@ -348,7 +362,7 @@ bool net_store_data(String* packet, I_List<i_string>* str_list)
I_List_iterator
<
i_string
>
it
(
*
str_list
);
i_string
*
s
;
while
((
s
=
it
++
))
while
((
s
=
it
++
))
{
if
(
tmp
.
length
())
tmp
.
append
(
','
);
...
...
sql/sql_acl.cc
View file @
cc6407f1
...
...
@@ -2553,8 +2553,12 @@ uint get_table_grant(THD *thd, TABLE_LIST *table)
GRANT_TABLE
*
grant_table
;
pthread_mutex_lock
(
&
LOCK_grant
);
#ifdef EMBEDDED_LIBRARY
grant_table
=
NULL
;
#else
grant_table
=
table_hash_search
(
thd
->
host
,
thd
->
ip
,
db
,
user
,
table
->
real_name
,
0
);
#endif
table
->
grant
.
grant_table
=
grant_table
;
// Remember for column test
table
->
grant
.
version
=
grant_version
;
if
(
grant_table
)
...
...
sql/sql_base.cc
View file @
cc6407f1
...
...
@@ -179,6 +179,7 @@ OPEN_TABLE_LIST *list_open_tables(THD *thd, const char *wild)
DBUG_RETURN
(
open_list
);
}
#ifndef EMBEDDED_LIBRARY
/*
Send name and type of result to client.
Sum fields has table name empty and field_name.
...
...
@@ -383,6 +384,7 @@ err:
return
1
;
/* purecov: inspected */
}
#endif
/* EMBEDDED_LIBRARY */
/*****************************************************************************
* Functions to free open table cache
...
...
sql/sql_class.cc
View file @
cc6407f1
...
...
@@ -386,6 +386,8 @@ bool select_send::send_fields(List<Item> &list,uint flag)
}
#ifndef EMBEDDED_LIBRARY
/* Send data to client. Returns 0 if ok */
bool
select_send
::
send_data
(
List
<
Item
>
&
items
)
...
...
@@ -414,6 +416,7 @@ bool select_send::send_data(List<Item> &items)
bool
error
=
my_net_write
(
&
thd
->
net
,(
char
*
)
packet
->
ptr
(),
packet
->
length
());
DBUG_RETURN
(
error
);
}
#endif
/* EMBEDDED_LIBRARY */
bool
select_send
::
send_eof
()
{
...
...
sql/sql_class.h
View file @
cc6407f1
...
...
@@ -319,6 +319,10 @@ class delayed_insert;
#define THD_SENTRY_MAGIC 0xfeedd1ff
#define THD_SENTRY_GONE 0xdeadbeef
#ifdef EMBEDDED_LIBRARY
typedef
struct
st_mysql
;
#endif
#define THD_CHECK_SENTRY(thd) DBUG_ASSERT(thd->dbug_sentry == THD_SENTRY_MAGIC)
/*
...
...
@@ -328,14 +332,17 @@ class delayed_insert;
class
THD
:
public
ilink
{
public:
NET
net
;
// client connection descriptor
LEX
lex
;
// parse tree descriptor
MEM_ROOT
mem_root
;
// 1 command-life memory
NET
net
;
// client connection descriptor
LEX
lex
;
// parse tree descriptor
MEM_ROOT
mem_root
;
// 1 command-life memory allocation pool
HASH
user_vars
;
// hash for user variables
String
packet
;
// dynamic string buffer used for network I/O
struct
sockaddr_in
remote
;
// client socket address
struct
rand_struct
rand
;
// used for authentication
#ifdef EMBEDDED_LIBRARY
struct
st_mysql
*
mysql
;
#endif
MEM_ROOT
con_root
;
// connection-life memory
HASH
user_vars
;
// hash for user variables
String
packet
;
// buffer used for network I/O
struct
sockaddr_in
remote
;
// client socket address
struct
rand_struct
rand
;
// used for authentication
/*
Query points to the current query,
...
...
sql/sql_parse.cc
View file @
cc6407f1
...
...
@@ -825,8 +825,9 @@ err:
}
/* Execute one command from socket (query or simple command) */
#ifndef EMBEDDED_LIBRARY
/* Execute one command from socket (query or simple command) */
bool
do_command
(
THD
*
thd
)
{
char
*
packet
;
...
...
@@ -864,6 +865,7 @@ bool do_command(THD *thd)
DBUG_RETURN
(
dispatch_command
(
command
,
thd
,
packet
+
1
,
(
uint
)
packet_length
));
}
#endif
/* EMBEDDED_LIBRARY */
bool
dispatch_command
(
enum
enum_server_command
command
,
THD
*
thd
,
char
*
packet
,
uint
packet_length
)
...
...
sql/sql_show.cc
View file @
cc6407f1
...
...
@@ -52,8 +52,6 @@ extern struct st_VioSSLAcceptorFd * ssl_acceptor_fd;
** Send list of databases
** A database is a directory in the mysql_data_home directory
****************************************************************************/
int
mysqld_show_dbs
(
THD
*
thd
,
const
char
*
wild
)
{
...
...
@@ -85,8 +83,8 @@ mysqld_show_dbs(THD *thd,const char *wild)
{
thd
->
packet
.
length
(
0
);
net_store_data
(
&
thd
->
packet
,
thd
->
convert_set
,
file_name
);
if
(
my_net_write
(
&
thd
->
net
,
(
char
*
)
thd
->
packet
.
ptr
(),
thd
->
packet
.
length
()))
if
(
SEND_ROW
(
thd
,
&
thd
->
net
,
field_list
.
elements
,
(
char
*
)
thd
->
packet
.
ptr
(),
thd
->
packet
.
length
()))
DBUG_RETURN
(
-
1
);
}
}
...
...
@@ -123,8 +121,9 @@ int mysqld_show_open_tables(THD *thd,const char *wild)
net_store_data
(
&
thd
->
packet
,
convert
,
open_list
->
table
);
net_store_data
(
&
thd
->
packet
,
open_list
->
in_use
);
net_store_data
(
&
thd
->
packet
,
open_list
->
locked
);
if
(
my_net_write
(
&
thd
->
net
,(
char
*
)
thd
->
packet
.
ptr
(),
thd
->
packet
.
length
()))
DBUG_RETURN
(
-
1
);
if
(
SEND_ROW
(
thd
,
&
thd
->
net
,
field_list
.
elements
,
(
char
*
)
thd
->
packet
.
ptr
(),
thd
->
packet
.
length
()))
DBUG_RETURN
(
-
1
);
}
send_eof
(
&
thd
->
net
);
...
...
@@ -162,8 +161,9 @@ int mysqld_show_tables(THD *thd,const char *db,const char *wild)
{
thd
->
packet
.
length
(
0
);
net_store_data
(
&
thd
->
packet
,
thd
->
convert_set
,
file_name
);
if
(
my_net_write
(
&
thd
->
net
,(
char
*
)
thd
->
packet
.
ptr
(),
thd
->
packet
.
length
()))
DBUG_RETURN
(
-
1
);
if
(
SEND_ROW
(
thd
,
&
thd
->
net
,
field_list
.
elements
,
(
char
*
)
thd
->
packet
.
ptr
(),
thd
->
packet
.
length
()))
DBUG_RETURN
(
-
1
);
}
send_eof
(
&
thd
->
net
);
DBUG_RETURN
(
0
);
...
...
@@ -606,9 +606,9 @@ int mysqld_extend_show_tables(THD *thd,const char *db,const char *wild)
}
close_thread_tables
(
thd
,
0
);
}
if
(
my_net_write
(
&
thd
->
net
,(
char
*
)
packet
->
ptr
(),
packet
->
length
()))
DBUG_RETURN
(
-
1
);
if
(
SEND_ROW
(
thd
,
&
thd
->
net
,
field_list
.
elements
,
(
char
*
)
thd
->
packet
.
ptr
(),
thd
->
packet
.
length
()))
DBUG_RETURN
(
-
1
);
}
send_eof
(
&
thd
->
net
);
DBUG_RETURN
(
0
);
...
...
@@ -619,7 +619,6 @@ int mysqld_extend_show_tables(THD *thd,const char *db,const char *wild)
/***************************************************************************
** List all columns in a table
***************************************************************************/
int
mysqld_show_fields
(
THD
*
thd
,
TABLE_LIST
*
table_list
,
const
char
*
wild
,
bool
verbose
)
...
...
@@ -722,8 +721,8 @@ mysqld_show_fields(THD *thd, TABLE_LIST *table_list,const char *wild,
if
(
verbose
)
{
/* Add grant options & comments */
col_access
=
get_column_grant
(
thd
,
table_list
,
field
)
&
COL_ACLS
;
end
=
tmp
;
col_access
=
get_column_grant
(
thd
,
table_list
,
field
)
&
COL_ACLS
;
for
(
uint
bitnr
=
0
;
col_access
;
col_access
>>=
1
,
bitnr
++
)
{
if
(
col_access
&
1
)
...
...
@@ -735,8 +734,9 @@ mysqld_show_fields(THD *thd, TABLE_LIST *table_list,const char *wild,
net_store_data
(
packet
,
convert
,
tmp
+
1
,
end
==
tmp
?
0
:
(
uint
)
(
end
-
tmp
-
1
));
net_store_data
(
packet
,
field
->
comment
.
str
,
field
->
comment
.
length
);
}
if
(
my_net_write
(
&
thd
->
net
,(
char
*
)
packet
->
ptr
(),
packet
->
length
()))
DBUG_RETURN
(
1
);
if
(
SEND_ROW
(
thd
,
&
thd
->
net
,
field_list
.
elements
,
(
char
*
)
thd
->
packet
.
ptr
(),
thd
->
packet
.
length
()))
DBUG_RETURN
(
-
1
);
}
}
}
...
...
@@ -804,8 +804,9 @@ mysqld_show_create(THD *thd, TABLE_LIST *table_list)
int3store
(
p
,
create_len
);
// now we are in business :-)
if
(
my_net_write
(
&
thd
->
net
,
(
char
*
)
packet
->
ptr
(),
packet
->
length
()))
DBUG_RETURN
(
1
);
if
(
SEND_ROW
(
thd
,
&
thd
->
net
,
field_list
.
elements
,
(
char
*
)
thd
->
packet
.
ptr
(),
thd
->
packet
.
length
()))
DBUG_RETURN
(
-
1
);
}
send_eof
(
&
thd
->
net
);
DBUG_RETURN
(
0
);
...
...
@@ -927,8 +928,9 @@ mysqld_show_keys(THD *thd, TABLE_LIST *table_list)
net_store_data
(
packet
,
convert
,
table
->
file
->
index_type
(
i
));
/* Comment */
net_store_data
(
packet
,
convert
,
""
);
if
(
my_net_write
(
&
thd
->
net
,(
char
*
)
packet
->
ptr
(),
packet
->
length
()))
DBUG_RETURN
(
1
);
/* purecov: inspected */
if
(
SEND_ROW
(
thd
,
&
thd
->
net
,
field_list
.
elements
,
(
char
*
)
thd
->
packet
.
ptr
(),
thd
->
packet
.
length
()))
DBUG_RETURN
(
-
1
);
}
}
send_eof
(
&
thd
->
net
);
...
...
@@ -1345,8 +1347,9 @@ void mysqld_list_processes(THD *thd,const char *user, bool verbose)
net_store_data
(
packet
,
convert
,
thd_info
->
query
);
else
net_store_null
(
packet
);
if
(
my_net_write
(
&
thd
->
net
,(
char
*
)
packet
->
ptr
(),
packet
->
length
()))
break
;
/* purecov: inspected */
if
(
SEND_ROW
(
thd
,
&
thd
->
net
,
field_list
.
elements
,
(
char
*
)
thd
->
packet
.
ptr
(),
thd
->
packet
.
length
()))
break
;
}
send_eof
(
&
thd
->
net
);
DBUG_VOID_RETURN
;
...
...
@@ -1630,8 +1633,9 @@ int mysqld_show(THD *thd, const char *wild, show_var_st *variables)
#endif
/* HAVE_OPENSSL */
}
if
(
my_net_write
(
&
thd
->
net
,
(
char
*
)
packet2
.
ptr
(),
packet2
.
length
()))
goto
err
;
/* purecov: inspected */
if
(
SEND_ROW
(
thd
,
&
thd
->
net
,
field_list
.
elements
,
(
char
*
)
packet2
.
ptr
(),
packet2
.
length
()))
goto
err
;
}
}
pthread_mutex_unlock
(
&
LOCK_status
);
...
...
sql/sql_table.cc
View file @
cc6407f1
...
...
@@ -1077,6 +1077,9 @@ static int mysql_admin_table(THD* thd, TABLE_LIST* tables,
thd
->
open_options
|=
extra_open_options
;
table
->
table
=
open_ltable
(
thd
,
table
,
lock_type
);
#ifdef EMBEDDED_LIBRARY
thd
->
net
.
last_errno
=
0
;
// these errors shouldn't get client
#endif
thd
->
open_options
&=
~
extra_open_options
;
packet
->
length
(
0
);
if
(
prepare_func
)
...
...
@@ -1195,8 +1198,8 @@ static int mysql_admin_table(THD* thd, TABLE_LIST* tables,
}
close_thread_tables
(
thd
);
table
->
table
=
0
;
// For query cache
if
(
my_net_write
(
&
thd
->
net
,
(
char
*
)
packet
->
ptr
(),
packet
->
length
()))
if
(
SEND_ROW
(
thd
,
&
thd
->
net
,
field_list
.
elements
,
(
char
*
)
thd
->
packet
.
ptr
(),
thd
->
packet
.
length
()))
goto
err
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment