This will allow to check ABI for C++ plugins defined in include/mysql/plugin.h
e.g. like this:
struct st_mysql_xxx
{
int interface_version;
const class XXX *xxx;
};
Discussed with Serg.
plugin/versioning adds its own native functions by calling
item_create_append(). So GIS functions initialized two times.
Moving the initialization of GIS functions from item_create_append()
to item_create_init().
* Mitigate race candition when got_no_such_table remains uncleared.
* Remove warnings about deprecated SELECT .. FROM .. INTO ...
MDEV-16222 Assertion `0' failed in row_purge_remove_sec_if_poss_leaf on table with virtual columns and indexes
In this statement:
(uint *) thd->alloc(sizeof(uint) * field->interval->count+1);
parentheses around the '+' operator were missing. So too few memory
was allocated, which caused ASAN builds to fail on these tests:
innodb.innodb-ucs2
parts.part_ctype_utf32
main.mix2_myisam_ucs2
main.case
main.ctype_ucs
main.ctype_utf16
main.ctype_utf16_uca
main.ctype_utf16le
Fixed to a correct version with parentheses:
(uint *) thd->alloc(sizeof(uint) * (field->interval->count+1));
According to the code, it was Windows specific "simulated AIO"
workaround. The simulated s not supported on Windows anymore.
Thus, remove the dead code
Many InnoDB internal variables and counters were only exposed
in an unstructured fashion via SHOW ENGINE INNODB STATUS.
Expose more variables via SHOW STATUS. Many of these were
exported in XtraDB.
Also, introduce SHOW_SIZE_T and use the proper size for
exporting the InnoDB variables.
Remove some unnecessary indirection via export_vars, and
bind some variables directly.
dict_sys_t::rough_size(): Replaces dict_sys_get_size()
and includes the hash table sizes.
This is based on a contribution by Tony Liu from ServiceNow.
Shorten some VARCHAR attributes to a more reasonable length.
INNODB_METRICS: Rename the column STATUS to ENABLED, and make it Boolean.
Replace with INT(1) many Boolean attributes that were declared as VARCHAR
containing 'NO','YES','disabled','enabled','Uninitialized','Initialized'.
Replace some VARCHAR attributes with ENUM.
Replace some BIGINT with INT when 32 bits are sufficient.
Remove INNODB_SYS_TABLESPACES.SPACE_TYPE. The type of a tablespace
can be derived from the tablespace ID. A fixed number is used for
the system tablespace and the temporary tablespace. All other tablespaces
are single-table or single-partition tablespaces.
i_s_locks_row_t::lock_type, lock_get_type_str(): Remove.
This is a redundant field. Table and record locks can be
distinguished by whether i_s_locks_row_t::lock_index is NULL.
fill_trx_row(): Do not unnecessarily copy the constant strings that
trx->op_info is pointing to.
i_s_locks_row_t::lock_mode: Replace string with integer.
lock_get_mode_str(), lock_get_trx_id(), lock_get_trx(): Remove.
field_store_ulint(): Remove.
Fix the build on clang. GCC only checks that a member function with
the C++11 override keyword is actually overriding a virtual member
function in a base class. In clang, you will get a warning for
overridden member functions that lack the keyword, if any overridden
member function of the class is declared with the keyword.
Sources did not compile in some builds because of undeclared
ER_BLOB_KEY_WITHOUT_LENGTH. Moving the implementations of
Key_part_spec::check_key_length_for_blob() from sql_class.h to sql_class.cc
The gcc version in CentOS 7 is 4.8.2 (released in Mar 2013).
But Arm added the support for 'arm_acle.h' in gcc 5.1 (released in Jun 2014).
And there are also some bugs in Arm gcc 4.8.
The patch is to detect GCC(greater than 5.1) version for Arm crc32c.
Change-Id: I718b9b89f952fed72c8795a176ebbe5395c8dd5e
Signed-off-by: Yuqi Gu <yuqi.gu@arm.com>
If it is not enabled, build wsrep as static "stub" library from wsrep_dummy.cc
´
Allow static plugins to export symbols (on Unix)
wsrep_info relies on wsrep defined symbols (e.g LOCK_wsrep_config_state)
exported from mysqld
`cmake . -DWITH_EXTRA_CHARSETS=complex` did not compile.
Fixing forgotten "utf8" to "utf8mb3" in definitions of
CHARSET and CHARSETS_AVAILABLE in cmake/character_sets.cmake