summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUILD/FINISH.sh7
-rwxr-xr-xBUILD/SETUP.sh8
-rw-r--r--client/mysqltest.cc10
-rw-r--r--cmake/configure.pl5
-rwxr-xr-xdebian/dist/Debian/rules2
-rwxr-xr-xdebian/dist/Ubuntu/rules2
-rw-r--r--include/my_pthread.h6
-rw-r--r--include/mysql/psi/mysql_thread.h17
-rw-r--r--mysql-test/suite/innodb/r/auto_increment_dup.result2
-rw-r--r--mysql-test/suite/innodb/t/auto_increment_dup.test2
-rw-r--r--mysql-test/suite/perfschema/include/upgrade_check.inc2
-rw-r--r--mysql-test/suite/perfschema/r/pfs_upgrade.result180
-rw-r--r--mysql-test/valgrind.supp8
-rw-r--r--scripts/mysqlaccess.sh6
-rw-r--r--sql/handler.cc1
-rw-r--r--sql/mysqld.cc4
-rw-r--r--sql/mysqld.h2
-rw-r--r--sql/rpl_rli.cc3
-rw-r--r--sql/sql_insert.cc9
-rw-r--r--support-files/compiler_warnings.supp13
20 files changed, 168 insertions, 121 deletions
diff --git a/BUILD/FINISH.sh b/BUILD/FINISH.sh
index 7f8859dde54..e29b6936849 100644
--- a/BUILD/FINISH.sh
+++ b/BUILD/FINISH.sh
@@ -27,6 +27,11 @@ then
configure="$configure --print"
fi
+if test "$AM_EXTRA_MAKEFLAGS" = "VERBOSE=1" -o "$verbose_make" = "1"
+then
+ configure="$configure --verbose"
+fi
+
commands="\
/bin/rm -rf configure;
/bin/rm -rf CMakeCache.txt CMakeFiles/
@@ -45,7 +50,7 @@ if [ -z "$just_configure" -a -z "$just_clean" ]
then
commands="$commands
-$make $AM_MAKEFLAGS"
+$make $AM_MAKEFLAGS $AM_EXTRA_MAKEFLAGS"
if [ "x$strip" = "xyes" ]
then
diff --git a/BUILD/SETUP.sh b/BUILD/SETUP.sh
index 9f552f1ca5e..802c5788c08 100755
--- a/BUILD/SETUP.sh
+++ b/BUILD/SETUP.sh
@@ -30,6 +30,11 @@ Usage: $0 [-h|-n] [configure-options]
-h, --help Show this help message.
-n, --just-print Don't actually run any commands; just print them.
-c, --just-configure Stop after running configure.
+ --extra-configs=xxx Add this to configure options
+ --extra-flags=xxx Add this C and CXX flags
+ --extra-cflags=xxx Add this to C flags
+ --extra-cxxflags=xxx Add this to CXX flags
+ --verbose Print out full compile lines
--with-debug=full Build with full debug(no optimizations, keep call stack).
--warning-mode=[old|pedantic|maintainer]
Influences the debug flags. Old is default.
@@ -62,6 +67,8 @@ parse_options()
just_configure=1;;
-n | --just-print | --print)
just_print=1;;
+ --verbose)
+ verbose_make=1;;
-h | --help)
usage
exit 0;;
@@ -87,6 +94,7 @@ just_configure=
warning_mode=
maintainer_mode=
full_debug=
+verbose_make=
parse_options "$@"
diff --git a/client/mysqltest.cc b/client/mysqltest.cc
index 5415b653615..7bc52941700 100644
--- a/client/mysqltest.cc
+++ b/client/mysqltest.cc
@@ -1654,12 +1654,12 @@ int cat_file(DYNAMIC_STRING* ds, const char* filename)
{
int fd;
size_t len;
- char buff[512];
+ char buff[16384];
if ((fd= my_open(filename, O_RDONLY, MYF(0))) < 0)
return 1;
while((len= my_read(fd, (uchar*)&buff,
- sizeof(buff), MYF(0))) > 0)
+ sizeof(buff)-1, MYF(0))) > 0)
{
char *p= buff, *start= buff;
while (p < buff+len)
@@ -1670,7 +1670,8 @@ int cat_file(DYNAMIC_STRING* ds, const char* filename)
/* Add fake newline instead of cr and output the line */
*p= '\n';
p++; /* Step past the "fake" newline */
- dynstr_append_mem(ds, start, p-start);
+ *p= 0;
+ replace_dynstr_append_mem(ds, start, p-start);
p++; /* Step past the "fake" newline */
start= p;
}
@@ -1678,7 +1679,8 @@ int cat_file(DYNAMIC_STRING* ds, const char* filename)
p++;
}
/* Output any chars that migh be left */
- dynstr_append_mem(ds, start, p-start);
+ *p= 0;
+ replace_dynstr_append_mem(ds, start, p-start);
}
my_close(fd, MYF(0));
return 0;
diff --git a/cmake/configure.pl b/cmake/configure.pl
index 3a7d187c0be..1217d314d72 100644
--- a/cmake/configure.pl
+++ b/cmake/configure.pl
@@ -222,6 +222,11 @@ foreach my $option (@ARGV)
$cmakeargs = $cmakeargs." -DENABLE_GCOV=ON";
next;
}
+ if ($option =~ /verbose/)
+ {
+ $cmakeargs = $cmakeargs." -DCMAKE_VERBOSE_MAKEFILE=1";
+ next;
+ }
$option = uc($option);
$option =~ s/-/_/g;
diff --git a/debian/dist/Debian/rules b/debian/dist/Debian/rules
index 96ad527542d..feef863c5eb 100755
--- a/debian/dist/Debian/rules
+++ b/debian/dist/Debian/rules
@@ -84,7 +84,7 @@ build-stamp: configure
@echo "RULES.$@"
dh_testdir
- cd $(builddir) && $(MAKE) $(MAKE_J)
+ cd $(builddir) && $(MAKE) $(MAKE_J) $(AM_EXTRA_MAKEFLAGS)
ifeq ($(findstring nocheck,$(DEB_BUILD_OPTIONS)),)
# Don't know why the following is necessary...
diff --git a/debian/dist/Ubuntu/rules b/debian/dist/Ubuntu/rules
index bb413ad83cc..2852864c5a0 100755
--- a/debian/dist/Ubuntu/rules
+++ b/debian/dist/Ubuntu/rules
@@ -84,7 +84,7 @@ build-stamp: configure
@echo "RULES.$@"
dh_testdir
- cd $(builddir) && $(MAKE) $(MAKE_J)
+ cd $(builddir) && $(MAKE) $(MAKE_J) $(AM_EXTRA_MAKEFLAGS)
ifeq ($(findstring nocheck,$(DEB_BUILD_OPTIONS)),)
# Don't know why the following is necessary...
diff --git a/include/my_pthread.h b/include/my_pthread.h
index 404d5fb5258..5a921fe0f26 100644
--- a/include/my_pthread.h
+++ b/include/my_pthread.h
@@ -350,9 +350,9 @@ int my_pthread_mutex_trylock(pthread_mutex_t *mutex);
#ifndef set_timespec_time_nsec
#define set_timespec_time_nsec(ABSTIME,NSEC) do { \
- ulonglong now= (NSEC); \
- (ABSTIME).MY_tv_sec= (now / 1000000000ULL); \
- (ABSTIME).MY_tv_nsec= (now % 1000000000ULL); \
+ ulonglong _now_= (NSEC); \
+ (ABSTIME).MY_tv_sec= (_now_ / 1000000000ULL); \
+ (ABSTIME).MY_tv_nsec= (_now_ % 1000000000ULL); \
} while(0)
#endif /* !set_timespec_time_nsec */
diff --git a/include/mysql/psi/mysql_thread.h b/include/mysql/psi/mysql_thread.h
index 18b4fde8c5c..7615985ec24 100644
--- a/include/mysql/psi/mysql_thread.h
+++ b/include/mysql/psi/mysql_thread.h
@@ -477,7 +477,7 @@ typedef struct st_mysql_cond mysql_cond_t;
Instrumented cond_wait.
@c mysql_cond_wait is a drop-in replacement for @c pthread_cond_wait.
*/
-#ifdef HAVE_PSI_INTERFACE
+#if defined(HAVE_PSI_INTERFACE) || defined(SAFE_MUTEX)
#define mysql_cond_wait(C, M) \
inline_mysql_cond_wait(C, M, __FILE__, __LINE__)
#else
@@ -491,7 +491,7 @@ typedef struct st_mysql_cond mysql_cond_t;
@c mysql_cond_timedwait is a drop-in replacement
for @c pthread_cond_timedwait.
*/
-#ifdef HAVE_PSI_INTERFACE
+#if defined(HAVE_PSI_INTERFACE) || defined(SAFE_MUTEX)
#define mysql_cond_timedwait(C, M, W) \
inline_mysql_cond_timedwait(C, M, W, __FILE__, __LINE__)
#else
@@ -963,7 +963,7 @@ static inline int inline_mysql_cond_destroy(
static inline int inline_mysql_cond_wait(
mysql_cond_t *that,
mysql_mutex_t *mutex
-#ifdef HAVE_PSI_INTERFACE
+#if defined(HAVE_PSI_INTERFACE) || defined(SAFE_MUTEX)
, const char *src_file, uint src_line
#endif
)
@@ -980,7 +980,11 @@ static inline int inline_mysql_cond_wait(
PSI_server->start_cond_wait(locker, src_file, src_line);
}
#endif
+#ifdef SAFE_MUTEX
+ result= safe_cond_wait(&that->m_cond, &mutex->m_mutex, src_file, src_line);
+#else
result= pthread_cond_wait(&that->m_cond, &mutex->m_mutex);
+#endif
#ifdef HAVE_PSI_INTERFACE
if (likely(locker != NULL))
PSI_server->end_cond_wait(locker, result);
@@ -992,7 +996,7 @@ static inline int inline_mysql_cond_timedwait(
mysql_cond_t *that,
mysql_mutex_t *mutex,
struct timespec *abstime
-#ifdef HAVE_PSI_INTERFACE
+#if defined(HAVE_PSI_INTERFACE) || defined(SAFE_MUTEX)
, const char *src_file, uint src_line
#endif
)
@@ -1009,7 +1013,12 @@ static inline int inline_mysql_cond_timedwait(
PSI_server->start_cond_wait(locker, src_file, src_line);
}
#endif
+#ifdef SAFE_MUTEX
+ result= safe_cond_timedwait(&that->m_cond, &mutex->m_mutex, abstime,
+ src_file, src_line);
+#else
result= pthread_cond_timedwait(&that->m_cond, &mutex->m_mutex, abstime);
+#endif
#ifdef HAVE_PSI_INTERFACE
if (likely(locker != NULL))
PSI_server->end_cond_wait(locker, result);
diff --git a/mysql-test/suite/innodb/r/auto_increment_dup.result b/mysql-test/suite/innodb/r/auto_increment_dup.result
index 5bf901cb212..def975af6dd 100644
--- a/mysql-test/suite/innodb/r/auto_increment_dup.result
+++ b/mysql-test/suite/innodb/r/auto_increment_dup.result
@@ -13,7 +13,7 @@ INSERT INTO t1(k) VALUES (1), (2), (3) ON DUPLICATE KEY UPDATE c='1';
#
# Connection 2
#
-SET DEBUG_SYNC='start_ha_write_row WAIT_FOR continue2';
+SET DEBUG_SYNC='ha_write_row_start WAIT_FOR continue2';
affected rows: 0
SET DEBUG_SYNC='after_mysql_insert SIGNAL continue1';
affected rows: 0
diff --git a/mysql-test/suite/innodb/t/auto_increment_dup.test b/mysql-test/suite/innodb/t/auto_increment_dup.test
index ad439024f65..abbff46075a 100644
--- a/mysql-test/suite/innodb/t/auto_increment_dup.test
+++ b/mysql-test/suite/innodb/t/auto_increment_dup.test
@@ -33,7 +33,7 @@ SET DEBUG_SYNC='ha_write_row_end SIGNAL continue2 WAIT_FOR continue1';
--echo #
--echo # Connection 2
--echo #
-SET DEBUG_SYNC='start_ha_write_row WAIT_FOR continue2';
+SET DEBUG_SYNC='ha_write_row_start WAIT_FOR continue2';
SET DEBUG_SYNC='after_mysql_insert SIGNAL continue1';
INSERT INTO t1(k) VALUES (2), (4), (5) ON DUPLICATE KEY UPDATE c='2';
diff --git a/mysql-test/suite/perfschema/include/upgrade_check.inc b/mysql-test/suite/perfschema/include/upgrade_check.inc
index 440eb8f7123..52d4cfd1e63 100644
--- a/mysql-test/suite/perfschema/include/upgrade_check.inc
+++ b/mysql-test/suite/perfschema/include/upgrade_check.inc
@@ -8,6 +8,8 @@
--source include/wait_until_count_sessions.inc
# Verify that mysql_upgrade complained about the performance_schema
+
+--replace_regex /at line [0-9]+/at line ###/
--cat_file $err_file
--error 0,1
--remove_file $out_file
diff --git a/mysql-test/suite/perfschema/r/pfs_upgrade.result b/mysql-test/suite/perfschema/r/pfs_upgrade.result
index 4d7d9e28fe8..97c67e45ad3 100644
--- a/mysql-test/suite/perfschema/r/pfs_upgrade.result
+++ b/mysql-test/suite/perfschema/r/pfs_upgrade.result
@@ -8,24 +8,24 @@ use performance_schema;
show tables like "user_table";
Tables_in_performance_schema (user_table)
user_table
-ERROR 1050 (42S01) at line 183: Table 'cond_instances' already exists
-ERROR 1050 (42S01) at line 213: Table 'events_waits_current' already exists
-ERROR 1050 (42S01) at line 227: Table 'events_waits_history' already exists
-ERROR 1050 (42S01) at line 241: Table 'events_waits_history_long' already exists
-ERROR 1050 (42S01) at line 262: Table 'events_waits_summary_by_instance' already exists
-ERROR 1050 (42S01) at line 283: Table 'events_waits_summary_by_thread_by_event_name' already exists
-ERROR 1050 (42S01) at line 303: Table 'events_waits_summary_global_by_event_name' already exists
-ERROR 1050 (42S01) at line 320: Table 'file_instances' already exists
-ERROR 1050 (42S01) at line 339: Table 'file_summary_by_event_name' already exists
-ERROR 1050 (42S01) at line 359: Table 'file_summary_by_instance' already exists
-ERROR 1050 (42S01) at line 376: Table 'mutex_instances' already exists
-ERROR 1050 (42S01) at line 394: Table 'performance_timers' already exists
-ERROR 1050 (42S01) at line 412: Table 'rwlock_instances' already exists
-ERROR 1050 (42S01) at line 428: Table 'setup_consumers' already exists
-ERROR 1050 (42S01) at line 445: Table 'setup_instruments' already exists
-ERROR 1050 (42S01) at line 461: Table 'setup_timers' already exists
-ERROR 1050 (42S01) at line 478: Table 'threads' already exists
-ERROR 1644 (HY000) at line 1126: Unexpected content found in the performance_schema database.
+ERROR 1050 (42S01) at line ###: Table 'cond_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_current' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_history' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_history_long' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_instance' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_thread_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_global_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_summary_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_summary_by_instance' already exists
+ERROR 1050 (42S01) at line ###: Table 'mutex_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'performance_timers' already exists
+ERROR 1050 (42S01) at line ###: Table 'rwlock_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_consumers' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_instruments' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_timers' already exists
+ERROR 1050 (42S01) at line ###: Table 'threads' already exists
+ERROR 1644 (HY000) at line ###: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed
show tables like "user_table";
Tables_in_performance_schema (user_table)
@@ -38,24 +38,24 @@ use performance_schema;
show tables like "user_view";
Tables_in_performance_schema (user_view)
user_view
-ERROR 1050 (42S01) at line 183: Table 'cond_instances' already exists
-ERROR 1050 (42S01) at line 213: Table 'events_waits_current' already exists
-ERROR 1050 (42S01) at line 227: Table 'events_waits_history' already exists
-ERROR 1050 (42S01) at line 241: Table 'events_waits_history_long' already exists
-ERROR 1050 (42S01) at line 262: Table 'events_waits_summary_by_instance' already exists
-ERROR 1050 (42S01) at line 283: Table 'events_waits_summary_by_thread_by_event_name' already exists
-ERROR 1050 (42S01) at line 303: Table 'events_waits_summary_global_by_event_name' already exists
-ERROR 1050 (42S01) at line 320: Table 'file_instances' already exists
-ERROR 1050 (42S01) at line 339: Table 'file_summary_by_event_name' already exists
-ERROR 1050 (42S01) at line 359: Table 'file_summary_by_instance' already exists
-ERROR 1050 (42S01) at line 376: Table 'mutex_instances' already exists
-ERROR 1050 (42S01) at line 394: Table 'performance_timers' already exists
-ERROR 1050 (42S01) at line 412: Table 'rwlock_instances' already exists
-ERROR 1050 (42S01) at line 428: Table 'setup_consumers' already exists
-ERROR 1050 (42S01) at line 445: Table 'setup_instruments' already exists
-ERROR 1050 (42S01) at line 461: Table 'setup_timers' already exists
-ERROR 1050 (42S01) at line 478: Table 'threads' already exists
-ERROR 1644 (HY000) at line 1126: Unexpected content found in the performance_schema database.
+ERROR 1050 (42S01) at line ###: Table 'cond_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_current' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_history' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_history_long' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_instance' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_thread_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_global_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_summary_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_summary_by_instance' already exists
+ERROR 1050 (42S01) at line ###: Table 'mutex_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'performance_timers' already exists
+ERROR 1050 (42S01) at line ###: Table 'rwlock_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_consumers' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_instruments' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_timers' already exists
+ERROR 1050 (42S01) at line ###: Table 'threads' already exists
+ERROR 1644 (HY000) at line ###: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed
show tables like "user_view";
Tables_in_performance_schema (user_view)
@@ -66,24 +66,24 @@ drop view test.user_view;
create procedure test.user_proc()
select "Not supposed to be here";
update mysql.proc set db='performance_schema' where name='user_proc';
-ERROR 1050 (42S01) at line 183: Table 'cond_instances' already exists
-ERROR 1050 (42S01) at line 213: Table 'events_waits_current' already exists
-ERROR 1050 (42S01) at line 227: Table 'events_waits_history' already exists
-ERROR 1050 (42S01) at line 241: Table 'events_waits_history_long' already exists
-ERROR 1050 (42S01) at line 262: Table 'events_waits_summary_by_instance' already exists
-ERROR 1050 (42S01) at line 283: Table 'events_waits_summary_by_thread_by_event_name' already exists
-ERROR 1050 (42S01) at line 303: Table 'events_waits_summary_global_by_event_name' already exists
-ERROR 1050 (42S01) at line 320: Table 'file_instances' already exists
-ERROR 1050 (42S01) at line 339: Table 'file_summary_by_event_name' already exists
-ERROR 1050 (42S01) at line 359: Table 'file_summary_by_instance' already exists
-ERROR 1050 (42S01) at line 376: Table 'mutex_instances' already exists
-ERROR 1050 (42S01) at line 394: Table 'performance_timers' already exists
-ERROR 1050 (42S01) at line 412: Table 'rwlock_instances' already exists
-ERROR 1050 (42S01) at line 428: Table 'setup_consumers' already exists
-ERROR 1050 (42S01) at line 445: Table 'setup_instruments' already exists
-ERROR 1050 (42S01) at line 461: Table 'setup_timers' already exists
-ERROR 1050 (42S01) at line 478: Table 'threads' already exists
-ERROR 1644 (HY000) at line 1126: Unexpected content found in the performance_schema database.
+ERROR 1050 (42S01) at line ###: Table 'cond_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_current' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_history' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_history_long' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_instance' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_thread_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_global_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_summary_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_summary_by_instance' already exists
+ERROR 1050 (42S01) at line ###: Table 'mutex_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'performance_timers' already exists
+ERROR 1050 (42S01) at line ###: Table 'rwlock_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_consumers' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_instruments' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_timers' already exists
+ERROR 1050 (42S01) at line ###: Table 'threads' already exists
+ERROR 1644 (HY000) at line ###: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed
select name from mysql.proc where db='performance_schema';
name
@@ -94,24 +94,24 @@ drop procedure test.user_proc;
create function test.user_func() returns integer
return 0;
update mysql.proc set db='performance_schema' where name='user_func';
-ERROR 1050 (42S01) at line 183: Table 'cond_instances' already exists
-ERROR 1050 (42S01) at line 213: Table 'events_waits_current' already exists
-ERROR 1050 (42S01) at line 227: Table 'events_waits_history' already exists
-ERROR 1050 (42S01) at line 241: Table 'events_waits_history_long' already exists
-ERROR 1050 (42S01) at line 262: Table 'events_waits_summary_by_instance' already exists
-ERROR 1050 (42S01) at line 283: Table 'events_waits_summary_by_thread_by_event_name' already exists
-ERROR 1050 (42S01) at line 303: Table 'events_waits_summary_global_by_event_name' already exists
-ERROR 1050 (42S01) at line 320: Table 'file_instances' already exists
-ERROR 1050 (42S01) at line 339: Table 'file_summary_by_event_name' already exists
-ERROR 1050 (42S01) at line 359: Table 'file_summary_by_instance' already exists
-ERROR 1050 (42S01) at line 376: Table 'mutex_instances' already exists
-ERROR 1050 (42S01) at line 394: Table 'performance_timers' already exists
-ERROR 1050 (42S01) at line 412: Table 'rwlock_instances' already exists
-ERROR 1050 (42S01) at line 428: Table 'setup_consumers' already exists
-ERROR 1050 (42S01) at line 445: Table 'setup_instruments' already exists
-ERROR 1050 (42S01) at line 461: Table 'setup_timers' already exists
-ERROR 1050 (42S01) at line 478: Table 'threads' already exists
-ERROR 1644 (HY000) at line 1126: Unexpected content found in the performance_schema database.
+ERROR 1050 (42S01) at line ###: Table 'cond_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_current' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_history' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_history_long' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_instance' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_thread_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_global_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_summary_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_summary_by_instance' already exists
+ERROR 1050 (42S01) at line ###: Table 'mutex_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'performance_timers' already exists
+ERROR 1050 (42S01) at line ###: Table 'rwlock_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_consumers' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_instruments' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_timers' already exists
+ERROR 1050 (42S01) at line ###: Table 'threads' already exists
+ERROR 1644 (HY000) at line ###: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed
select name from mysql.proc where db='performance_schema';
name
@@ -122,24 +122,24 @@ drop function test.user_func;
create event test.user_event on schedule every 1 day do
select "not supposed to be here";
update mysql.event set db='performance_schema' where name='user_event';
-ERROR 1050 (42S01) at line 183: Table 'cond_instances' already exists
-ERROR 1050 (42S01) at line 213: Table 'events_waits_current' already exists
-ERROR 1050 (42S01) at line 227: Table 'events_waits_history' already exists
-ERROR 1050 (42S01) at line 241: Table 'events_waits_history_long' already exists
-ERROR 1050 (42S01) at line 262: Table 'events_waits_summary_by_instance' already exists
-ERROR 1050 (42S01) at line 283: Table 'events_waits_summary_by_thread_by_event_name' already exists
-ERROR 1050 (42S01) at line 303: Table 'events_waits_summary_global_by_event_name' already exists
-ERROR 1050 (42S01) at line 320: Table 'file_instances' already exists
-ERROR 1050 (42S01) at line 339: Table 'file_summary_by_event_name' already exists
-ERROR 1050 (42S01) at line 359: Table 'file_summary_by_instance' already exists
-ERROR 1050 (42S01) at line 376: Table 'mutex_instances' already exists
-ERROR 1050 (42S01) at line 394: Table 'performance_timers' already exists
-ERROR 1050 (42S01) at line 412: Table 'rwlock_instances' already exists
-ERROR 1050 (42S01) at line 428: Table 'setup_consumers' already exists
-ERROR 1050 (42S01) at line 445: Table 'setup_instruments' already exists
-ERROR 1050 (42S01) at line 461: Table 'setup_timers' already exists
-ERROR 1050 (42S01) at line 478: Table 'threads' already exists
-ERROR 1644 (HY000) at line 1126: Unexpected content found in the performance_schema database.
+ERROR 1050 (42S01) at line ###: Table 'cond_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_current' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_history' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_history_long' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_instance' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_by_thread_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'events_waits_summary_global_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_summary_by_event_name' already exists
+ERROR 1050 (42S01) at line ###: Table 'file_summary_by_instance' already exists
+ERROR 1050 (42S01) at line ###: Table 'mutex_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'performance_timers' already exists
+ERROR 1050 (42S01) at line ###: Table 'rwlock_instances' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_consumers' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_instruments' already exists
+ERROR 1050 (42S01) at line ###: Table 'setup_timers' already exists
+ERROR 1050 (42S01) at line ###: Table 'threads' already exists
+ERROR 1644 (HY000) at line ###: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed
select name from mysql.event where db='performance_schema';
name
diff --git a/mysql-test/valgrind.supp b/mysql-test/valgrind.supp
index 800a5a90b39..39748edd476 100644
--- a/mysql-test/valgrind.supp
+++ b/mysql-test/valgrind.supp
@@ -637,6 +637,14 @@
fun:kill_server
}
+{
+ Aria checkpoint background thread not dying fast enough
+ Memcheck:Leak
+ fun:calloc
+ fun:my_thread_init
+ fun:ma_checkpoint_background
+}
+
#
# Warning caused by small memory leak in threaded dlopen
#
diff --git a/scripts/mysqlaccess.sh b/scripts/mysqlaccess.sh
index 9fb9e78e753..43844e5ec68 100644
--- a/scripts/mysqlaccess.sh
+++ b/scripts/mysqlaccess.sh
@@ -930,7 +930,7 @@ sub MergeConfigFile {
$unsafeConfig = $fname;
}
}
- if ( $group eq 'client' ) {
+ if ( $group eq 'client' || $group eq "client-server") {
$MYSQL_CNF{'mysql'}{$item} = $value;
$MYSQL_CNF{'mysqldump'}{$item} = $value;
} else {
@@ -2423,7 +2423,7 @@ sub Print_Header {
sub Print_Footer {
if ($MySQLaccess::CMD) { #command-line mode
print "\n"
- ."BUGs can be reported by email to bugs\@mysql.com\n";
+ ."BUGs can be reported trough https://mariadb.atlassian.net/browse/MDEV\n";
}
if ($MySQLaccess::CGI) { #CGI-BIN mode
if ($MySQLaccess::Param{'brief'}) {
@@ -2431,7 +2431,7 @@ sub Print_Footer {
}
print "<HR>\n"
."<ADDRESS>\n"
- ."BUGs can be reported by email to <a href=mailto:bugs\@mysql.com>bugs\@mysql.com</a><BR>\n"
+ ."BUGs can be reported through <a href=\"https://mariadb.atlassian.net/browse/MDEV\">MariaDB JIRA</a><BR>\n"
# ."Don't forget to mention the version $VERSION!<BR>\n"
."</ADDRESS>\n"
."</BODY>\n"
diff --git a/sql/handler.cc b/sql/handler.cc
index 5108e3abc40..679ef346fbb 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -5125,6 +5125,7 @@ int handler::ha_write_row(uchar *buf)
int error;
Log_func *log_func= Write_rows_log_event::binlog_row_logging_function;
DBUG_ENTER("handler::ha_write_row");
+ DEBUG_SYNC_C("ha_write_row_start");
MYSQL_INSERT_ROW_START(table_share->db.str, table_share->table_name.str);
mark_trx_read_write();
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index c4c65977e60..37e54a6638c 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -706,8 +706,8 @@ char *opt_logname, *opt_slow_logname, *opt_bin_logname;
static volatile sig_atomic_t kill_in_progress;
my_bool opt_stack_trace;
-my_bool opt_expect_abort= 0;
-static my_bool opt_bootstrap, opt_myisam_log;
+my_bool opt_expect_abort= 0, opt_bootstrap= 0;
+static my_bool opt_myisam_log;
static int cleanup_done;
static ulong opt_specialflag;
static char *opt_binlog_index_name;
diff --git a/sql/mysqld.h b/sql/mysqld.h
index 554c662e90f..293c20ade55 100644
--- a/sql/mysqld.h
+++ b/sql/mysqld.h
@@ -77,7 +77,7 @@ extern CHARSET_INFO *character_set_filesystem;
extern MY_BITMAP temp_pool;
extern bool opt_large_files, server_id_supplied;
extern bool opt_update_log, opt_bin_log, opt_error_log;
-extern my_bool opt_log, opt_slow_log;
+extern my_bool opt_log, opt_slow_log, opt_bootstrap;
extern my_bool opt_backup_history_log;
extern my_bool opt_backup_progress_log;
extern ulonglong log_output_options;
diff --git a/sql/rpl_rli.cc b/sql/rpl_rli.cc
index 252b4f3f5b9..cbd7ac8f5ef 100644
--- a/sql/rpl_rli.cc
+++ b/sql/rpl_rli.cc
@@ -188,7 +188,8 @@ a file name for --relay-log-index option", opt_relaylog_index_name);
ln= rli->relay_log.generate_name(opt_relay_logname, "-relay-bin",
1, buf);
/* We send the warning only at startup, not after every RESET SLAVE */
- if (!opt_relay_logname && !opt_relaylog_index_name && !name_warning_sent)
+ if (!opt_relay_logname && !opt_relaylog_index_name && !name_warning_sent &&
+ !opt_bootstrap)
{
/*
User didn't give us info to name the relay log index file.
diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc
index ef3f81f18c5..45cc7357155 100644
--- a/sql/sql_insert.cc
+++ b/sql/sql_insert.cc
@@ -2269,11 +2269,8 @@ bool delayed_get_table(THD *thd, MDL_request *grl_protection_request,
want to send "Server shutdown in progress" in the
INSERT THREAD.
*/
- if (di->thd.stmt_da->sql_errno() == ER_SERVER_SHUTDOWN)
- my_message(ER_QUERY_INTERRUPTED, ER(ER_QUERY_INTERRUPTED), MYF(0));
- else
- my_message(di->thd.stmt_da->sql_errno(), di->thd.stmt_da->message(),
- MYF(0));
+ my_message(di->thd.stmt_da->sql_errno(), di->thd.stmt_da->message(),
+ MYF(0));
}
di->unlock();
goto end_create;
@@ -2358,7 +2355,7 @@ TABLE *Delayed_insert::get_local_table(THD* client_thd)
killed using mysql_notify_thread_having_shared_lock() or
kill_delayed_threads_for_table().
*/
- if (!thd.is_error() || thd.stmt_da->sql_errno() == ER_SERVER_SHUTDOWN)
+ if (!thd.is_error())
my_message(ER_QUERY_INTERRUPTED, ER(ER_QUERY_INTERRUPTED), MYF(0));
else
my_message(thd.stmt_da->sql_errno(), thd.stmt_da->message(), MYF(0));
diff --git a/support-files/compiler_warnings.supp b/support-files/compiler_warnings.supp
index a4640f843a1..809369bc436 100644
--- a/support-files/compiler_warnings.supp
+++ b/support-files/compiler_warnings.supp
@@ -137,6 +137,11 @@ lock_xt\.cc : uninitialized local variable .* used
restart_xt\.cc : dereferencing pointer .* does break strict-aliasing
#
+# oqgraph errors that are hard to fix
+#
+oqgraph/graphcore\.cc : may be used uninitialized in this function
+
+#
# I think these are due to mix of C and C++.
#
storage/pbxt/ : typedef.*was ignored in this declaration
@@ -152,6 +157,7 @@ include/runtime.hpp: .*pure_error.*
.*/extra/yassl/taocrypt/src/file\.cpp: ignoring return value
.*/extra/yassl/taocrypt/src/integer\.cpp: control reaches end of non-void function
mySTL/algorithm\.hpp: is used uninitialized in this function
+include/pwdbased\.hpp: comparison of unsigned expression
#
# Groff warnings on OpenSUSE.
@@ -176,6 +182,7 @@ net_serv.cc : .*conversion from 'SOCKET' to 'int'.*
# Ignorable warnings from header files
#
backward_warning\.h : This file includes at least one
+/usr/include/i386-linux-gnu/bits/string3\.h: memset used with constant zero length parameter
# allow a little moving space for the warning below
mi_packrec\.c : .*result of 32-bit shift implicitly converted to 64 bits.* : 560-600
@@ -190,8 +197,9 @@ ctype-simple\.c : .*unary minus operator applied to unsigned type, result still
# Wrong warning due to GCC bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29478
regexec\.c : passing argument 3 of.*matcher.* discards qualifiers from pointer target type
libmysql\.c: passing argument 2 of .*memcpy.* discards qualifiers from pointer target type : 3000-4000
-storage/xtradb/dict/dict0dict\.c : passing argument 1 of .*strcpy.* discards qualifiers from pointer target type : 2500-3500
-storage/xtradb/sync/sync0rw\.c : passing argument 1 of .*memset.* discards qualifiers from pointer target type : 200-300
+storage/.*/dict/dict0dict\.c : passing argument 1 of .*strcpy.* discards qualifiers from pointer target type : 2500-3500
+storage/.*/sync/sync0rw\.c : passing argument 1 of .*memset.* discards qualifiers from pointer target type : 200-300
+storage/.*/btr/btr0sea\.c : passing argument 2 of .*btr_cur_position.* discards qualifiers from pointer
#
# Strange things from autoconf that is probably safe to ignore
@@ -199,3 +207,4 @@ storage/xtradb/sync/sync0rw\.c : passing argument 1 of .*memset.* discards quali
configure.in : warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
configure.in : config/ac-macros/character_sets.m4.*prefer named diversions
+warning: File listed twice