init_mutex_v1_t: Stop lying that the mutex parameter is const.
GCC 11.2.0 assumes that it is and could complain about any mysql_mutex_t
being uninitialized even after mysql_mutex_init() as long as
PLUGIN_PERFSCHEMA is enabled.
init_rwlock_v1_t, init_cond_v1_t: Remove untruthful const qualifiers.
Note: init_socket_v1_t is expecting that the socket fd has already
been created before PSI_SOCKET_CALL(init_socket), and therefore that
parameter really is being treated as a pointer to const.
Performance schema likely/unlikely assume that performance schema
is enabled by default, which causes a performance degradation for
default installations that doesn't have performance schema enabled.
Fixed by changing the likely/unlikely in PS to assume it's
not enabled. This can be changed by compiling with
-DPSI_ON_BY_DEFAULT
Other changes:
- Added psi_likely/psi_unlikely that is depending on
PSI_ON_BY_DEFAULT. psi_likely() is assumed to be true
if PS is enabled.
- Added likely/unlikely to some PS interface code.
- Moved pfs_enabled to mysys (was initialized but not used before)
- Added "if (pfs_likely(pfs_enabled))" around calls to PS to avoid
an extra call if PS is not enabled.
- Moved checking flag_global_instrumention before other flags
to speed up the case when PS is not enabled.
mysys/psi_noop.c:
Fixed wrong prototype
sql/rpl_gtid.cc:
Added #ifndef to hide not used variable
storage/connect/connect.cc:
Added volatile to avoid compiler warning in gcc 4.8.1
storage/connect/filamvct.cpp:
Added volatile to avoid compiler warning in gcc 4.8.1
storage/maria/ma_checkpoint.c:
Removed cast to avoid compiler warning
storage/myisam/mi_delete_table.c:
Added attribute to avoid compiler warning
storage/tokudb/ha_tokudb.cc:
Use LINT_INIT_STRUCT to avoid compiler warnings
storage/tokudb/hatoku_hton.cc:
Use LINT_INIT_STRUCT to avoid compiler warnings
storage/tokudb/tokudb_card.h:
Use LINT_INIT_STRUCT to avoid compiler warnings
storage/tokudb/tokudb_status.h:
Use LINT_INIT_STRUCT to avoid compiler warnings