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
f903f8e3
Commit
f903f8e3
authored
Sep 19, 2005
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/13218-bug-4.1-mysql
parents
5bc45012
d9315344
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
70 additions
and
30 deletions
+70
-30
client/mysqltest.c
client/mysqltest.c
+32
-11
mysql-test/mysql-test-run.pl
mysql-test/mysql-test-run.pl
+16
-5
ndb/src/ndbapi/Ndbinit.cpp
ndb/src/ndbapi/Ndbinit.cpp
+2
-1
ndb/src/ndbapi/ObjectMap.hpp
ndb/src/ndbapi/ObjectMap.hpp
+20
-13
No files found.
client/mysqltest.c
View file @
f903f8e3
...
...
@@ -97,6 +97,10 @@
#define DEFAULT_DELIMITER ";"
#define MAX_DELIMITER 16
#define RESULT_OK 0
#define RESULT_CONTENT_MISMATCH 1
#define RESULT_LENGTH_MISMATCH 2
enum
{
OPT_MANAGER_USER
=
256
,
OPT_MANAGER_HOST
,
OPT_MANAGER_PASSWD
,
OPT_MANAGER_PORT
,
OPT_MANAGER_WAIT_TIMEOUT
,
OPT_SKIP_SAFEMALLOC
,
OPT_SSL_SSL
,
OPT_SSL_KEY
,
OPT_SSL_CERT
,
OPT_SSL_CA
,
OPT_SSL_CAPATH
,
...
...
@@ -650,7 +654,7 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char *fname)
{
DBUG_PRINT
(
"info"
,(
"Size differs: result size: %u file size: %u"
,
ds
->
length
,
stat_info
.
st_size
));
DBUG_RETURN
(
2
);
DBUG_RETURN
(
RESULT_LENGTH_MISMATCH
);
}
if
(
!
(
tmp
=
(
char
*
)
my_malloc
(
stat_info
.
st_size
+
1
,
MYF
(
MY_WME
))))
die
(
NullS
);
...
...
@@ -667,7 +671,7 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char *fname)
res_ptr
=
res_ds
.
str
;
if
((
res_len
=
res_ds
.
length
)
!=
ds
->
length
)
{
res
=
2
;
res
=
RESULT_LENGTH_MISMATCH
;
goto
err
;
}
}
...
...
@@ -677,7 +681,8 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char *fname)
res_len
=
stat_info
.
st_size
;
}
res
=
(
memcmp
(
res_ptr
,
ds
->
str
,
res_len
))
?
1
:
0
;
res
=
(
memcmp
(
res_ptr
,
ds
->
str
,
res_len
))
?
RESULT_CONTENT_MISMATCH
:
RESULT_OK
;
err:
if
(
res
&&
eval_result
)
...
...
@@ -694,21 +699,21 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char *fname)
static
int
check_result
(
DYNAMIC_STRING
*
ds
,
const
char
*
fname
,
my_bool
require_option
)
{
int
error
=
0
;
int
res
=
dyn_string_cmp
(
ds
,
fname
);
int
error
=
RESULT_OK
;
int
res
=
dyn_string_cmp
(
ds
,
fname
);
if
(
res
&&
require_option
)
abort_not_supported_test
();
switch
(
res
)
{
case
0
:
case
RESULT_OK
:
break
;
/* ok */
case
2
:
case
RESULT_LENGTH_MISMATCH
:
verbose_msg
(
"Result length mismatch"
);
error
=
1
;
error
=
RESULT_LENGTH_MISMATCH
;
break
;
case
1
:
case
RESULT_CONTENT_MISMATCH
:
verbose_msg
(
"Result content mismatch"
);
error
=
1
;
error
=
RESULT_CONTENT_MISMATCH
;
break
;
default:
/* impossible */
die
(
"Unknown error code from dyn_string_cmp()"
);
...
...
@@ -3738,8 +3743,9 @@ int main(int argc, char **argv)
{
int
error
=
0
;
struct
st_query
*
q
;
my_bool
require_file
=
0
,
q_send_flag
=
0
;
my_bool
require_file
=
0
,
q_send_flag
=
0
,
query_executed
=
0
;
char
save_file
[
FN_REFLEN
];
MY_STAT
res_info
;
MY_INIT
(
argv
[
0
]);
{
DBUG_ENTER
(
"main"
);
...
...
@@ -3932,6 +3938,7 @@ int main(int argc, char **argv)
save_file
[
0
]
=
0
;
}
error
|=
run_query
(
&
cur_con
->
mysql
,
q
,
flags
);
query_executed
=
1
;
q
->
last_argument
=
q
->
end
;
break
;
}
...
...
@@ -3952,6 +3959,7 @@ int main(int argc, char **argv)
is given on this connection.
*/
error
|=
run_query
(
&
cur_con
->
mysql
,
q
,
QUERY_SEND
);
query_executed
=
1
;
q
->
last_argument
=
q
->
end
;
break
;
case
Q_RESULT
:
...
...
@@ -3992,6 +4000,7 @@ int main(int argc, char **argv)
break
;
case
Q_EXEC
:
do_exec
(
q
);
query_executed
=
1
;
break
;
case
Q_START_TIMER
:
/* Overwrite possible earlier start of timer */
...
...
@@ -4048,6 +4057,18 @@ int main(int argc, char **argv)
parser
.
current_line
+=
current_line_inc
;
}
if
(
!
query_executed
&&
result_file
&&
my_stat
(
result_file
,
&
res_info
,
0
))
{
/*
my_stat() successful on result file. Check if we have not run a
single query, but we do have a result file that contains data.
Note that we don't care, if my_stat() fails. For example for
non-existing or non-readable file we assume it's fine to have
no query output from the test file, e.g. regarded as no error.
*/
if
(
res_info
.
st_size
)
error
|=
(
RESULT_CONTENT_MISMATCH
|
RESULT_LENGTH_MISMATCH
);
}
if
(
result_file
&&
ds_res
.
length
&&
!
error
)
{
if
(
!
record
)
...
...
mysql-test/mysql-test-run.pl
View file @
f903f8e3
...
...
@@ -258,6 +258,7 @@ our $opt_user;
our
$opt_user_test
;
our
$opt_valgrind
;
our
$opt_valgrind_mysqltest
;
our
$opt_valgrind_all
;
our
$opt_valgrind_options
;
...
...
@@ -512,6 +513,7 @@ sub command_line_setup () {
'
gcov
'
=>
\
$opt_gcov
,
'
gprof
'
=>
\
$opt_gprof
,
'
valgrind:s
'
=>
\
$opt_valgrind
,
'
valgrind-mysqltest:s
'
=>
\
$opt_valgrind_mysqltest
,
'
valgrind-all:s
'
=>
\
$opt_valgrind_all
,
'
valgrind-options=s
'
=>
\
$opt_valgrind_options
,
...
...
@@ -696,9 +698,15 @@ sub command_line_setup () {
# "" option set with no argument
# "somestring" option is name/path of valgrind executable
if
(
defined
$opt_valgrind_all
and
!
$opt_valgrind
)
# Take executable path from any of them, if any
$opt_valgrind
=
$opt_valgrind_mysqltest
if
$opt_valgrind_mysqltest
;
$opt_valgrind
=
$opt_valgrind_all
if
$opt_valgrind_all
;
# If valgrind flag not defined, define if other valgrind flags are
unless
(
defined
$opt_valgrind
)
{
$opt_valgrind
=
$opt_valgrind_all
;
$opt_valgrind
=
""
if
defined
$opt_valgrind_mysqltest
or
defined
$opt_valgrind_all
;
}
if
(
!
$opt_testcase_timeout
)
...
...
@@ -2110,7 +2118,7 @@ sub run_mysqltest ($) {
mtr_init_args
(
\
$args
);
if
(
defined
$opt_valgrind
)
if
(
defined
$opt_valgrind
_mysqltest
)
{
valgrind_arguments
(
$args
,
\
$exe
);
}
...
...
@@ -2208,6 +2216,8 @@ sub valgrind_arguments {
mtr_add_arg
(
$args
,
"
--alignment=8
");
mtr_add_arg
(
$args
,
"
--leak-check=yes
");
mtr_add_arg
(
$args
,
"
--num-callers=16
");
mtr_add_arg
(
$args
,
"
--suppressions=%s/valgrind.supp
",
$glob_mysql_test_dir
)
if
-
f
"
$glob_mysql_test_dir
/valgrind.supp
";
if
(
defined
$opt_valgrind_all
)
{
...
...
@@ -2293,10 +2303,11 @@ Options for coverage, profiling etc
gcov FIXME
gprof FIXME
valgrind[=
exe
] Run the "mysqltest" executable as well as the "mysqld"
valgrind[=
EXE
] Run the "mysqltest" executable as well as the "mysqld"
server using valgrind, optionally specifying the
executable path/name
valgrind-all FIXME
valgrind-mysqltest[=EXE] In addition, run the "mysqltest" executable with valgrind
valgrind-all[=EXE] Adds verbose flag, and --show-reachable to valgrind
valgrind-options=ARGS Extra options to give valgrind
Misc options
...
...
ndb/src/ndbapi/Ndbinit.cpp
View file @
f903f8e3
...
...
@@ -296,7 +296,8 @@ NdbImpl::NdbImpl(Ndb_cluster_connection *ndb_cluster_connection,
:
m_ndb_cluster_connection
(
ndb_cluster_connection
->
m_impl
),
m_dictionary
(
ndb
),
theCurrentConnectIndex
(
0
),
theNdbObjectIdMap
(
1024
,
1024
),
theNdbObjectIdMap
(
ndb_cluster_connection
->
m_impl
.
m_transporter_facade
->
theMutexPtr
,
1024
,
1024
),
theNoOfDBnodes
(
0
)
{
int
i
;
...
...
ndb/src/ndbapi/ObjectMap.hpp
View file @
f903f8e3
...
...
@@ -30,7 +30,7 @@ class NdbObjectIdMap //: NdbLockable
{
public:
STATIC_CONST
(
InvalidId
=
~
(
Uint32
)
0
);
NdbObjectIdMap
(
Uint32
initalSize
=
128
,
Uint32
expandSize
=
10
);
NdbObjectIdMap
(
NdbMutex
*
,
Uint32
initalSize
=
128
,
Uint32
expandSize
=
10
);
~
NdbObjectIdMap
();
Uint32
map
(
void
*
object
);
...
...
@@ -46,14 +46,16 @@ private:
void
*
m_obj
;
}
*
m_map
;
NdbMutex
*
m_mutex
;
void
expand
(
Uint32
newSize
);
};
inline
NdbObjectIdMap
::
NdbObjectIdMap
(
Uint32
sz
,
Uint32
eSz
)
{
NdbObjectIdMap
::
NdbObjectIdMap
(
NdbMutex
*
mutex
,
Uint32
sz
,
Uint32
eSz
)
{
m_size
=
0
;
m_firstFree
=
InvalidId
;
m_map
=
0
;
m_mutex
=
mutex
;
m_expandSize
=
eSz
;
expand
(
sz
);
#ifdef DEBUG_OBJECTMAP
...
...
@@ -131,21 +133,26 @@ NdbObjectIdMap::getObject(Uint32 id){
inline
void
NdbObjectIdMap
::
expand
(
Uint32
incSize
){
NdbMutex_Lock
(
m_mutex
);
Uint32
newSize
=
m_size
+
incSize
;
MapEntry
*
tmp
=
(
MapEntry
*
)
malloc
(
newSize
*
sizeof
(
MapEntry
));
MapEntry
*
tmp
=
(
MapEntry
*
)
realloc
(
m_map
,
newSize
*
sizeof
(
MapEntry
));
if
(
m_map
)
{
memcpy
(
tmp
,
m_map
,
m_size
*
sizeof
(
MapEntry
));
free
((
void
*
)
m_map
);
if
(
likely
(
tmp
!=
0
))
{
m_map
=
tmp
;
for
(
Uint32
i
=
m_size
;
i
<
newSize
;
i
++
){
m_map
[
i
].
m_next
=
i
+
1
;
}
m_firstFree
=
m_size
;
m_map
[
newSize
-
1
].
m_next
=
InvalidId
;
m_size
=
newSize
;
}
m_map
=
tmp
;
for
(
Uint32
i
=
m_size
;
i
<
newSize
;
i
++
){
m_map
[
i
].
m_next
=
i
+
1
;
else
{
ndbout_c
(
"NdbObjectIdMap::expand unable to expand!!"
);
}
m_firstFree
=
m_size
;
m_map
[
newSize
-
1
].
m_next
=
InvalidId
;
m_size
=
newSize
;
NdbMutex_Unlock
(
m_mutex
);
}
#endif
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