diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc index 3ab9a5f7c9f..8e2526d826e 100644 --- a/extra/mariabackup/xtrabackup.cc +++ b/extra/mariabackup/xtrabackup.cc @@ -3400,7 +3400,7 @@ static void xb_load_single_table_tablespace(const char *dirname, delete file; if (err != DB_SUCCESS && xtrabackup_backup && !is_empty_file) { - die("Failed to not validate first page of the file %s, error %d",name, (int)err); + die("Failed to validate first page of the file %s, error %d",name, (int)err); } ut_free(name); diff --git a/include/mysql/psi/psi.h b/include/mysql/psi/psi.h index 238471c7af1..e921233649e 100644 --- a/include/mysql/psi/psi.h +++ b/include/mysql/psi/psi.h @@ -1149,7 +1149,7 @@ typedef void (*register_socket_v1_t) @return an instrumented mutex */ typedef struct PSI_mutex* (*init_mutex_v1_t) - (PSI_mutex_key key, const void *identity); + (PSI_mutex_key key, void *identity); /** Mutex instrumentation destruction API. @@ -1164,7 +1164,7 @@ typedef void (*destroy_mutex_v1_t)(struct PSI_mutex *mutex); @return an instrumented rwlock */ typedef struct PSI_rwlock* (*init_rwlock_v1_t) - (PSI_rwlock_key key, const void *identity); + (PSI_rwlock_key key, void *identity); /** Rwlock instrumentation destruction API. @@ -1179,7 +1179,7 @@ typedef void (*destroy_rwlock_v1_t)(struct PSI_rwlock *rwlock); @return an instrumented cond */ typedef struct PSI_cond* (*init_cond_v1_t) - (PSI_cond_key key, const void *identity); + (PSI_cond_key key, void *identity); /** Cond instrumentation destruction API. diff --git a/include/mysql/psi/psi_abi_v1.h.pp b/include/mysql/psi/psi_abi_v1.h.pp index ef18f59e4a9..576d801b127 100644 --- a/include/mysql/psi/psi_abi_v1.h.pp +++ b/include/mysql/psi/psi_abi_v1.h.pp @@ -300,13 +300,13 @@ typedef void (*register_statement_v1_t) typedef void (*register_socket_v1_t) (const char *category, struct PSI_socket_info_v1 *info, int count); typedef struct PSI_mutex* (*init_mutex_v1_t) - (PSI_mutex_key key, const void *identity); + (PSI_mutex_key key, void *identity); typedef void (*destroy_mutex_v1_t)(struct PSI_mutex *mutex); typedef struct PSI_rwlock* (*init_rwlock_v1_t) - (PSI_rwlock_key key, const void *identity); + (PSI_rwlock_key key, void *identity); typedef void (*destroy_rwlock_v1_t)(struct PSI_rwlock *rwlock); typedef struct PSI_cond* (*init_cond_v1_t) - (PSI_cond_key key, const void *identity); + (PSI_cond_key key, void *identity); typedef void (*destroy_cond_v1_t)(struct PSI_cond *cond); typedef struct PSI_socket* (*init_socket_v1_t) (PSI_socket_key key, const my_socket *fd, diff --git a/libmariadb b/libmariadb index 0cc16f18c1d..42cb1e442c4 160000 --- a/libmariadb +++ b/libmariadb @@ -1 +1 @@ -Subproject commit 0cc16f18c1d87bbe6e360eaf578fcedeb9479114 +Subproject commit 42cb1e442c43902e2866bea38d15f2ed1f5d38b3 diff --git a/mysql-test/lib/My/Options.pm b/mysql-test/lib/My/Options.pm index 6e0efe862e7..5827e0666a6 100644 --- a/mysql-test/lib/My/Options.pm +++ b/mysql-test/lib/My/Options.pm @@ -140,24 +140,16 @@ sub diff { } -sub is_set { - my ($opts, $set_opts)= @_; +sub is_subset { + my ($set, $subset)= @_; + my %cache = map { _split_option($_) } @$set; - foreach my $opt (@$opts){ - - my ($opt_name1, $value1)= _split_option($opt); - - foreach my $set_opt (@$set_opts){ - my ($opt_name2, $value2)= _split_option($set_opt); - - if ($opt_name1 eq $opt_name2 and $value1 eq $value2){ - # Option already set - return 1; - } - } + for (@$subset){ + my ($name, $value)= _split_option($_); + return 0 unless exists $cache{$name} and $cache{$name} eq $value; } - return 0; + return 1; } diff --git a/mysql-test/lib/mtr_cases.pm b/mysql-test/lib/mtr_cases.pm index 5958849da09..52872fa610f 100644 --- a/mysql-test/lib/mtr_cases.pm +++ b/mysql-test/lib/mtr_cases.pm @@ -625,8 +625,10 @@ sub make_combinations($$@) { # Skip all other combinations if the values they change # are already fixed in master_opt or slave_opt - if (My::Options::is_set($test->{master_opt}, $comb->{comb_opt}) && - My::Options::is_set($test->{slave_opt}, $comb->{comb_opt}) ){ + # (empty combinations are not considered a subset of anything) + if (@{$comb->{comb_opt}} && + My::Options::is_subset($test->{master_opt}, $comb->{comb_opt}) && + My::Options::is_subset($test->{slave_opt}, $comb->{comb_opt}) ){ $test_combs->{$comb->{name}} = 2; diff --git a/mysys/psi_noop.c b/mysys/psi_noop.c index 9eec07a1cd8..8ab17f22cc4 100644 --- a/mysys/psi_noop.c +++ b/mysys/psi_noop.c @@ -86,7 +86,7 @@ static void register_socket_noop(const char *category NNN, } static PSI_mutex* -init_mutex_noop(PSI_mutex_key key NNN, const void *identity NNN) +init_mutex_noop(PSI_mutex_key key NNN, void *identity NNN) { return NULL; } @@ -97,7 +97,7 @@ static void destroy_mutex_noop(PSI_mutex* mutex NNN) } static PSI_rwlock* -init_rwlock_noop(PSI_rwlock_key key NNN, const void *identity NNN) +init_rwlock_noop(PSI_rwlock_key key NNN, void *identity NNN) { return NULL; } @@ -108,7 +108,7 @@ static void destroy_rwlock_noop(PSI_rwlock* rwlock NNN) } static PSI_cond* -init_cond_noop(PSI_cond_key key NNN, const void *identity NNN) +init_cond_noop(PSI_cond_key key NNN, void *identity NNN) { return NULL; } diff --git a/scripts/mysql_setpermission.sh b/scripts/mysql_setpermission.sh index 71462d28622..7c0ef575db7 100644 --- a/scripts/mysql_setpermission.sh +++ b/scripts/mysql_setpermission.sh @@ -52,6 +52,7 @@ use strict; use vars qw($dbh $sth $hostname $opt_user $opt_password $opt_help $opt_host $opt_socket $opt_port $host $version); +my $sqlport = ""; my $sqlhost = ""; my $user = ""; @@ -84,9 +85,13 @@ if ($opt_password eq '') print "\n"; } +# Using port argument with 'localhost' will cause an error +if ($sqlhost ne "localhost") { + $sqlport = ":port=$opt_port"; +} # make the connection to MariaDB -$dbh= DBI->connect("DBI:mysql:mysql:host=$sqlhost:port=$opt_port:mysql_socket=$opt_socket",$opt_user,$opt_password, {PrintError => 0}) || +$dbh= DBI->connect("DBI:mysql:mysql:host=$sqlhost$sqlport:mysql_socket=$opt_socket",$opt_user,$opt_password, {PrintError => 0}) || die("Can't make a connection to the mysql server.\n The error: $DBI::errstr"); # the start of the program @@ -278,7 +283,6 @@ sub addall { $sth = $dbh->do("REVOKE ALL ON $db.* FROM \'$user\'\@\'$host\'") || die $dbh->errstr; } } - $dbh->do("FLUSH PRIVILEGES") || print STDERR "Can't flush privileges\n"; print "Everything is inserted and mysql privileges have been reloaded.\n\n"; } diff --git a/sql/sql_class.h b/sql/sql_class.h index 133c0f6fec5..1df9a9dc718 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -4227,10 +4227,8 @@ public: for any CTE references. */ if (!lex->with_cte_resolution) - { my_message(ER_NO_DB_ERROR, ER(ER_NO_DB_ERROR), MYF(0)); - return TRUE; - } + return TRUE; } to->str= strmake(db.str, db.length); diff --git a/storage/perfschema/pfs.cc b/storage/perfschema/pfs.cc index 2f1081b3836..44bcbad87d7 100644 --- a/storage/perfschema/pfs.cc +++ b/storage/perfschema/pfs.cc @@ -1496,7 +1496,7 @@ static void register_socket_v1(const char *category, @sa PSI_v1::init_mutex. */ static PSI_mutex* -init_mutex_v1(PSI_mutex_key key, const void *identity) +init_mutex_v1(PSI_mutex_key key, void *identity) { INIT_BODY_V1(mutex, key, identity); } @@ -1519,7 +1519,7 @@ static void destroy_mutex_v1(PSI_mutex* mutex) @sa PSI_v1::init_rwlock. */ static PSI_rwlock* -init_rwlock_v1(PSI_rwlock_key key, const void *identity) +init_rwlock_v1(PSI_rwlock_key key, void *identity) { INIT_BODY_V1(rwlock, key, identity); } @@ -1542,7 +1542,7 @@ static void destroy_rwlock_v1(PSI_rwlock* rwlock) @sa PSI_v1::init_cond. */ static PSI_cond* -init_cond_v1(PSI_cond_key key, const void *identity) +init_cond_v1(PSI_cond_key key, void *identity) { INIT_BODY_V1(cond, key, identity); } diff --git a/storage/rocksdb/CMakeLists.txt b/storage/rocksdb/CMakeLists.txt index 8052b9b7032..56cea439376 100644 --- a/storage/rocksdb/CMakeLists.txt +++ b/storage/rocksdb/CMakeLists.txt @@ -44,6 +44,15 @@ IF (WIN32 AND CMAKE_SIZEOF_VOID_P EQUAL 4) SKIP_ROCKSDB_PLUGIN("32-Bit Windows are temporarily disabled") ENDIF() +# +# Also, disable on ARM64 when not Linux +# Requires submodule update to v6.16.3 +# containing commit https://github.com/facebook/rocksdb/commit/ee4bd4780b321ddb5f92a0f4eb956f2a2ebd60dc +# +IF(CMAKE_SYSTEM_PROCESSOR MATCHES "(arm64|aarch64)" AND NOT CMAKE_SYSTEM_NAME STREQUAL "Linux") + SKIP_ROCKSDB_PLUGIN("ARM64 disabled on all except Linux") +ENDIF() + # This plugin needs recent C++ compilers (it is using C++11 features) # Skip build for the old compilers SET(CXX11_FLAGS)