diff options
-rw-r--r-- | BUILD/FINISH.sh | 7 | ||||
-rwxr-xr-x | BUILD/SETUP.sh | 8 | ||||
-rw-r--r-- | client/mysqltest.cc | 10 | ||||
-rw-r--r-- | cmake/configure.pl | 5 | ||||
-rwxr-xr-x | debian/dist/Debian/rules | 2 | ||||
-rwxr-xr-x | debian/dist/Ubuntu/rules | 2 | ||||
-rw-r--r-- | include/my_pthread.h | 6 | ||||
-rw-r--r-- | include/mysql/psi/mysql_thread.h | 17 | ||||
-rw-r--r-- | mysql-test/suite/innodb/r/auto_increment_dup.result | 2 | ||||
-rw-r--r-- | mysql-test/suite/innodb/t/auto_increment_dup.test | 2 | ||||
-rw-r--r-- | mysql-test/suite/perfschema/include/upgrade_check.inc | 2 | ||||
-rw-r--r-- | mysql-test/suite/perfschema/r/pfs_upgrade.result | 180 | ||||
-rw-r--r-- | mysql-test/valgrind.supp | 8 | ||||
-rw-r--r-- | scripts/mysqlaccess.sh | 6 | ||||
-rw-r--r-- | sql/handler.cc | 1 | ||||
-rw-r--r-- | sql/mysqld.cc | 4 | ||||
-rw-r--r-- | sql/mysqld.h | 2 | ||||
-rw-r--r-- | sql/rpl_rli.cc | 3 | ||||
-rw-r--r-- | sql/sql_insert.cc | 9 | ||||
-rw-r--r-- | support-files/compiler_warnings.supp | 13 |
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 |