summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Merge 10.4 into 10.5Marko Mäkelä2019-11-071-1/+1
|\ | | | | | | | | | | | | | | A conflict between MDEV-19514 (b42294bc6409794bdbd2051b32fa079d81cea61d) and MDEV-20934 (d7a2401750bb29dfdb45929a536539b9f17b347f) was resolved. We will not invoke the function ibuf_delete_recs() from ibuf_merge_or_delete_for_page(). Instead, we will add that logic to the function ibuf_read_merge_pages().
| * Merge 10.3 into 10.4Marko Mäkelä2019-11-061-1/+1
| |\
| | * Merge 10.2 into 10.3Marko Mäkelä2019-11-061-1/+1
| | |\
| | | * Merge 10.1 to 10.2Marko Mäkelä2019-11-061-1/+1
| | | |\
| | | | * Merge 5.5 into 10.1mariadb-10.1.43Marko Mäkelä2019-11-061-1/+1
| | | | |\
| | | | | * MDEV-20971 ASAN heap-use-after-free in list_delete / heap_closeSergei Golubchik2019-11-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't save/restore HP_INFO as it could be changed by a concurrent thread. different parts of HP_INFO are protected by different mutexes and the mutex that protect most of the HP_INFO does not protect its open_list data. As a bonus, make heap_check_heap() to take const HP_INFO* and not make any changes there whatsoever.
| | * | | | Merge branch '10.2' into 10.3Oleksandr Byelkin2019-10-311-2/+2
| | |\ \ \ \ | | | |/ / /
| | | * | | MDEV-18562 [ERROR] InnoDB: WSREP: referenced FK check fail: Lock wait indexJan Lindström2019-10-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lock wait can happen on secondary index when doing FK checks for wsrep. We should just return error to upper layer and applier will retry operation when needed.
* | | | | | cleanup: data type pluginsSergei Golubchik2019-10-312-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | simplify type naming (less boilerplate code). don't force a plugin to specify the name twice.
* | | | | | Part2: MDEV-20837 Add MariaDB_FUNCTION_PLUGINAlexander Barkov2019-10-163-782/+1
| | | | | | | | | | | | | | | | | | | | | | | | Removing MariaDB_FUNCTION_COLLECTION_PLUGIN
* | | | | | Part1: MDEV-20837 Add MariaDB_FUNCTION_PLUGINAlexander Barkov2019-10-163-2/+695
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Defining MariaDB_FUNCTION_PLUGIN - Changing the code in /plugins/type_inet/ and /plugins/type_test/ to use MariaDB_FUNCTION_PLUGIN instead of MariaDB_FUNCTION_COLLECTION_PLUGIN. - Changing maturity for the INET6 data type plugin from experimental to alpha.
* | | | | | MDEV-12684 Show what config file a sysvar got a value fromSergei Golubchik2019-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | change get_one_option() prototype to pass the filename and not to pass the redundant optid.
* | | | | | MDEV-12684 Show what config file a sysvar got a value fromSergei Golubchik2019-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | make load_defaults() store the file name in the generated option list using a special marker ---file-marker--- option. Pick up this filename in handle_options(). Remove ---args-separator---, use ---file-marker--- with an empty file name instead - this simplifies checks on the caller, only one special option to recognize.
* | | | | | cleanup: don't use my_getopt_is_args_separator()Sergei Golubchik2019-10-141-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | only my_getopt should use it, because it changes my_getopt's behavior. If one simply wants to skip the separator - don't ask it to be added in the first place
* | | | | | cleanup: unify --defaults* option handlingSergei Golubchik2019-10-141-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | process all --defaults* options uniformly, get rid of special case for --no-defaults and --print-defaults use realpath instead of blindly concatenating pwd and relative path.
* | | | | | cleanup: my_getopt, get_one_option isn't optionalSergei Golubchik2019-10-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it turns out that practically every single user of handle_options() used the get_one_option callback. Simplify the code, make it mandatory, adjust unit tests.
* | | | | | cleanup: my_getopt, consistencySergei Golubchik2019-10-141-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | almost all my_getopt settings and callbacks are global variables, directly assignable to configure my_getopt. Only getopt_get_addr was using a setter function. Get rid of it, make it a global directly assignable variable like all other settings. Also make getopt_compare_strings() static.
* | | | | | cleanup: my_defaults, remove Process_option_funcSergei Golubchik2019-10-141-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a remnant of "MySQL Instance Manager", which was removed in MySQL-5.5.0 and never existed in MariaDB Remove callback, simplify and optimize the code accordingly.
* | | | | | Merge 10.4 into 10.5Marko Mäkelä2019-10-112-2/+14
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge 10.3 into 10.4Marko Mäkelä2019-10-102-2/+14
| |\ \ \ \ \ | | |/ / / /
| | * | | | Cleanup mman.h includesSergey Vojtovich2019-10-021-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | As it is included from my_global.h already.
| | * | | | MDEV-20684: innodb/query cache use madvise CORE/NOCORE on FreeBSDDaniel Black2019-10-021-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This applies to large allocations. This maps to the way Linux does it in MDEV-10814 except FreeBSD uses different constants. Adjust error string to match to implementation. Tested on FreeBSD-12.0
* | | | | | MDEV-20764 Add MariaDB_FUNCTION_COLLECTION_PLUGINAlexander Barkov2019-10-073-1/+782
| | | | | |
* | | | | | MDEV-20016 Add MariaDB_DATA_TYPE_PLUGINAlexander Barkov2019-10-043-1/+680
| | | | | |
* | | | | | MDEV-16470 - Session user variables trackerSergey Vojtovich2019-09-242-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Based on contribution by Dapeng Huang.
* | | | | | Merge 10.4 into 10.5Marko Mäkelä2019-09-241-5/+5
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge 10.3 into 10.4Marko Mäkelä2019-09-232-6/+6
| |\ \ \ \ \ | | |/ / / / | | | | | | | | | | | | Disable MDEV-20576 assertions until MDEV-20595 has been fixed.
| | * | | | MDEV-20525 rocksdb debug compilation fails on Windows due to unresolved ↵Marko Mäkelä2019-09-132-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | my_assert variable MYSQL_PLUGIN_IMPORT did not work correctly for the RocksDB helper library rocksdb_aux_lib, because that library was not compiled with -DMYSQL_DYNAMIC_PLUGIN. Fix DBUG such that it does not depend on exported data, only on functions (which do not need MYSQL_PLUGIN_IMPORT decoration) Use a "getter" function _db_my_assert() instead of DLL-exported variable. Also, reduce object code duplication by moving more of the DBUG_ASSERT logic inside the _db_my_assert() function, and add unlikely() and ATTRIBUTE_COLD hints to ensure that the 'assertion failed' code will be separated from the main control flow logic. Thus, the compiler can move the unlikely() code to the end of the compiled function, reachable via a forward conditional branch, which the processor's branch predictor could assume 'not taken'.
* | | | | | MDEV-20525 rocksdb debug compilation fails on Windows due to unresolved ↵Vladislav Vaintroub2019-09-082-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | my_assert variable MYSQL_PLUGIN_IMPORT did not work correctly for the Rocksdb helper library rocksdb_aux_lib, because that library was not compiled with -DMYSQL_DYNAMIC_PLUGIN. Fix dbug such that it does not depend on exported data, only on functions (which do not need MYSQL_PLUGIN_IMPORT decoration) Use a "getter" function _db_my_assert() instead of DLL-exported variable.
* | | | | | Merge 10.4 into 10.5Marko Mäkelä2019-09-065-20/+23
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge 10.3 into 10.4Marko Mäkelä2019-08-313-17/+22
| |\ \ \ \ \ | | |/ / / /
| | * | | | MDEV-20425 Implement Boolean debug build option debug_assertbb-10.3-MDEV-20425Marko Mäkelä2019-08-293-17/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 536215e32fc43aa423684e9807640dcf3453924b in MariaDB Server 10.3.1 introduced the compiler flag (not cmake option) DBUG_ASSERT_AS_PRINTF that converts DBUG_ASSERT in non-debug builds into printouts. For debug builds, it could be useful to be able to convert DBUG_ASSERT into a warning or error printout, to allow execution to continue. This would allow debug builds to be used for reproducing hard failures that occur with release builds. my_assert: A Boolean flag (set by default), tied to the new option debug_assert that is available on debug builds only. When set, DBUG_ASSERT() will invoke assert(), like it did until now. When unset, DBUG_ASSERT() will invoke fprintf(stderr, ...) with the file name, line number and assertion expression.
| | * | | | Merge 10.2 into 10.3Marko Mäkelä2019-08-291-1/+1
| | |\ \ \ \ | | | |/ / /
| | | * | | Merge 10.1 into 10.2Marko Mäkelä2019-08-281-1/+1
| | | |\ \ \ | | | | |/ /
| | | | * | fix clang warningsEugene Kosov2019-08-281-1/+1
| | | | | |
| * | | | | MDEV-20432 : add MYSQL_PLUGIN_IMPORTVladislav Vaintroub2019-08-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mroonga does not build on Windows due to log_10_int being used (indirectly) and n ot properly decorated with MYSQL_PLUGIN_IMPORT
| * | | | | remove incorrect #ifdefSergei Golubchik2019-08-261-2/+0
| | | | | |
* | | | | | MDEV-17048 Inconsistency voting support (#1373)Alexey Yurchenko2019-08-281-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Collect and pass apply error data to provider * Rollback failed transaction and continue operation if provider returns SUCCESS * MTR tests for inconsistency voting
* | | | | | Decrease stack space usage of mysql_execute_command()Sergei Golubchik2019-08-231-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - WSREP_DEBUG called WSREP_LOG which allocated a 1K variable on stack for each macro usage (at least gcc can't reuse the stack space). Move this concatenation to happen compile-time, not run-time.
* | | | | | move Aria/S3 specific flag into Aria codeSergei Golubchik2019-08-232-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | it doesn't belong in include/my_base.h
* | | | | | MDEV-20306 Assert when converting encrypted Aria table to S3Monty2019-08-232-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: - maria_create() now uses a bit in the parameter flags to check if table should be encrypted instead of using maria_encrypted_tables. - Don't encrypt tables that are to be converted to S3 - Added encrypted flag to ARIA_TABLE_CAPABILITIES - maria_chk --description now prints if table is encrypted. Other operations is not allowed on encrypted tables.
* | | | | | alloc_on_stack: simplify the APISergei Golubchik2019-08-232-40/+18
| | | | | |
* | | | | | MDEV-20279 Increase Aria index length limitMonty2019-08-235-17/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Limit increased from 1000 to 2000. Avoiding stack overflow by only storing keys and pages on the stack in recursive functions if there is plenty of space on it. Other things: - Use less stack space for b-tree operations as we now only allocate as much space as needed instead of always allocating HA_MAX_KEY_LENGTH. - Replaced most usage of my_safe_alloca() in Aria with the stack_alloc interface. - Moved my_setstacksize() to mysys/my_pthread.c
* | | | | | Merge 10.4 into 10.5Marko Mäkelä2019-08-161-2/+9
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge 10.3 into 10.4Marko Mäkelä2019-08-141-2/+9
| |\ \ \ \ \ | | |/ / / /
| | * | | | Merge 10.2 to 10.3Marko Mäkelä2019-08-131-2/+9
| | |\ \ \ \ | | | |/ / /
| | | * | | Merge 10.1 into 10.2Marko Mäkelä2019-08-121-1/+8
| | | |\ \ \ | | | | |/ /
| | | | * | Merge 5.5 into 10.1Marko Mäkelä2019-08-121-1/+9
| | | | |\ \ | | | | | |/
| | | | | * Document TRASH_FILL, TRASH_ALLOC, TRASH_FREEMarko Mäkelä2019-08-121-1/+9
| | | | | |
| | | | * | imporve clang buildEugene Kosov2019-06-253-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Debug Maintainer mode makes all warnings errors. This patch fix warnings. Mostly about deprecated `register` keyword. Too much warnings came from Mroonga and I gave up on it.