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
a8980733
Commit
a8980733
authored
Sep 19, 2005
by
unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed Bug#13275 mysqltest empty file bug
parent
8618ea63
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
11 deletions
+31
-11
client/mysqltest.c
client/mysqltest.c
+31
-11
No files found.
client/mysqltest.c
View file @
a8980733
...
@@ -92,6 +92,9 @@
...
@@ -92,6 +92,9 @@
#define SLAVE_POLL_INTERVAL 300000
/* 0.3 of a sec */
#define SLAVE_POLL_INTERVAL 300000
/* 0.3 of a sec */
#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
,
enum
{
OPT_MANAGER_USER
=
256
,
OPT_MANAGER_HOST
,
OPT_MANAGER_PASSWD
,
OPT_MANAGER_PORT
,
OPT_MANAGER_WAIT_TIMEOUT
,
OPT_SKIP_SAFEMALLOC
,
OPT_MANAGER_PORT
,
OPT_MANAGER_WAIT_TIMEOUT
,
OPT_SKIP_SAFEMALLOC
,
...
@@ -546,7 +549,7 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char* fname)
...
@@ -546,7 +549,7 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char* fname)
{
{
DBUG_PRINT
(
"info"
,(
"Size differs: result size: %u file size: %u"
,
DBUG_PRINT
(
"info"
,(
"Size differs: result size: %u file size: %u"
,
ds
->
length
,
stat_info
.
st_size
));
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
))))
if
(
!
(
tmp
=
(
char
*
)
my_malloc
(
stat_info
.
st_size
+
1
,
MYF
(
MY_WME
))))
die
(
NullS
);
die
(
NullS
);
...
@@ -563,7 +566,7 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char* fname)
...
@@ -563,7 +566,7 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char* fname)
res_ptr
=
res_ds
.
str
;
res_ptr
=
res_ds
.
str
;
if
((
res_len
=
res_ds
.
length
)
!=
ds
->
length
)
if
((
res_len
=
res_ds
.
length
)
!=
ds
->
length
)
{
{
res
=
2
;
res
=
RESULT_LENGTH_MISMATCH
;
goto
err
;
goto
err
;
}
}
}
}
...
@@ -573,7 +576,8 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char* fname)
...
@@ -573,7 +576,8 @@ int dyn_string_cmp(DYNAMIC_STRING* ds, const char* fname)
res_len
=
stat_info
.
st_size
;
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:
err:
if
(
res
&&
eval_result
)
if
(
res
&&
eval_result
)
...
@@ -590,21 +594,21 @@ err:
...
@@ -590,21 +594,21 @@ err:
static
int
check_result
(
DYNAMIC_STRING
*
ds
,
const
char
*
fname
,
static
int
check_result
(
DYNAMIC_STRING
*
ds
,
const
char
*
fname
,
my_bool
require_option
)
my_bool
require_option
)
{
{
int
error
=
0
;
int
error
=
RESULT_OK
;
int
res
=
dyn_string_cmp
(
ds
,
fname
);
int
res
=
dyn_string_cmp
(
ds
,
fname
);
if
(
res
&&
require_option
)
if
(
res
&&
require_option
)
abort_not_supported_test
();
abort_not_supported_test
();
switch
(
res
)
{
switch
(
res
)
{
case
0
:
case
RESULT_OK
:
break
;
/* ok */
break
;
/* ok */
case
2
:
case
RESULT_LENGTH_MISMATCH
:
verbose_msg
(
"Result length mismatch"
);
verbose_msg
(
"Result length mismatch"
);
error
=
1
;
error
=
RESULT_LENGTH_MISMATCH
;
break
;
break
;
case
1
:
case
RESULT_CONTENT_MISMATCH
:
verbose_msg
(
"Result content mismatch"
);
verbose_msg
(
"Result content mismatch"
);
error
=
1
;
error
=
RESULT_CONTENT_MISMATCH
;
break
;
break
;
default:
/* impossible */
default:
/* impossible */
die
(
"Unknown error code from dyn_string_cmp()"
);
die
(
"Unknown error code from dyn_string_cmp()"
);
...
@@ -2451,8 +2455,9 @@ int main(int argc, char **argv)
...
@@ -2451,8 +2455,9 @@ int main(int argc, char **argv)
{
{
int
error
=
0
;
int
error
=
0
;
struct
st_query
*
q
;
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
];
char
save_file
[
FN_REFLEN
];
MY_STAT
res_info
;
MY_INIT
(
argv
[
0
]);
MY_INIT
(
argv
[
0
]);
{
{
DBUG_ENTER
(
"main"
);
DBUG_ENTER
(
"main"
);
...
@@ -2577,6 +2582,7 @@ int main(int argc, char **argv)
...
@@ -2577,6 +2582,7 @@ int main(int argc, char **argv)
save_file
[
0
]
=
0
;
save_file
[
0
]
=
0
;
}
}
error
|=
run_query
(
&
cur_con
->
mysql
,
q
,
flags
);
error
|=
run_query
(
&
cur_con
->
mysql
,
q
,
flags
);
query_executed
=
1
;
break
;
break
;
}
}
case
Q_SEND
:
case
Q_SEND
:
...
@@ -2596,6 +2602,7 @@ int main(int argc, char **argv)
...
@@ -2596,6 +2602,7 @@ int main(int argc, char **argv)
is given on this connection.
is given on this connection.
*/
*/
error
|=
run_query
(
&
cur_con
->
mysql
,
q
,
QUERY_SEND
);
error
|=
run_query
(
&
cur_con
->
mysql
,
q
,
QUERY_SEND
);
query_executed
=
1
;
break
;
break
;
case
Q_RESULT
:
case
Q_RESULT
:
get_file_name
(
save_file
,
q
);
get_file_name
(
save_file
,
q
);
...
@@ -2637,6 +2644,7 @@ int main(int argc, char **argv)
...
@@ -2637,6 +2644,7 @@ int main(int argc, char **argv)
break
;
break
;
case
Q_EXEC
:
case
Q_EXEC
:
(
void
)
do_exec
(
q
);
(
void
)
do_exec
(
q
);
query_executed
=
1
;
break
;
break
;
default:
processed
=
0
;
break
;
default:
processed
=
0
;
break
;
}
}
...
@@ -2655,6 +2663,18 @@ int main(int argc, char **argv)
...
@@ -2655,6 +2663,18 @@ int main(int argc, char **argv)
parser
.
current_line
+=
current_line_inc
;
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
)
if
(
result_file
&&
ds_res
.
length
)
{
{
if
(
!
record
)
if
(
!
record
)
...
...
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