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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
6db47606
Commit
6db47606
authored
Jun 16, 2005
by
serg@serg.mylan
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
parents
e9b47ad3
bb885d03
Changes
27
Show whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
165 additions
and
101 deletions
+165
-101
configure.in
configure.in
+1
-1
extra/yassl/include/lock.hpp
extra/yassl/include/lock.hpp
+3
-3
extra/yassl/include/socket_wrapper.hpp
extra/yassl/include/socket_wrapper.hpp
+2
-2
extra/yassl/mySTL/helpers.hpp
extra/yassl/mySTL/helpers.hpp
+15
-8
extra/yassl/src/lock.cpp
extra/yassl/src/lock.cpp
+3
-3
extra/yassl/src/log.cpp
extra/yassl/src/log.cpp
+2
-2
extra/yassl/src/socket_wrapper.cpp
extra/yassl/src/socket_wrapper.cpp
+8
-8
extra/yassl/src/ssl.cpp
extra/yassl/src/ssl.cpp
+1
-1
extra/yassl/src/timer.cpp
extra/yassl/src/timer.cpp
+3
-3
extra/yassl/taocrypt/include/misc.hpp
extra/yassl/taocrypt/include/misc.hpp
+2
-9
extra/yassl/taocrypt/include/random.hpp
extra/yassl/taocrypt/include/random.hpp
+1
-1
extra/yassl/taocrypt/include/types.hpp
extra/yassl/taocrypt/include/types.hpp
+7
-9
extra/yassl/taocrypt/src/asn.cpp
extra/yassl/taocrypt/src/asn.cpp
+0
-1
extra/yassl/taocrypt/src/integer.cpp
extra/yassl/taocrypt/src/integer.cpp
+34
-6
extra/yassl/taocrypt/src/misc.cpp
extra/yassl/taocrypt/src/misc.cpp
+0
-16
extra/yassl/taocrypt/src/random.cpp
extra/yassl/taocrypt/src/random.cpp
+5
-5
mysql-test/r/information_schema.result
mysql-test/r/information_schema.result
+12
-0
mysql-test/r/select.result
mysql-test/r/select.result
+3
-0
mysql-test/t/information_schema.test
mysql-test/t/information_schema.test
+15
-0
mysql-test/t/select.test
mysql-test/t/select.test
+5
-0
mysys/charset.c
mysys/charset.c
+1
-1
ndb/src/common/mgmcommon/ConfigRetriever.cpp
ndb/src/common/mgmcommon/ConfigRetriever.cpp
+0
-2
ndb/src/common/transporter/TransporterRegistry.cpp
ndb/src/common/transporter/TransporterRegistry.cpp
+1
-1
ndb/src/kernel/main.cpp
ndb/src/kernel/main.cpp
+6
-0
sql/sql_lex.h
sql/sql_lex.h
+8
-0
sql/sql_show.cc
sql/sql_show.cc
+25
-19
sql/structs.h
sql/structs.h
+2
-0
No files found.
configure.in
View file @
6db47606
...
...
@@ -2273,7 +2273,7 @@ AC_ARG_WITH([mysqlmanager],
[if test "x${withval}" != "xno"; then
tools_dirs="$tools_dirs server-tools"
fi],
[if test "x${with_server}" =
=
"xyes"; then
[if test "x${with_server}" = "xyes"; then
tools_dirs="$tools_dirs server-tools"
fi]
)
...
...
extra/yassl/include/lock.hpp
View file @
6db47606
...
...
@@ -31,7 +31,7 @@ namespace yaSSL {
#ifdef MULTI_THREADED
#ifdef WIN32
#ifdef
_
WIN32
#include <windows.h>
class
Mutex
{
...
...
@@ -50,7 +50,7 @@ namespace yaSSL {
~
Lock
();
};
};
#else // WIN32
#else //
_
WIN32
#include <pthread.h>
class
Mutex
{
...
...
@@ -71,7 +71,7 @@ namespace yaSSL {
};
};
#endif // WIN32
#endif //
_
WIN32
#else // MULTI_THREADED (WE'RE SINGLE)
class
Mutex
{
...
...
extra/yassl/include/socket_wrapper.hpp
View file @
6db47606
...
...
@@ -31,7 +31,7 @@
#include <assert.h>
#ifdef WIN32
#ifdef
_
WIN32
#include <winsock2.h>
#else
#include <sys/time.h>
...
...
@@ -47,7 +47,7 @@ namespace yaSSL {
typedef
unsigned
int
uint
;
#ifdef WIN32
#ifdef
_
WIN32
typedef
SOCKET
socket_t
;
#else
typedef
int
socket_t
;
...
...
extra/yassl/mySTL/helpers.hpp
View file @
6db47606
...
...
@@ -31,32 +31,39 @@
#include <new> // placement new
#ifdef __IBMCPP__
/*
Workaround for the lack of operator new(size_t, void*)
in IBM VA C++ 6.0
*/
struct
Dummy
{};
inline
void
*
operator
new
(
size_t
size
,
Dummy
*
d
)
{
return
(
void
*
)
d
;
}
typedef
Dummy
*
yassl_pointer
;
struct
Dummy
{};
inline
void
*
operator
new
(
size_t
size
,
Dummy
*
d
)
{
return
static_cast
<
void
*>
(
d
);
}
typedef
Dummy
*
yassl_pointer
;
#else
typedef
void
*
yassl_pointer
;
typedef
void
*
yassl_pointer
;
#endif
namespace
mySTL
{
template
<
typename
T
,
typename
T2
>
inline
void
construct
(
T
*
p
,
const
T2
&
value
)
{
new
(
(
yassl_pointer
)
p
)
T
(
value
);
new
(
reinterpret_cast
<
yassl_pointer
>
(
p
)
)
T
(
value
);
}
template
<
typename
T
>
inline
void
construct
(
T
*
p
)
{
new
(
static_cast
<
void
*
>
(
p
))
T
();
new
(
reinterpret_cast
<
yassl_pointer
>
(
p
))
T
();
}
...
...
extra/yassl/src/lock.cpp
View file @
6db47606
...
...
@@ -29,7 +29,7 @@ namespace yaSSL {
#ifdef MULTI_THREADED
#ifdef WIN32
#ifdef
_
WIN32
Mutex
::
Mutex
()
{
...
...
@@ -54,7 +54,7 @@ namespace yaSSL {
LeaveCriticalSection
(
&
mutex_
.
cs_
);
}
#else // WIN32
#else //
_
WIN32
Mutex
::
Mutex
()
{
...
...
@@ -80,7 +80,7 @@ namespace yaSSL {
}
#endif // WIN32
#endif //
_
WIN32
#endif // MULTI_THREADED
...
...
extra/yassl/src/log.cpp
View file @
6db47606
...
...
@@ -78,7 +78,7 @@ namespace yaSSL {
}
#if defined(WIN32) || defined(__MACH__) || defined(__hpux__)
#if defined(
_
WIN32) || defined(__MACH__) || defined(__hpux__)
typedef
int
socklen_t
;
#endif
...
...
extra/yassl/src/socket_wrapper.cpp
View file @
6db47606
...
...
@@ -28,7 +28,7 @@
#include "socket_wrapper.hpp"
#ifndef WIN32
#ifndef
_
WIN32
#include <errno.h>
#include <netdb.h>
#include <unistd.h>
...
...
@@ -36,19 +36,19 @@
#include <netinet/in.h>
#include <sys/ioctl.h>
#include <string.h>
#endif // WIN32
#endif //
_
WIN32
#ifdef __sun
#include <sys/filio.h>
#endif
#ifdef WIN32
#ifdef
_
WIN32
const
int
SOCKET_EINVAL
=
WSAEINVAL
;
const
int
SOCKET_EWOULDBLOCK
=
WSAEWOULDBLOCK
;
#else
const
int
SOCKET_EINVAL
=
EINVAL
;
const
int
SOCKET_EWOULDBLOCK
=
EWOULDBLOCK
;
#endif // WIN32
#endif //
_
WIN32
namespace
yaSSL
{
...
...
@@ -80,7 +80,7 @@ Socket::~Socket()
void
Socket
::
closeSocket
()
{
if
(
socket_
!=
INVALID_SOCKET
)
{
#ifdef WIN32
#ifdef
_
WIN32
closesocket
(
socket_
);
#else
close
(
socket_
);
...
...
@@ -94,7 +94,7 @@ uint Socket::get_ready() const
{
unsigned
long
ready
=
0
;
#ifdef WIN32
#ifdef
_
WIN32
ioctlsocket
(
socket_
,
FIONREAD
,
&
ready
);
#else
ioctl
(
socket_
,
FIONREAD
,
&
ready
);
...
...
@@ -145,7 +145,7 @@ void Socket::shutDown(int how)
int
Socket
::
get_lastError
()
{
#ifdef WIN32
#ifdef
_
WIN32
return
WSAGetLastError
();
#else
return
errno
;
...
...
@@ -155,7 +155,7 @@ int Socket::get_lastError()
void
Socket
::
set_lastError
(
int
errorCode
)
{
#ifdef WIN32
#ifdef
_
WIN32
WSASetLastError
(
errorCode
);
#else
errno
=
errorCode
;
...
...
extra/yassl/src/ssl.cpp
View file @
6db47606
...
...
@@ -32,11 +32,11 @@
/* see man pages for function descriptions */
#include "runtime.hpp"
#include "openssl/ssl.h"
#include "handshake.hpp"
#include "yassl_int.hpp"
#include <stdio.h>
#include "runtime.hpp"
namespace
yaSSL
{
...
...
extra/yassl/src/timer.cpp
View file @
6db47606
...
...
@@ -27,7 +27,7 @@
namespace
yaSSL
{
#ifdef WIN32
#ifdef
_
WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
...
...
@@ -54,7 +54,7 @@ namespace yaSSL {
return
static_cast
<
uint
>
(
timer
());
}
#else // WIN32
#else //
_
WIN32
#include <sys/time.h>
...
...
@@ -77,5 +77,5 @@ namespace yaSSL {
}
#endif // WIN32
#endif //
_
WIN32
}
// namespace yaSSL
extra/yassl/taocrypt/include/misc.hpp
View file @
6db47606
...
...
@@ -30,14 +30,9 @@
#include "types.hpp"
#include "type_traits.hpp"
/*
namespace GCC_ABI {
extern "C" int __cxa_pure_virtual();
} */
namespace
TaoCrypt
{
// using GCC_ABI::__cxa_pure_virtual;
namespace
TaoCrypt
{
// library allocation
struct
new_t
{};
// TaoCrypt New type
...
...
@@ -75,7 +70,7 @@ void tcArrayDelete(T* ptr)
// to resolve compiler generated operator delete on base classes with
// virtual destructors, make sure doesn't get called
// virtual destructors
(when on stack)
, make sure doesn't get called
class
virtual_base
{
public:
static
void
operator
delete
(
void
*
)
{
assert
(
0
);
}
...
...
@@ -742,8 +737,6 @@ unsigned int BytePrecision(unsigned long value);
unsigned
int
BitPrecision
(
unsigned
long
);
unsigned
long
Crop
(
unsigned
long
value
,
unsigned
int
size
);
void
CallNewHandler
();
}
// namespace
...
...
extra/yassl/taocrypt/include/random.hpp
View file @
6db47606
...
...
@@ -42,7 +42,7 @@ public:
void
GenerateSeed
(
byte
*
,
word32
sz
);
Error
GetError
()
const
{
return
error_
;
}
private:
#if defined(WIN32)
#if defined(
_
WIN32)
#if defined(_WIN64)
typedef
unsigned
__int64
ProviderHandle
;
// type HCRYPTPROV, avoid #include <windows.h>
...
...
extra/yassl/taocrypt/include/types.hpp
View file @
6db47606
...
...
@@ -81,8 +81,6 @@ typedef unsigned int word32;
#define TAOCRYPT_NATIVE_DWORD_AVAILABLE
#ifdef WORD64_AVAILABLE
#define TAOCRYPT_SLOW_WORD64
// define this if your CPU is not64-bit to use alternative code
// that avoids word64
typedef
word16
hword
;
typedef
word32
word
;
typedef
word64
dword
;
...
...
extra/yassl/taocrypt/src/asn.cpp
View file @
6db47606
...
...
@@ -22,7 +22,6 @@
/* asn.cpp implements ASN1 BER, PublicKey, and x509v3 decoding
*/
#include "runtime.hpp"
#include "asn.hpp"
#include "file.hpp"
...
...
extra/yassl/taocrypt/src/integer.cpp
View file @
6db47606
...
...
@@ -23,6 +23,7 @@
/* based on Wei Dai's integer.cpp from CryptoPP */
#include "runtime.hpp"
#include "integer.hpp"
#include "modarith.hpp"
#include "asn.hpp"
...
...
@@ -34,6 +35,21 @@
#endif
#if defined(_MSC_VER) && defined(_WIN64) // 64 bit X overflow intrinsic
#ifdef __ia64__
#define myUMULH __UMULH
#elif __x86_64__
#define myUMULH __umulh
#else
#error unknown 64bit windows
#endif
extern
"C"
word
myUMULH
(
word
,
word
);
#pragma intrinsic (myUMULH)
#endif
#ifdef SSE2_INTRINSICS_AVAILABLE
#ifdef __GNUC__
#include <xmmintrin.h>
...
...
@@ -73,16 +89,15 @@ CPP_TYPENAME AllocatorBase<T>::pointer AlignedAllocator<T>::allocate(
{
void
*
p
;
#ifdef TAOCRYPT_MM_MALLOC_AVAILABLE
while
(
!
(
p
=
_mm_malloc
(
sizeof
(
T
)
*
n
,
16
)))
p
=
_mm_malloc
(
sizeof
(
T
)
*
n
,
16
);
#elif defined(TAOCRYPT_MEMALIGN_AVAILABLE)
while
(
!
(
p
=
memalign
(
16
,
sizeof
(
T
)
*
n
)))
p
=
memalign
(
16
,
sizeof
(
T
)
*
n
);
#elif defined(TAOCRYPT_MALLOC_ALIGNMENT_IS_16)
while
(
!
(
p
=
malloc
(
sizeof
(
T
)
*
n
)))
p
=
malloc
(
sizeof
(
T
)
*
n
);
#else
while
(
!
(
p
=
(
byte
*
)
malloc
(
sizeof
(
T
)
*
n
+
8
)))
p
=
(
byte
*
)
malloc
(
sizeof
(
T
)
*
n
+
8
);
// assume malloc alignment is at least 8
#endif
CallNewHandler
();
#ifdef TAOCRYPT_NO_ALIGNED_ALLOC
assert
(
m_pBlock
==
0
);
...
...
@@ -156,8 +171,14 @@ DWord() {}
static
DWord
Multiply
(
word
a
,
word
b
)
{
DWord
r
;
#ifdef TAOCRYPT_NATIVE_DWORD_AVAILABLE
r
.
whole_
=
(
dword
)
a
*
b
;
#elif defined(_MSC_VER)
r
.
halfs_
.
low
=
a
*
b
;
r
.
halfs_
.
high
=
myUMULH
(
a
,
b
);
#elif defined(__alpha__)
r
.
halfs_
.
low
=
a
*
b
;
#ifdef __GNUC__
...
...
@@ -166,22 +187,27 @@ DWord() {}
#elif defined(__DECCXX)
r
.
halfs_
.
high
=
asm
(
"umulh %a0, %a1, %v0"
,
a
,
b
);
#else
#error
can not implement multiply overflow
#error
unknown alpha compiler
#endif
#elif defined(__ia64__)
r
.
halfs_
.
low
=
a
*
b
;
__asm__
(
"xmpy.hu %0=%1,%2"
:
"=f"
(
r
.
halfs_
.
high
)
:
"f"
(
a
),
"f"
(
b
));
#elif defined(_ARCH_PPC64)
r
.
halfs_
.
low
=
a
*
b
;
__asm__
(
"mulhdu %0,%1,%2"
:
"=r"
(
r
.
halfs_
.
high
)
:
"r"
(
a
),
"r"
(
b
)
:
"cc"
);
#elif defined(__x86_64__)
__asm__
(
"mulq %3"
:
"=d"
(
r
.
halfs_
.
high
),
"=a"
(
r
.
halfs_
.
low
)
:
"a"
(
a
),
"rm"
(
b
)
:
"cc"
);
#elif defined(__mips64)
__asm__
(
"dmultu %2,%3"
:
"=h"
(
r
.
halfs_
.
high
),
"=l"
(
r
.
halfs_
.
low
)
:
"r"
(
a
),
"r"
(
b
));
#elif defined(_M_IX86)
// for testing
word64
t
=
(
word64
)
a
*
b
;
...
...
@@ -190,6 +216,7 @@ DWord() {}
#else
#error can not implement DWord
#endif
return
r
;
}
...
...
@@ -3936,5 +3963,6 @@ template hword DivideThreeWordsByTwo<hword, Word>(hword*, hword, hword, Word*);
template
word
DivideThreeWordsByTwo
<
word
,
DWord
>(
word
*
,
word
,
word
,
DWord
*
);
#endif
}
// namespace
extra/yassl/taocrypt/src/misc.cpp
View file @
6db47606
...
...
@@ -64,10 +64,6 @@ void* operator new[](size_t sz);
void operator delete[](void* ptr);
*/
/* namespace GCC_ABI {
extern "C" int __cxa_pure_virtual() { assert(0); return 0; }
} */
namespace
TaoCrypt
{
...
...
@@ -135,17 +131,5 @@ unsigned long Crop(unsigned long value, unsigned int size)
}
#if !(defined(_MSC_VER) && (_MSC_VER < 1300)) && \
!(defined(__HP_aCC) && (__HP_aCC <= 36300))
using
std
::
new_handler
;
using
std
::
set_new_handler
;
#endif
void
CallNewHandler
()
{
abort
();
}
}
// namespace
extra/yassl/taocrypt/src/random.cpp
View file @
6db47606
...
...
@@ -26,7 +26,7 @@
#include "random.hpp"
#if defined(WIN32)
#if defined(
_
WIN32)
#define _WIN32_WINNT 0x0400
#include <windows.h>
#include <wincrypt.h>
...
...
@@ -34,7 +34,7 @@
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>
#endif // WIN32
#endif //
_
WIN32
namespace
TaoCrypt
{
...
...
@@ -64,7 +64,7 @@ byte RandomNumberGenerator::GenerateByte()
}
#if defined(WIN32)
#if defined(
_
WIN32)
OS_Seed
::
OS_Seed
()
{
...
...
@@ -87,7 +87,7 @@ void OS_Seed::GenerateSeed(byte* output, word32 sz)
}
#else // WIN32
#else //
_
WIN32
OS_Seed
::
OS_Seed
()
...
...
@@ -122,7 +122,7 @@ void OS_Seed::GenerateSeed(byte* output, word32 sz)
}
}
#endif // WIN32
#endif //
_
WIN32
...
...
mysql-test/r/information_schema.result
View file @
6db47606
...
...
@@ -823,3 +823,15 @@ GRANT SELECT ON *.* TO 'user4'@'localhost'
drop user user1@localhost, user2@localhost, user3@localhost, user4@localhost;
use test;
drop database mysqltest;
create procedure p1 () modifies sql data set @a = 5;
create procedure p2 () set @a = 5;
select sql_data_access from information_schema.routines
where specific_name like 'p%';
sql_data_access
MODIFIES SQL DATA
CONTAINS SQL
drop procedure p1;
drop procedure p2;
show create database information_schema;
Database Create Database
information_schema CREATE DATABASE `information_schema` /*!40100 DEFAULT CHARACTER SET utf8 */
mysql-test/r/select.result
View file @
6db47606
...
...
@@ -2699,3 +2699,6 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 3
1 SIMPLE t1 ALL NULL NULL NULL NULL 5 Using where
DROP TABLE t1,t2;
select x'10' + 0, X'10' + 0, b'10' + 0, B'10' + 0;
x'10' + 0 X'10' + 0 b'10' + 0 B'10' + 0
16 16 2 2
mysql-test/t/information_schema.test
View file @
6db47606
...
...
@@ -542,3 +542,18 @@ connection default;
drop
user
user1
@
localhost
,
user2
@
localhost
,
user3
@
localhost
,
user4
@
localhost
;
use
test
;
drop
database
mysqltest
;
#
# Bug #11055 information_schema: routines.sql_data_access has wrong value
#
create
procedure
p1
()
modifies
sql
data
set
@
a
=
5
;
create
procedure
p2
()
set
@
a
=
5
;
select
sql_data_access
from
information_schema
.
routines
where
specific_name
like
'p%'
;
drop
procedure
p1
;
drop
procedure
p2
;
#
# Bug #9434 SHOW CREATE DATABASE information_schema;
#
show
create
database
information_schema
;
mysql-test/t/select.test
View file @
6db47606
...
...
@@ -2271,3 +2271,8 @@ EXPLAIN SELECT t1.a FROM t1 INNER JOIN t2 ON t1.a=t2.a;
DROP
TABLE
t1
,
t2
;
#
# Bug #10650
#
select
x
'10'
+
0
,
X
'10'
+
0
,
b
'10'
+
0
,
B
'10'
+
0
;
mysys/charset.c
View file @
6db47606
...
...
@@ -97,7 +97,7 @@ static my_bool init_state_maps(CHARSET_INFO *cs)
/* Special handling of hex and binary strings */
state_map
[(
uchar
)
'x'
]
=
state_map
[(
uchar
)
'X'
]
=
(
uchar
)
MY_LEX_IDENT_OR_HEX
;
state_map
[(
uchar
)
'b'
]
=
state_map
[(
uchar
)
'
b
'
]
=
(
uchar
)
MY_LEX_IDENT_OR_BIN
;
state_map
[(
uchar
)
'b'
]
=
state_map
[(
uchar
)
'
B
'
]
=
(
uchar
)
MY_LEX_IDENT_OR_BIN
;
state_map
[(
uchar
)
'n'
]
=
state_map
[(
uchar
)
'N'
]
=
(
uchar
)
MY_LEX_IDENT_OR_NCHAR
;
return
0
;
}
...
...
ndb/src/common/mgmcommon/ConfigRetriever.cpp
View file @
6db47606
...
...
@@ -139,8 +139,6 @@ ConfigRetriever::getConfig(NdbMgmHandle m_handle){
return
0
;
}
ndb_mgm_disconnect
(
m_handle
);
return
conf
;
}
...
...
ndb/src/common/transporter/TransporterRegistry.cpp
View file @
6db47606
...
...
@@ -1208,7 +1208,7 @@ TransporterRegistry::report_connect(NodeId node_id)
void
TransporterRegistry
::
report_disconnect
(
NodeId
node_id
,
int
errnum
)
{
DBUG_ENTER
(
"TransporterRegistry::report_connect"
);
DBUG_ENTER
(
"TransporterRegistry::report_
dis
connect"
);
DBUG_PRINT
(
"info"
,(
"performStates[%d]=DISCONNECTED"
,
node_id
));
performStates
[
node_id
]
=
DISCONNECTED
;
reportDisconnect
(
callbackObj
,
node_id
,
errnum
);
...
...
ndb/src/kernel/main.cpp
View file @
6db47606
...
...
@@ -101,6 +101,12 @@ int main(int argc, char** argv)
*/
catchsigs
(
true
);
/**
* We no longer need the mgm connection in this process
* (as we are the angel, not ndb)
*/
theConfig
->
closeConfiguration
();
int
status
=
0
;
while
(
waitpid
(
child
,
&
status
,
0
)
!=
child
);
if
(
WIFEXITED
(
status
)){
...
...
sql/sql_lex.h
View file @
6db47606
...
...
@@ -114,6 +114,14 @@ enum enum_sp_data_access
SP_MODIFIES_SQL_DATA
};
const
LEX_STRING
sp_data_access_name
[]
=
{
{
(
char
*
)
STRING_WITH_LEN
(
""
)
},
{
(
char
*
)
STRING_WITH_LEN
(
"CONTAINS SQL"
)
},
{
(
char
*
)
STRING_WITH_LEN
(
"NO SQL"
)
},
{
(
char
*
)
STRING_WITH_LEN
(
"READS SQL DATA"
)
},
{
(
char
*
)
STRING_WITH_LEN
(
"MODIFIES SQL DATA"
)
}
};
#define DERIVED_SUBQUERY 1
#define DERIVED_VIEW 2
...
...
sql/sql_show.cc
View file @
6db47606
...
...
@@ -448,7 +448,14 @@ bool mysqld_show_create_db(THD *thd, char *dbname,
DBUG_RETURN
(
TRUE
);
}
#endif
if
(
!
my_strcasecmp
(
system_charset_info
,
dbname
,
information_schema_name
.
str
))
{
dbname
=
information_schema_name
.
str
;
create
.
default_table_charset
=
system_charset_info
;
}
else
{
(
void
)
sprintf
(
path
,
"%s/%s"
,
mysql_data_home
,
dbname
);
length
=
unpack_dirname
(
path
,
path
);
// Convert if not unix
found_libchar
=
0
;
...
...
@@ -466,7 +473,7 @@ bool mysqld_show_create_db(THD *thd, char *dbname,
path
[
length
-
1
]
=
FN_LIBCHAR
;
strmov
(
path
+
length
,
MY_DB_OPT_FILE
);
load_db_opt
(
thd
,
path
,
&
create
);
}
List
<
Item
>
field_list
;
field_list
.
push_back
(
new
Item_empty_string
(
"Database"
,
NAME_LEN
));
field_list
.
push_back
(
new
Item_empty_string
(
"Create Database"
,
1024
));
...
...
@@ -2645,6 +2652,7 @@ bool store_schema_proc(THD *thd, TABLE *table, TABLE *proc_table,
restore_record
(
table
,
s
->
default_values
);
if
(
!
wild
||
!
wild
[
0
]
||
!
wild_compare
(
sp_name
,
wild
,
0
))
{
int
enum_idx
=
proc_table
->
field
[
5
]
->
val_int
();
table
->
field
[
3
]
->
store
(
sp_name
,
strlen
(
sp_name
),
cs
);
get_field
(
thd
->
mem_root
,
proc_table
->
field
[
3
],
&
tmp_string
);
table
->
field
[
0
]
->
store
(
tmp_string
.
ptr
(),
tmp_string
.
length
(),
cs
);
...
...
@@ -2666,10 +2674,8 @@ bool store_schema_proc(THD *thd, TABLE *table, TABLE *proc_table,
table
->
field
[
10
]
->
store
(
"SQL"
,
3
,
cs
);
get_field
(
thd
->
mem_root
,
proc_table
->
field
[
6
],
&
tmp_string
);
table
->
field
[
11
]
->
store
(
tmp_string
.
ptr
(),
tmp_string
.
length
(),
cs
);
if
(
proc_table
->
field
[
5
]
->
val_int
()
==
SP_CONTAINS_SQL
)
{
table
->
field
[
12
]
->
store
(
"CONTAINS SQL"
,
12
,
cs
);
}
table
->
field
[
12
]
->
store
(
sp_data_access_name
[
enum_idx
].
str
,
sp_data_access_name
[
enum_idx
].
length
,
cs
);
get_field
(
thd
->
mem_root
,
proc_table
->
field
[
7
],
&
tmp_string
);
table
->
field
[
14
]
->
store
(
tmp_string
.
ptr
(),
tmp_string
.
length
(),
cs
);
bzero
((
char
*
)
&
time
,
sizeof
(
time
));
...
...
sql/structs.h
View file @
6db47606
...
...
@@ -20,6 +20,8 @@
struct
st_table
;
class
Field
;
#define STRING_WITH_LEN(X) X, (sizeof(X)-1)
typedef
struct
st_lex_string
{
char
*
str
;
...
...
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