Commit graph

186381 commits

Author SHA1 Message Date
Aleksey Midenkov
aca29bb754 Fix test case for MDEV-16222
* 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
2019-07-08 14:58:20 +03:00
Aleksey Midenkov
ed33a5df8b MDEV-19175 Server crashes in ha_partition::vers_can_native upon INSERT DELAYED into versioned partitioned table
Uninitialized LEX::part_info on ha_partition::vers_can_native().
2019-07-07 23:11:20 +03:00
Aleksey Midenkov
08baaa14b9 MDEV-16222 Assertion `0' failed in row_purge_remove_sec_if_poss_leaf on table with virtual columns and indexes
Cause
Stale thd->m_stmt_da->m_sql_errno which is from different invocation.

Fix
Reset error state before attempt to open table.
2019-07-07 23:11:20 +03:00
Aleksey Midenkov
b27dc3d93c Tests: versioning suite fix when no test_versioning plugin 2019-07-07 23:11:20 +03:00
Aleksey Midenkov
29ffaf405e MDEV-19785 Storage CONNECT compilation error: unknown type name 'UNZFAM'
Another fail fix:

undefined reference to `ZipLoadFile`
2019-07-07 23:11:20 +03:00
Alexander Barkov
a6946c55d3 MDEV-19972 Move GIS code from Item_bool_func::get_full_func_mm_tree() to Item_func_spatial_rel::get_mm_leaf() 2019-07-05 20:52:59 +04:00
Alexander Barkov
2e57c8cc70 MDEV-19957 Move Type_handler_geometry code from sql_type.h/cc to sql_type_geom.h/cc 2019-07-05 06:02:44 +04:00
Alexander Barkov
b3161bd995 A cleanup (to fix ASAN problem) for MDEV-19863 Add const to TYPELIB pointers
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));
2019-07-04 18:26:59 +04:00
Vladislav Vaintroub
4d6a90942c Fix ASAN on clang-cl 2019-07-04 10:27:11 +02:00
Vladislav Vaintroub
4513e73e0f Remove os_aio_simulated_put_read_threads_to_sleep()
According to the code, it was Windows specific "simulated AIO"
workaround. The simulated s not supported on Windows anymore.

Thus, remove the dead code
2019-07-04 10:27:11 +02:00
Vladislav Vaintroub
cdb91533ad Fix clang-cl warning 2019-07-04 10:27:11 +02:00
Vladislav Vaintroub
2a9441d115 Do not compile socket IO code in WolfSSL
We use own IO callbacks from server code anyway.
2019-07-04 10:27:10 +02:00
Vladislav Vaintroub
bd4f0dd7b2 Windows, compiling cleanups
- allow incremental linking for Debug build
- do not allow EDITANDCONTINUE (/ZI)
- better clang-cl warnings flags
2019-07-04 10:27:10 +02:00
Vladislav Vaintroub
bd917e0811 Fix clang-cl warnings 2019-07-04 10:27:10 +02:00
Alexander Barkov
9c9e0ac73d MDEV-19944 Remove GIS data types from keyword list in lex.h 2019-07-04 07:48:46 +04:00
Marko Mäkelä
695230c067 MDEV-19940: Fix integer type mismatch 2019-07-04 00:42:40 +03:00
Marko Mäkelä
8773bee9f7 MDEV-18582: Fix the 32-bit build 2019-07-04 00:30:14 +03:00
Marko Mäkelä
412533b4a7 MDEV-18582: Extend SHOW STATUS LIKE 'Innodb_%'
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.
2019-07-04 00:09:16 +03:00
Marko Mäkelä
61e26289fc MDEV-18582 preparation: Allocate ibuf statically 2019-07-04 00:09:16 +03:00
Marko Mäkelä
d09aec7a15 MDEV-19940 Clean up INFORMATION_SCHEMA.INNODB_ tables
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.
2019-07-04 00:09:16 +03:00
Marko Mäkelä
d8b8f55af3 MDEV-19908: Add override keywords
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.
2019-07-04 00:09:11 +03:00
Alexander Barkov
7b5bfa53aa A cleanup for MDEV-19923 Add type handlers for geometry sub-types
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
2019-07-03 18:02:22 +04:00
Alexander Barkov
b511202335 MDEV-19923 Add type handlers for geometry sub-types 2019-07-03 14:51:00 +04:00
LingBin
c1519d62d0 Fix github urls of submodules
Uniformly use the `.git` suffix format
2019-07-02 17:16:35 +04:00
Sujatha
2a8ae4bdce MDEV-19855: Create "Sql_cmd_show_slave_status" class for "SHOW SLAVE STATUS" command.
Create "Sql_cmd_show_slave_status" class for "SHOW SLAVE STATUS" command.
2019-07-01 19:25:12 +05:30
Yuqi Gu
b3b965a94d Fix build failure on CentOS for MariaDB official CI
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>
2019-07-01 12:50:03 +04:00
Vladislav Vaintroub
97c268f864 Windows, compiling . various cleanups, use /Zi instead of /Z7 2019-06-30 17:48:19 +02:00
Vladislav Vaintroub
0efe50ec35 Remove the most annoying clang-cl warnings
Fix "consistent override", and "unused private field" warnings
in popular header files.
2019-06-30 17:48:19 +02:00
Vladislav Vaintroub
0179aad633 Windows, compiling : Reenable /MP for connect engine.
Remove this flag only from domdoc.cpp, which uses #import directive.
2019-06-30 17:48:19 +02:00
Vladislav Vaintroub
460de628a9 In case WITH_WSREP is enabled, build wsrep as plugin
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
2019-06-30 17:48:19 +02:00
Vladislav Vaintroub
db80f04751 Cleanup - do not dllexport statically built plugins 2019-06-30 17:48:19 +02:00
Vladislav Vaintroub
6dc71d4f10 improve build, allow sql library to be built in parallel with builtins 2019-06-30 17:48:19 +02:00
Vladislav Vaintroub
a89f1faf7b Remove feedback from Windows MSI
Not much use of this feature so far.
2019-06-30 17:48:19 +02:00
Alexander Barkov
cccfa9dcfe MDEV-19908 Add class Type_collection 2019-06-29 09:48:54 +04:00
Alexander Barkov
5de9dd7b47 A cleanup for MDEV-19897 Rename source code variable names from utf8 to utf8mb3
`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
2019-06-28 21:12:57 +04:00
Alexander Barkov
3e7e87ddcc MDEV-19897 Rename source code variable names from utf8 to utf8mb3 2019-06-28 12:37:04 +04:00
Alexander Barkov
323a87b591 MDEV-19888 Add abstract class Item_json_func 2019-06-28 12:35:02 +04:00
Vladislav Vaintroub
cff7cf15d7 Windows MSI : small cleanups, disable Windows 7/8 2019-06-27 20:05:01 +02:00
Vladislav Vaintroub
74a744b51f Windows : Do not package redistributable C runtime , nor merge modules into Windows
installers

Rely on Universal CRT to be on every computer we install.
2019-06-27 19:33:25 +02:00
Vladislav Vaintroub
b60aee58c7 MDEV-17279 Windows : link C runtime dynamically
Improve previous patch so we do not depend on (tiny) compiler-version
dependent libraries, i.e vcruntime140.dll, and msvcp140.dll

The remaining dependency is Universal CRT, is part of Win10+ OS,
and should already be installed by Windows update on most downlevel
systems.
2019-06-27 19:25:33 +02:00
Vladislav Vaintroub
93942dfe8f Windows - simplify code in my_getsystime.
Do not load GetSystemTimePreciseAsFileTime() dynamically - it is available
since Windows 8. Win7 is going out of support before 10.5 reaches GA.
2019-06-27 19:19:37 +02:00
Monty
79cd2f5ef1 Added type conversion to fix compilation error on windows 2019-06-27 01:58:48 +03:00
Monty
e133aa1e2e Added testcase for MDEV-19585
MDEV-19585  Assertion with S3 table and flush_tables
2019-06-27 01:33:15 +03:00
Monty
1a41fc77dd Merge remote-tracking branch 'origin/10.4' into 10.5 2019-06-27 01:21:41 +03:00
Monty
8e2a24bb33 Added s3_protocol_version=auto 2019-06-26 23:39:13 +03:00
Monty
0765d823e4 Updated to latest libmarias3 to fix some compatiblity issues 2019-06-26 23:39:12 +03:00
Monty
f48943468f MDEV-19575 Fixed assert in ma_pagecache
There was a bug in the page cache that didn't take into account that
another thread could be waiting for a page to be read by read_big_block().
Fixed by releasing all waiters in read_big_block()
2019-06-26 23:39:12 +03:00
Monty
f44c687815 S3: Don't do discover in mysql database (makes boot faster and safer) 2019-06-26 23:32:30 +03:00
Monty
9ca517613a BUILD scripts: Don't build with-plugin-test_sql_discovery staticly 2019-06-26 23:32:30 +03:00
Vlad Lesin
5c5ea59bf8 MDEV-19867: fix mysqldump to by default not copy S3 tables
There are two options when coping S3 tables with mysqldump
(there is startup option --copy_s3_tables, boolean, default no)
1) Ignore all tables with engine S3, as the data is already safe in S3 and any
computer where you restore the backup will automatically discover the S3 table.
2) Copy the table as a normal table with the following 2 changes:
- Change ENGINE=S3 to ENGINE=ARIA;
- After copy add to log 'ALTER TABLE table_name ENGINE=S3'
2019-06-26 20:59:35 +03:00