Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Samuel Thibault
mariadb-10.1
Commits
8eb96cb6
Commit
8eb96cb6
authored
Sep 07, 2016
by
Otto Kekäläinen
Browse files
Imported Upstream version 10.0.27
parent
9409498d
Changes
419
Hide whitespace changes
Inline
Side-by-side
CREDITS
View file @
8eb96cb6
MariaDB is brought to you by the MariaDB Foundation, a non profit
organization registered in the USA.
The current main
members and
sponsors of the MariaDB Foundation are:
MariaDB Corporation
http://www.
mariadb
.com
(2013 - 2016)
Booking.com http://www.booking.com (2013 -
2016)
P
ar
allels
http://www.
p
ar
allels.com/products/plesk
(2013 - 2016)
Automattic
http://
automattic
.com
(201
4
- 2016)
Verkkokauppa.com http://verkkokauppa.com (2015 -
2016)
Visma
http://
visma
.com
/
(
2015 -
2016)
Webyog
http://
webyog
.com (201
5
- 2016)
Wikimedia Foundation
http://w
ikimedia.org
(2015 - 2016)
Acronis
http://
acronis
.com (2016)
For a full list of
supporters and
sponsors see
The current main sponsors of the MariaDB Foundation are:
Booking.com
http://www.
booking
.com (2013 - 2016)
Development Bank of Singapore http://dbs.com (
2016)
M
ar
iaDB Corporation
http
s
://www.
m
ar
iadb.com
(2013 - 2016)
Visma
http://
visma
.com (201
5
- 2016)
Acronis http://acronis.com (
2016)
Nexedi
http
s
://
www.nexedi
.com (2016)
Automattic
http
s
://
automattic
.com
(201
4
- 2016)
Verkkokauppa.com
http
s
://w
ww.verkkokauppa.com
(2015 - 2016)
Virtuozzo
http
s
://
virtuozzo
.com (2016)
For a full list of sponsors
,
see
https://mariadb.org/about/supporters/
and for individual contributors, see
https://mariadb.org/donate/individual-sponsors/
You can also
do thi
s by running SHOW CONTRIBUTORS.
You can also
get the list of sponsor
s by running SHOW CONTRIBUTORS.
For all corporate
memberships and
sponsorships please contact the
For all corporate sponsorships please contact the
MariaDB Foundation Board via foundation@mariadb.org.
The MariaDB Foundation is responsible for the MariaDB source
...
...
@@ -38,7 +40,7 @@ following services to the MariaDB community:
To be able to do the above we need help from corporations and individuals!
You can help support MariaDB by becoming a MariaDB developer or a
member or
sponsor of the MariaDB Foundation. To donate or sponsor,
sponsor of the MariaDB Foundation. To donate or sponsor,
go to https://mariadb.org/donate/
You can get a list of all the main authors of MariaDB / MySQL by running
...
...
Docs/INFO_SRC
View file @
8eb96cb6
commit:
9fc102b37ec45bf5a1010a9f660137304de482bc
date: 2016-0
6
-2
3
1
2:44:28
+0
4
00
build-date: 2016-0
6
-2
3
1
1:24
:45 +0200
short:
9fc102b
commit:
5bbe929d706e26cb3f9b291da6009526a17b1545
date: 2016-0
8
-2
4
1
7:39:57
+0
3
00
build-date: 2016-0
8
-2
4
1
7:07
:45 +0200
short:
5bbe929
branch: HEAD
MySQL source 10.0.2
6
MySQL source 10.0.2
7
VERSION
View file @
8eb96cb6
MYSQL_VERSION_MAJOR=10
MYSQL_VERSION_MINOR=0
MYSQL_VERSION_PATCH=2
6
MYSQL_VERSION_PATCH=2
7
client/mysqlcheck.c
View file @
8eb96cb6
...
...
@@ -240,7 +240,7 @@ static int process_selected_tables(char *db, char **table_names, int tables);
static
int
process_all_tables_in_db
(
char
*
database
);
static
int
process_one_db
(
char
*
database
);
static
int
use_db
(
char
*
database
);
static
int
handle_request_for_tables
(
char
*
tables
,
size_t
length
,
my_bool
view
);
static
int
handle_request_for_tables
(
char
*
,
size_t
,
my_bool
,
my_bool
);
static
int
dbConnect
(
char
*
host
,
char
*
user
,
char
*
passwd
);
static
void
dbDisconnect
(
char
*
host
);
static
void
DBerror
(
MYSQL
*
mysql
,
const
char
*
when
);
...
...
@@ -577,7 +577,7 @@ static int process_selected_tables(char *db, char **table_names, int tables)
}
*--
end
=
0
;
handle_request_for_tables
(
table_names_comma_sep
+
1
,
tot_length
-
1
,
opt_do_views
!=
0
);
opt_do_views
!=
0
,
opt_all_in_1
);
my_free
(
table_names_comma_sep
);
}
else
...
...
@@ -588,7 +588,7 @@ static int process_selected_tables(char *db, char **table_names, int tables)
view
=
is_view
(
table
);
if
(
view
<
0
)
continue
;
handle_request_for_tables
(
table
,
table_len
,
(
view
==
1
)
);
handle_request_for_tables
(
table
,
table_len
,
view
==
1
,
opt_all_in_1
);
}
DBUG_RETURN
(
0
);
}
/* process_selected_tables */
...
...
@@ -616,13 +616,9 @@ static char *fix_table_name(char *dest, char *src)
*
dest
++=
'`'
;
for
(;
*
src
;
src
++
)
{
switch
(
*
src
)
{
case
'`'
:
/* escape backtick character */
if
(
*
src
==
'`'
)
*
dest
++=
'`'
;
/* fall through */
default:
*
dest
++=
*
src
;
}
*
dest
++=
*
src
;
}
*
dest
++=
'`'
;
...
...
@@ -711,9 +707,9 @@ static int process_all_tables_in_db(char *database)
*--
end
=
0
;
*--
views_end
=
0
;
if
(
tot_length
)
handle_request_for_tables
(
tables
+
1
,
tot_length
-
1
,
FALSE
);
handle_request_for_tables
(
tables
+
1
,
tot_length
-
1
,
FALSE
,
opt_all_in_1
);
if
(
tot_views_length
)
handle_request_for_tables
(
views
+
1
,
tot_views_length
-
1
,
TRUE
);
handle_request_for_tables
(
views
+
1
,
tot_views_length
-
1
,
TRUE
,
opt_all_in_1
);
my_free
(
tables
);
my_free
(
views
);
}
...
...
@@ -739,7 +735,7 @@ static int process_all_tables_in_db(char *database)
!
strcmp
(
row
[
0
],
"slow_log"
)))
continue
;
/* Skip logging tables */
handle_request_for_tables
(
row
[
0
],
fixed_name_length
(
row
[
0
]),
view
);
handle_request_for_tables
(
row
[
0
],
fixed_name_length
(
row
[
0
]),
view
,
opt_all_in_1
);
}
}
mysql_free_result
(
res
);
...
...
@@ -800,13 +796,11 @@ static int rebuild_table(char *name)
int
rc
=
0
;
DBUG_ENTER
(
"rebuild_table"
);
query
=
(
char
*
)
my_malloc
(
sizeof
(
char
)
*
(
12
+
fixed_name_length
(
name
)
+
6
+
1
),
query
=
(
char
*
)
my_malloc
(
sizeof
(
char
)
*
(
12
+
strlen
(
name
)
+
6
+
1
),
MYF
(
MY_WME
));
if
(
!
query
)
DBUG_RETURN
(
1
);
ptr
=
strmov
(
query
,
"ALTER TABLE "
);
ptr
=
fix_table_name
(
ptr
,
name
);
ptr
=
strxmov
(
ptr
,
" FORCE"
,
NullS
);
ptr
=
strxmov
(
query
,
"ALTER TABLE "
,
name
,
" FORCE"
,
NullS
);
if
(
verbose
>=
3
)
puts
(
query
);
if
(
mysql_real_query
(
sock
,
query
,
(
ulong
)(
ptr
-
query
)))
...
...
@@ -869,7 +863,8 @@ static int disable_binlog()
return
run_query
(
stmt
,
0
);
}
static
int
handle_request_for_tables
(
char
*
tables
,
size_t
length
,
my_bool
view
)
static
int
handle_request_for_tables
(
char
*
tables
,
size_t
length
,
my_bool
view
,
my_bool
dont_quote
)
{
char
*
query
,
*
end
,
options
[
100
],
message
[
100
];
char
table_name_buff
[
NAME_CHAR_LEN
*
2
*
2
+
1
],
*
table_name
;
...
...
@@ -928,7 +923,7 @@ static int handle_request_for_tables(char *tables, size_t length, my_bool view)
if
(
!
(
query
=
(
char
*
)
my_malloc
(
query_size
,
MYF
(
MY_WME
))))
DBUG_RETURN
(
1
);
if
(
opt_all_in_1
)
if
(
dont_quote
)
{
DBUG_ASSERT
(
strlen
(
op
)
+
strlen
(
tables
)
+
strlen
(
options
)
+
8
+
1
<=
query_size
);
...
...
@@ -973,6 +968,13 @@ static int handle_request_for_tables(char *tables, size_t length, my_bool view)
DBUG_RETURN
(
0
);
}
static
void
insert_table_name
(
DYNAMIC_ARRAY
*
arr
,
char
*
in
,
size_t
dblen
)
{
char
buf
[
NAME_LEN
*
2
+
2
];
in
[
dblen
]
=
0
;
my_snprintf
(
buf
,
sizeof
(
buf
),
"%`s.%`s"
,
in
,
in
+
dblen
+
1
);
insert_dynamic
(
arr
,
(
uchar
*
)
buf
);
}
static
void
print_result
()
{
...
...
@@ -980,16 +982,13 @@ static void print_result()
MYSQL_ROW
row
;
char
prev
[(
NAME_LEN
+
9
)
*
3
+
2
];
char
prev_alter
[
MAX_ALTER_STR_SIZE
];
char
*
db_name
;
uint
length_of_db
;
size_t
length_of_db
=
strlen
(
sock
->
db
);
uint
i
;
my_bool
found_error
=
0
,
table_rebuild
=
0
;
DYNAMIC_ARRAY
*
array4repair
=
&
tables4repair
;
DBUG_ENTER
(
"print_result"
);
res
=
mysql_use_result
(
sock
);
db_name
=
sock
->
db
;
length_of_db
=
strlen
(
db_name
);
prev
[
0
]
=
'\0'
;
prev_alter
[
0
]
=
0
;
...
...
@@ -1013,16 +1012,10 @@ static void print_result()
if
(
prev_alter
[
0
])
insert_dynamic
(
&
alter_table_cmds
,
(
uchar
*
)
prev_alter
);
else
{
char
*
table_name
=
prev
+
(
length_of_db
+
1
);
insert_dynamic
(
&
tables4rebuild
,
(
uchar
*
)
table_name
);
}
insert_table_name
(
&
tables4rebuild
,
prev
,
length_of_db
);
}
else
{
char
*
table_name
=
prev
+
(
length_of_db
+
1
);
insert_dynamic
(
array4repair
,
table_name
);
}
insert_table_name
(
array4repair
,
prev
,
length_of_db
);
}
array4repair
=
&
tables4repair
;
found_error
=
0
;
...
...
@@ -1067,16 +1060,10 @@ static void print_result()
if
(
prev_alter
[
0
])
insert_dynamic
(
&
alter_table_cmds
,
prev_alter
);
else
{
char
*
table_name
=
prev
+
(
length_of_db
+
1
);
insert_dynamic
(
&
tables4rebuild
,
table_name
);
}
insert_table_name
(
&
tables4rebuild
,
prev
,
length_of_db
);
}
else
{
char
*
table_name
=
prev
+
(
length_of_db
+
1
);
insert_dynamic
(
array4repair
,
table_name
);
}
insert_table_name
(
array4repair
,
prev
,
length_of_db
);
}
mysql_free_result
(
res
);
DBUG_VOID_RETURN
;
...
...
@@ -1221,7 +1208,7 @@ int main(int argc, char **argv)
for
(
i
=
0
;
i
<
tables4repair
.
elements
;
i
++
)
{
char
*
name
=
(
char
*
)
dynamic_array_ptr
(
&
tables4repair
,
i
);
handle_request_for_tables
(
name
,
fixed_name_length
(
name
),
FALSE
);
handle_request_for_tables
(
name
,
fixed_name_length
(
name
),
FALSE
,
TRUE
);
}
for
(
i
=
0
;
i
<
tables4rebuild
.
elements
;
i
++
)
rebuild_table
((
char
*
)
dynamic_array_ptr
(
&
tables4rebuild
,
i
));
...
...
@@ -1232,7 +1219,7 @@ int main(int argc, char **argv)
for
(
i
=
0
;
i
<
views4repair
.
elements
;
i
++
)
{
char
*
name
=
(
char
*
)
dynamic_array_ptr
(
&
views4repair
,
i
);
handle_request_for_tables
(
name
,
fixed_name_length
(
name
),
TRUE
);
handle_request_for_tables
(
name
,
fixed_name_length
(
name
),
TRUE
,
TRUE
);
}
}
ret
=
MY_TEST
(
first_error
);
...
...
client/mysqlimport.c
View file @
8eb96cb6
...
...
@@ -37,6 +37,7 @@
/* Global Thread counter */
uint
counter
=
0
;
pthread_mutex_t
init_mutex
;
pthread_mutex_t
counter_mutex
;
pthread_cond_t
count_threshhold
;
...
...
@@ -421,8 +422,19 @@ static MYSQL *db_connect(char *host, char *database,
MYSQL
*
mysql
;
if
(
verbose
)
fprintf
(
stdout
,
"Connecting to %s
\n
"
,
host
?
host
:
"localhost"
);
if
(
!
(
mysql
=
mysql_init
(
NULL
)))
return
0
;
if
(
opt_use_threads
&&
!
lock_tables
)
{
pthread_mutex_lock
(
&
init_mutex
);
if
(
!
(
mysql
=
mysql_init
(
NULL
)))
{
pthread_mutex_unlock
(
&
init_mutex
);
return
0
;
}
pthread_mutex_unlock
(
&
init_mutex
);
}
else
if
(
!
(
mysql
=
mysql_init
(
NULL
)))
return
0
;
if
(
opt_compress
)
mysql_options
(
mysql
,
MYSQL_OPT_COMPRESS
,
NullS
);
if
(
opt_local_file
)
...
...
@@ -614,7 +626,7 @@ pthread_handler_t worker_thread(void *arg)
pthread_cond_signal
(
&
count_threshhold
);
pthread_mutex_unlock
(
&
counter_mutex
);
mysql_thread_end
();
pthread_exit
(
0
);
return
0
;
}
...
...
@@ -638,15 +650,31 @@ int main(int argc, char **argv)
if
(
opt_use_threads
&&
!
lock_tables
)
{
pthread_t
mainthread
;
/* Thread descriptor */
pthread_attr_t
attr
;
/* Thread attributes */
char
**
save_argv
;
uint
worker_thread_count
=
0
,
table_count
=
0
,
i
=
0
;
pthread_t
*
worker_threads
;
/* Thread descriptor */
pthread_attr_t
attr
;
/* Thread attributes */
pthread_attr_init
(
&
attr
);
pthread_attr_setdetachstate
(
&
attr
,
PTHREAD_CREATE_
DETACHED
);
PTHREAD_CREATE_
JOINABLE
);
pthread_mutex_init
(
&
init_mutex
,
NULL
);
pthread_mutex_init
(
&
counter_mutex
,
NULL
);
pthread_cond_init
(
&
count_threshhold
,
NULL
);
/* Count the number of tables. This number denotes the total number
of threads spawn.
*/
save_argv
=
argv
;
for
(
table_count
=
0
;
*
argv
!=
NULL
;
argv
++
)
table_count
++
;
argv
=
save_argv
;
if
(
!
(
worker_threads
=
(
pthread_t
*
)
my_malloc
(
table_count
*
sizeof
(
*
worker_threads
),
MYF
(
0
))))
return
-
2
;
for
(
counter
=
0
;
*
argv
!=
NULL
;
argv
++
)
/* Loop through tables */
{
pthread_mutex_lock
(
&
counter_mutex
);
...
...
@@ -661,15 +689,16 @@ int main(int argc, char **argv)
counter
++
;
pthread_mutex_unlock
(
&
counter_mutex
);
/* now create the thread */
if
(
pthread_create
(
&
mainthread
,
&
attr
,
worker_thread
,
(
void
*
)
*
argv
)
!=
0
)
if
(
pthread_create
(
&
worker_threads
[
worker_thread_count
],
&
attr
,
worker_thread
,
(
void
*
)
*
argv
)
!=
0
)
{
pthread_mutex_lock
(
&
counter_mutex
);
counter
--
;
pthread_mutex_unlock
(
&
counter_mutex
);
fprintf
(
stderr
,
"%s: Could not create thread
\n
"
,
my_progname
)
;
fprintf
(
stderr
,
"%s: Could not create thread
\n
"
,
my_progname
);
continue
;
}
worker_thread_count
++
;
}
/*
...
...
@@ -684,9 +713,18 @@ int main(int argc, char **argv)
pthread_cond_timedwait
(
&
count_threshhold
,
&
counter_mutex
,
&
abstime
);
}
pthread_mutex_unlock
(
&
counter_mutex
);
pthread_mutex_destroy
(
&
init_mutex
);
pthread_mutex_destroy
(
&
counter_mutex
);
pthread_cond_destroy
(
&
count_threshhold
);
pthread_attr_destroy
(
&
attr
);
for
(
i
=
0
;
i
<
worker_thread_count
;
i
++
)
{
if
(
pthread_join
(
worker_threads
[
i
],
NULL
))
fprintf
(
stderr
,
"%s: Could not join worker thread.
\n
"
,
my_progname
);
}
my_free
(
worker_threads
);
}
else
{
...
...
client/mysqltest.cc
View file @
8eb96cb6
...
...
@@ -181,6 +181,7 @@ static uint my_end_arg= 0;
static
uint
opt_tail_lines
=
0
;
static
uint
opt_connect_timeout
=
0
;
static
uint
opt_wait_for_pos_timeout
=
0
;
static
char
delimiter
[
MAX_DELIMITER_LENGTH
]
=
";"
;
static
uint
delimiter_length
=
1
;
...
...
@@ -4659,7 +4660,7 @@ void do_sync_with_master2(struct st_command *command, long offset,
MYSQL_ROW
row
;
MYSQL
*
mysql
=
cur_con
->
mysql
;
char
query_buf
[
FN_REFLEN
+
128
];
int
timeout
=
300
;
/* seconds */
int
timeout
=
opt_wait_for_pos_timeout
;
if
(
!
master_pos
.
file
[
0
])
die
(
"Calling 'sync_with_master' without calling 'save_master_pos'"
);
...
...
@@ -7098,6 +7099,10 @@ static struct my_option my_long_options[] =
"Number of seconds before connection timeout."
,
&
opt_connect_timeout
,
&
opt_connect_timeout
,
0
,
GET_UINT
,
REQUIRED_ARG
,
120
,
0
,
3600
*
12
,
0
,
0
,
0
},
{
"wait_for_pos_timeout"
,
0
,
"Number of seconds to wait for master_pos_wait"
,
&
opt_wait_for_pos_timeout
,
&
opt_wait_for_pos_timeout
,
0
,
GET_UINT
,
REQUIRED_ARG
,
300
,
0
,
3600
*
12
,
0
,
0
,
0
},
{
"plugin_dir"
,
0
,
"Directory for client-side plugins."
,
&
opt_plugin_dir
,
&
opt_plugin_dir
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
...
...
extra/perror.c
View file @
8eb96cb6
...
...
@@ -250,7 +250,7 @@ static my_bool print_win_error_msg(DWORD error, my_bool verbose)
will ignore calls to register already registered error numbers.
*/
static
const
char
**
get_handler_error_messages
()
static
const
char
**
get_handler_error_messages
(
void
)
{
return
handler_error_messages
;
}
...
...
include/my_stacktrace.h
View file @
8eb96cb6
...
...
@@ -45,7 +45,7 @@ C_MODE_START
#if defined(HAVE_STACKTRACE) || defined(HAVE_BACKTRACE)
void
my_init_stacktrace
();
void
my_print_stacktrace
(
uchar
*
stack_bottom
,
ulong
thread_stack
);
void
my_safe_print_str
(
const
char
*
val
,
int
max_len
);
int
my_safe_print_str
(
const
char
*
val
,
int
max_len
);
void
my_write_core
(
int
sig
);
#if BACKTRACE_DEMANGLE
char
*
my_demangle
(
const
char
*
mangled_name
,
int
*
status
);
...
...
include/mysql.h.pp
View file @
8eb96cb6
...
...
@@ -27,7 +27,7 @@ typedef struct st_net {
char
save_char
;
char
net_skip_rest_factor
;
my_bool
thread_specific_malloc
;
my_bool
compress
;
unsigned
char
compress
;
my_bool
unused3
;
unsigned
char
*
unused
;
unsigned
int
last_errno
;
...
...
include/mysql_com.h
View file @
8eb96cb6
...
...
@@ -386,7 +386,7 @@ typedef struct st_net {
char
save_char
;
char
net_skip_rest_factor
;
my_bool
thread_specific_malloc
;
my_bool
compress
;
unsigned
char
compress
;
my_bool
unused3
;
/* Please remove with the next incompatible ABI change. */
/*
Pointer to query object in query cache, do not equal NULL (0) for
...
...
libmysqld/lib_sql.cc
View file @
8eb96cb6
...
...
@@ -341,6 +341,12 @@ static int emb_stmt_execute(MYSQL_STMT *stmt)
THD
*
thd
;
my_bool
res
;
if
(
stmt
->
param_count
&&
!
stmt
->
bind_param_done
)
{
set_stmt_error
(
stmt
,
CR_PARAMS_NOT_BOUND
,
unknown_sqlstate
,
NULL
);
DBUG_RETURN
(
1
);
}
int4store
(
header
,
stmt
->
stmt_id
);
header
[
4
]
=
(
uchar
)
stmt
->
flags
;
thd
=
(
THD
*
)
stmt
->
mysql
->
thd
;
...
...
mysql-test/include/report-features.test
deleted
100644 → 0
View file @
9409498d
#
# show server variables
#
--
disable_query_log
--
echo
=====
ENGINES
=====
show
engines
;
--
echo
=====
VARIABLES
=====
show
variables
;
--
echo
=====
STOP
=====
--
enable_query_log
exit
;
mysql-test/include/wait_until_connected_again.inc
View file @
8eb96cb6
...
...
@@ -14,7 +14,7 @@ while ($mysql_errno)
# Strangely enough, the server might return "Too many connections"
# while being shutdown, thus 1040 is an "allowed" error
# See BUG#36228
--
error
0
,
1040
,
1053
,
2002
,
2003
,
2005
,
2006
,
2013
--
error
0
,
1040
,
1053
,
2002
,
2003
,
2005
,
2006
,
2013
,
1927
show
status
;
dec
$counter
;
...
...
mysql-test/include/wait_until_disconnected.inc
View file @
8eb96cb6
...
...
@@ -12,7 +12,7 @@ while (!$mysql_errno)
# Strangely enough, the server might return "Too many connections"
# while being shutdown, thus 1040 is an "allowed" error.
# See BUG#36228.
--
error
0
,
1040
,
1053
,
2002
,
2003
,
2005
,
2006
,
2013
--
error
0
,
1040
,
1053
,
2002
,
2003
,
2005
,
2006
,
2013
,
1927
show
status
;
dec
$counter
;
...
...
mysql-test/lib/My/SafeProcess.pm
View file @
8eb96cb6
...
...
@@ -338,7 +338,7 @@ sub dump_core {
my
(
$self
)
=
@_
;
return
if
IS_WINDOWS
;
my
$pid
=
$self
->
{
SAFE_PID
};
die
"
Can't
c
et core from not started process
"
unless
defined
$pid
;
die
"
Can't
g
et core from not started process
"
unless
defined
$pid
;
_verbose
("
Sending ABRT to
$self
");
kill
("
ABRT
",
$pid
);
return
1
;
...
...
mysql-test/lib/mtr_cases.pm
View file @
8eb96cb6
...
...
@@ -313,6 +313,7 @@ sub combinations_from_file($$)
}
our
%disabled
;
our
%disabled_wildcards
;
sub
parse_disabled
{
my
(
$filename
,
$suitename
)
=
@_
;
...
...
@@ -321,10 +322,18 @@ sub parse_disabled {
chomp
;
next
if
/^\s*#/
or
/^\s*$/
;
mtr_error
("
Syntax error in
$filename
line $.
")
unless
/^\s*(?:([-0-9A-Za-z_\/]+)\.)?([-0-9A-Za-z_]+)\s*:\s*(.*?)\s*$/
;
mtr_error
("
Wrong suite name in
$filename
line $.
")
unless
/^\s*(?:([-0-9A-Za-z_\/]+)\.)?([-0-9A-Za-z_
\*
]+)\s*:\s*(.*?)\s*$/
;
mtr_error
("
Wrong suite name in
$filename
line $.
: suitename =
$suitename
but the file says $1
")
if
defined
$
1
and
defined
$suitename
and
$
1
ne
$suitename
;
$disabled
{(
$
1
||
$suitename
||
'')
.
"
.$2
"}
=
$
3
;
my
(
$sname
,
$casename
,
$text
)
=
((
$
1
||
$suitename
||
''),
$
2
,
$
3
);
if
(
$casename
=~
/\*/
)
{
# Wildcard
$disabled_wildcards
{
$sname
.
"
.
$casename
"}
=
$text
;
}
else
{
$disabled
{
$sname
.
"
.
$casename
"}
=
$text
;
}
}
close
DISABLED
;
}
...
...
@@ -721,6 +730,14 @@ sub collect_one_test_case {
# Check for disabled tests
# ----------------------------------------------------------------------
my
$disable
=
$disabled
{"
.
$tname
"}
||
$disabled
{
$name
};
if
(
not
$disable
)
{
foreach
my
$w
(
keys
%disabled_wildcards
)
{
if
(
$name
=~
/^$w/
)
{
$disable
=
$disabled_wildcards
{
$w
};
last
;
}
}
}
if
(
not
defined
$disable
and
$suite
->
{
parent
})
{
$disable
=
$disabled
{
$suite
->
{
parent
}
->
{
name
}
.
"
.
$tname
"};
}
...
...
mysql-test/mysql-test-run.pl
View file @
8eb96cb6
...
...
@@ -279,7 +279,6 @@ my $opt_port_base= $ENV{'MTR_PORT_BASE'} || "auto";
my
$build_thread
=
0
;
my
$opt_record
;
my
$opt_report_features
;
our
$opt_resfile
=
$ENV
{'
MTR_RESULT_FILE
'}
||
0
;
...
...
@@ -357,6 +356,7 @@ my $source_dist= -d "../sql";
my
$opt_max_save_core
=
env_or_val
(
MTR_MAX_SAVE_CORE
=>
5
);
my
$opt_max_save_datadir
=
env_or_val
(
MTR_MAX_SAVE_DATADIR
=>
20
);
my
$opt_max_test_fail
=
env_or_val
(
MTR_MAX_TEST_FAIL
=>
10
);
my
$opt_core_on_failure
=
0
;
my
$opt_parallel
=
$ENV
{
MTR_PARALLEL
}
||
1
;
...
...
@@ -434,21 +434,6 @@ sub main {
exit
0
;
}
if
(
$opt_report_features
)
{
# Put "report features" as the first test to run
my
$tinfo
=
My::
Test
->
new
(
name
=>
'
report_features
',
# No result_file => Prints result
path
=>
'
include/report-features.test
',
template_path
=>
"
include/default_my.cnf
",
master_opt
=>
[]
,
slave_opt
=>
[]
,
suite
=>
'
main
',
);
unshift
(
@$tests
,
$tinfo
);
}
#######################################################################
my
$num_tests
=
@$tests
;
if
(
$opt_parallel
eq
"
auto
"
)
{
...
...
@@ -1181,6 +1166,7 @@ sub command_line_setup {
'
max-save-core=i
'
=>
\
$opt_max_save_core
,
'
max-save-datadir=i
'
=>
\
$opt_max_save_datadir
,
'
max-test-fail=i
'
=>
\
$opt_max_test_fail
,
'
core-on-failure
'
=>
\
$opt_core_on_failure
,
# Coverage, profiling etc
'
gcov
'
=>
\
$opt_gcov
,
...
...
@@ -1214,7 +1200,6 @@ sub command_line_setup {
'
client-libdir=s
'
=>
\
$path_client_libdir
,
# Misc
'
report-features
'
=>
\
$opt_report_features
,
'
comment=s
'
=>
\
$opt_comment
,
'
fast
'
=>
\
$opt_fast
,
'
force-restart
'
=>
\
$opt_force_restart
,
...
...
@@ -4582,7 +4567,7 @@ sub run_testcase ($$) {
}
# Try to dump core for mysqltest and all servers
foreach
my
$proc
(
$test
,
started
(
all_servers
()))
foreach
my
$proc
(
$test
,
started
(
all_servers
()))
{
mtr_print
("
Trying to dump core for
$proc
");
if
(
$proc
->
dump_core
())
...
...
@@ -5248,7 +5233,9 @@ sub after_failure ($) {
sub
report_failure_and_restart
($)
{
my
$tinfo
=
shift
;
if
(
$opt_valgrind_mysqld
&&
(
$tinfo
->
{'
warnings
'}
||
$tinfo
->
{'
timeout
'}))
{
if
(
$opt_valgrind_mysqld
&&
(
$tinfo
->
{'
warnings
'}
||
$tinfo
->
{'
timeout
'})
&&
$opt_core_on_failure
==
0
)
{
# In these cases we may want valgrind report from normal termination
$tinfo
->
{'
dont_kill_server
'}
=
1
;
}
...
...
@@ -5908,6 +5895,13 @@ sub start_mysqltest ($) {
mtr_add_arg
(
$args
,
"
--sleep=%d
",
$opt_sleep
);
}
if
(
$opt_valgrind_mysqld
)
{
# We are running server under valgrind, which causes some replication
# test to be much slower, notable rpl_mdev6020. Increase timeout.
mtr_add_arg
(
$args
,
"
--wait-for-pos-timeout=0
");
}
if
(
$opt_ssl
)
{
# Turn on SSL for _all_ test cases if option --ssl was used
...
...
@@ -6550,6 +6544,7 @@ Options for debugging the product
the current test run. Defaults to
$opt_max_test_fail, set to 0 for no limit. Set
it's default with MTR_MAX_TEST_FAIL
core-in-failure Generate a core even if run server is run with valgrind
Options for valgrind
...
...
@@ -6634,7 +6629,6 @@ Misc options
gprof Collect profiling information using gprof.
experimental=<file> Refer to list of tests considered experimental;
failures will be marked exp-fail instead of fail.
report-features First run a "test" that reports mysql features
timestamp Print timestamp before each test report line
timediff With --timestamp, also print time passed since
*previous* test started
...
...
mysql-test/r/contributors.result
View file @
8eb96cb6
SHOW CONTRIBUTORS;
Name Location Comment
Booking.com http://www.booking.com Founding member of the MariaDB Foundation
MariaDB Corporation https://mariadb.com Founding member of the MariaDB Foundation
Auttomattic http://automattic.com Member of the MariaDB Foundation
Visma http://visma.com Member of the MariaDB Foundation
Nexedi http://www.nexedi.com Member of the MariaDB Foundation
Acronis http://www.acronis.com Member of the MariaDB Foundation
Verkkokauppa.com Finland Sponsor of the MariaDB Foundation
Virtuozzo https://virtuozzo.com/ Sponsor of the MariaDB Foundation
Booking.com http://www.booking.com Founding member, Platinum Sponsor of the MariaDB Foundation
MariaDB Corporation https://mariadb.com Founding member, Gold Sponsor of the MariaDB Foundation
Visma http://visma.com Gold Sponsor of the MariaDB Foundation
DBS http://dbs.com Gold Sponsor of the MariaDB Foundation
Nexedi https://www.nexedi.com Silver Sponsor of the MariaDB Foundation
Acronis http://www.acronis.com Silver Sponsor of the MariaDB Foundation
Auttomattic https://automattic.com Bronze Sponsor of the MariaDB Foundation
Verkkokauppa.com https://virtuozzo.com Bronze Sponsor of the MariaDB Foundation
Virtuozzo https://virtuozzo.com/ Bronze Sponsor of the MariaDB Foundation
Google USA Sponsoring encryption, parallel replication and GTID
Facebook USA Sponsoring non-blocking API, LIMIT ROWS EXAMINED etc
Ronald Bradford Brisbane, Australia EFF contribution for UC2006 Auction
...
...
mysql-test/r/create.result
View file @
8eb96cb6
...
...
@@ -1721,6 +1721,7 @@ Handler_read_key 0
Handler_read_last 0
Handler_read_next 0
Handler_read_prev 0
Handler_read_retry 0
Handler_read_rnd 0
Handler_read_rnd_deleted 0
Handler_read_rnd_next 7
...
...
mysql-test/r/derived_view.result
View file @
8eb96cb6
...
...
@@ -79,6 +79,7 @@ Handler_read_key 0
Handler_read_last 0
Handler_read_next 0
Handler_read_prev 0
Handler_read_retry 0
Handler_read_rnd 0
Handler_read_rnd_deleted 0
Handler_read_rnd_next 0
...
...
@@ -93,6 +94,7 @@ Handler_read_key 0
Handler_read_last 0
Handler_read_next 0
Handler_read_prev 0
Handler_read_retry 0
Handler_read_rnd 0
Handler_read_rnd_deleted 0
Handler_read_rnd_next 12
...
...
@@ -166,6 +168,7 @@ Handler_read_key 0
Handler_read_last 0
Handler_read_next 0
Handler_read_prev 0
Handler_read_retry 0
Handler_read_rnd 0
Handler_read_rnd_deleted 0
Handler_read_rnd_next 0
...
...
@@ -180,6 +183,7 @@ Handler_read_key 0
Handler_read_last 0
Handler_read_next 0
Handler_read_prev 0
Handler_read_retry 0
Handler_read_rnd 0
Handler_read_rnd_deleted 0
Handler_read_rnd_next 12
...
...
@@ -232,6 +236,7 @@ Handler_read_key 0
Handler_read_last 0
Handler_read_next 0
Handler_read_prev 0
Handler_read_retry 0
Handler_read_rnd 0
Handler_read_rnd_deleted 0
Handler_read_rnd_next 0
...
...
@@ -248,6 +253,7 @@ Handler_read_key 11
Handler_read_last 0
Handler_read_next 3
Handler_read_prev 0
Handler_read_retry 0
Handler_read_rnd 11
Handler_read_rnd_deleted 0
Handler_read_rnd_next 36
...
...
@@ -323,6 +329,7 @@ Handler_read_key 22
Handler_read_last 0
Handler_read_next 22
Handler_read_prev 0
Handler_read_retry 0
Handler_read_rnd 0
Handler_read_rnd_deleted 0
Handler_read_rnd_next 60
...
...
@@ -340,6 +347,7 @@ Handler_read_key 0
Handler_read_last 0
Handler_read_next 0
Handler_read_prev 0
Handler_read_retry 0
Handler_read_rnd 0
Handler_read_rnd_deleted 0
Handler_read_rnd_next 0
...
...
@@ -356,6 +364,7 @@ Handler_read_key 11
Handler_read_last 0
Handler_read_next 3
Handler_read_prev 0
Handler_read_retry 0
Handler_read_rnd 11
Handler_read_rnd_deleted 0
Handler_read_rnd_next 36
...
...
@@ -451,6 +460,7 @@ Handler_read_key 2
Handler_read_last 0
Handler_read_next 2
Handler_read_prev 0
Handler_read_retry 0
Handler_read_rnd 8
Handler_read_rnd_deleted 0
Handler_read_rnd_next 39
...
...
Prev
1
2
3
4
5
…
21
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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