summaryrefslogtreecommitdiff
path: root/plugin
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '10.6' into 10.7Oleksandr Byelkin2022-02-046-18/+153
|\
| * Merge branch '10.5' into 10.6Oleksandr Byelkin2022-02-037-20/+159
| |\
| | * Merge branch '10.4' into 10.5Oleksandr Byelkin2022-02-011-0/+4
| | |\
| | | * Merge branch '10.3' into 10.4Oleksandr Byelkin2022-01-304-12/+16
| | | |\
| | | | * Merge branch '10.2' into 10.3mariadb-10.3.33Oleksandr Byelkin2022-01-291-0/+4
| | | | |\
| | | | | * Fixed compiler error in auth_pam pluginMonty2022-01-201-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | Code copied from 10.6
| | | | * | MDEV-18918 SQL mode EMPTY_STRING_IS_NULL breaks RBR upon CREATE TABLE .. SELECTAlexander Barkov2022-01-253-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing DEFAULT from INFORMATION_SCHEMA columns. DEFAULT in read-only tables is rather meaningless. Upgrade should go smoothly. Also fixes: MDEV-20254 Problems with EMPTY_STRING_IS_NULL and I_S tables
| | * | | | MDEV-27668 Assertion `item->type_handler()->is_traditional_scalar_type() || ↵Alexander Barkov2022-01-283-2/+45
| | | | | | | | | | | | | | | | | | | | | | | | item->type_handler() == type_handler()' failed in Field_inet6::can_optimize_keypart_ref
| | * | | | MDEV-24487 Error after update to 10.5.8 on CentOS-8: DBD::mysql::st execute ↵Alexander Barkov2022-01-271-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | failed: Unknown MySQL error The problem happened because the the new client capability flag CLIENT_EXTENDED_METADATA was not put into the cache entry key. So results cached by a new client were sent to the old client (and vica versa) with a mis-matching metadata, which made the client abort the connection on an unexpected result set metadata packet format. The problem was caused by the patch for: MDEV-17832 Protocol: extensions for Pluggable types and JSON, GEOMETRY which forgot to adjust the query cache code. Fix: - Adding a new member Query_cache_query_flags::client_extended_metadata, so only clients with equal CLIENT_EXTENDED_METADATA flag values can reuse results. - Adding a new column CLIENT_EXTENDED_METADATA into INFORMATION_SCHEMA.QUERY_CACHE_INFO (privided by the qc_info plugin).
| | * | | | MDEV-18918 SQL mode EMPTY_STRING_IS_NULL breaks RBR upon CREATE TABLE .. SELECTAlexander Barkov2022-01-253-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 10.5 version of the patch. Removing DEFAULT from INFORMATION_SCHEMA columns. DEFAULT in read-only tables is rather meaningless. Upgrade should go smoothly. Also fixes: MDEV-20254 Problems with EMPTY_STRING_IS_NULL and I_S tables
| | * | | | MDEV-27018 IF and COALESCE lose "json" propertybb-10.5-bar-MDEV-27018Alexander Barkov2022-01-212-0/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hybrid functions (IF, COALESCE, etc) did not preserve the JSON property from their arguments. The same problem was repeatable for single row subselects. The problem happened because the method Item::is_json_type() was inconsistently implemented across the Item hierarchy. For example, Item_hybrid_func and Item_singlerow_subselect did not override is_json_type(). Solution: - Removing Item::is_json_type() - Implementing specific JSON type handlers: Type_handler_string_json Type_handler_varchar_json Type_handler_tiny_blob_json Type_handler_blob_json Type_handler_medium_blob_json Type_handler_long_blob_json - Reusing the existing data type infrastructure to pass JSON type handlers across all item types, including classes Item_hybrid_func and Item_singlerow_subselect. Note, these two classes themselves do not need any changes! - Extending the data type infrastructure so data types can inherit their properties (e.g. aggregation rules) from their base data types. E.g. VARCHAR/JSON acts as VARCHAR, LONGTEXT/JSON acts as LONGTEXT when mixed to a non-JSON data type. This is done by: - adding virtual method Type_handler::type_handler_base() - adding a helper class Type_handler_pair - refactoring Type_handler_hybrid_field_type methods aggregate_for_result(), aggregate_for_min_max(), aggregate_for_num_op() to use Type_handler_pair. This change also fixes: MDEV-27361 Hybrid functions with JSON arguments do not send format metadata Also, adding mtr tests for JSON replication. It was not covered yet. And the current patch changes the replication code slightly.
| * | | | | Merge 10.5 into 10.6st-10.6-mergeMarko Mäkelä2022-01-181-1/+1
| |\ \ \ \ \ | | |/ / / /
| | * | | | MDEV-26230 mysql_upgrade fails to load type_mysql_json due to insufficient ↵Sergei Golubchik2022-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | maturity level bump maturity to beta
* | | | | | bump up server's maturitySergei Golubchik2021-12-211-1/+1
| | | | | |
* | | | | | MDEV-27261 Change maturity of plugins for 10.7 GASergei Golubchik2021-12-214-6/+6
| | | | | |
* | | | | | SUMMARY/DESCRIPTION for compression provider RPMsSergei Golubchik2021-12-085-0/+15
| | | | | |
* | | | | | cmake: detect lz4 version, require >= 1.6Sergei Golubchik2021-12-081-1/+1
| | | | | |
* | | | | | Merge 10.6 into 10.7Marko Mäkelä2021-11-292-0/+10
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge 10.5 into 10.6Marko Mäkelä2021-11-292-0/+10
| |\ \ \ \ \ | | |/ / / /
| | * | | | Merge 10.4 into 10.5Marko Mäkelä2021-11-292-0/+10
| | |\ \ \ \ | | | |/ / /
| | | * | | Merge 10.3 into 10.4Marko Mäkelä2021-11-292-0/+10
| | | |\ \ \ | | | | |/ /
| | | | * | Merge 10.2 into 10.3Marko Mäkelä2021-11-292-0/+10
| | | | |\ \ | | | | | |/
| | | | | * MDEV-22522 RPM packages have meaningless summary/descriptionbb-10.2-MDEV-22522Alexey Bychko2021-11-232-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this patch moves cpack summury and description for optional packages to the appropriate CMakeLists.txt files
* | | | | | MDEV-26664 fixup: clang -Winconsistent-missing-overrideMarko Mäkelä2021-11-081-6/+6
| | | | | |
* | | | | | MDEV-26732 Assertion `0' failed in Item::val_nativepreview-10.7-MDEV-4958-uuidAlexander Barkov2021-10-292-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | add a test case
* | | | | | MDEV-26785 Hyphens inside the value of uuid datatypeAlexander Barkov2021-10-293-16/+102
| | | | | |
* | | | | | MDEV-26742 Assertion `field->type_handler() == this' failed in ↵Alexander Barkov2021-10-292-4/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FixedBinTypeBundle<NATIVE_LEN, MAX_CHAR_LEN>::Type_handler_fbt::stored_field_cmp_to_item The bug was fixed in 10.5 using INET6 specific tests. This bugs adds only UUID specific tests (no code changes).
* | | | | | MDEV-26664 Store UUIDs in a more efficient mannerAlexander Barkov2021-10-2912-12/+3441
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UUID values llllllll-mmmm-Vhhh-vsss-nnnnnnnnnnnn are now stored as nnnnnnnnnnnn-vsss-Vhhh-mmmm-llllllll inside the record: - the groups (segments separated by dash) are reordered right-to-left. - the bytes inside the groups are not reordered (stored as before, in big-endian format). This provides a better sorting order: the earlier UUID was generated, the higher it appears in the ORDER BY output. Also, this change enables a good key prefix compression, because the constant part is now in the beginning, while the non-constant part (the timestamp) is in the end.
* | | | | | Changing the FixedBinTypeBundle parameter to a "storage class" instead of sizesAlexander Barkov2021-10-295-14/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Adding a new template FixedBinTypeStorage. - Restoring classes UUID and Inet6 as primitive "storage classes" for their data types. They derive from FixedBinTypeStorage. These storage classes have very few server dependencies so they can later be easily reused in smart engines, e.g. ColumnStore. - Changing the FixedBinTypeBundle parameter from <size_t NATIVE_LEN, size_t MAX_CHAR_LEN> to <class FbtImpl> and fixing UUID and INET6 bundles to get their storage classes as a parameter.
* | | | | | UUID() function should return UUID, not VARCHAR(36)Sergei Golubchik2021-10-293-31/+49
| | | | | |
* | | | | | MDEV-4958 Adding datatype UUIDAlexander Barkov2021-10-2940-0/+5334
| | | | | |
* | | | | | cleanup: move most of type_inet plugin implementation into the serverSergei Golubchik2021-10-294-2108/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | factor out the the common code for all plugin types that have a fixed-length native binary representation and a possibly variable-length string representation.
* | | | | | Merge 10.6 into 10.7Marko Mäkelä2021-10-281-27/+7
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge 10.5 into 10.6Marko Mäkelä2021-10-281-27/+7
| |\ \ \ \ \ | | |/ / / /
| | * | | | Merge 10.4 into 10.5Marko Mäkelä2021-10-281-27/+7
| | |\ \ \ \ | | | |/ / /
| | | * | | Merge 10.3 into 10.4Marko Mäkelä2021-10-281-27/+7
| | | |\ \ \ | | | | |/ /
| | | | * | Merge 10.2 into 10.3Marko Mäkelä2021-10-281-27/+7
| | | | |\ \ | | | | | |/
| | | | | * MDEV-26556 An improper locking bug(s) due to unreleased lock.bb-10.2-mdev-26556-hfAlexey Botchkov2021-10-251-23/+7
| | | | | | | | | | | | | | | | | | | | | | | | Get rid of the global big_buffer.
* | | | | | MDEV-12933 sort out the compression library chaosKartik Soneji2021-10-2715-0/+360
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bzip2/lz4/lzma/lzo/snappy compression is now provided via *services* they're almost like normal services, but in include/providers/ and they're supposed to provide exactly the same interface as original compression libraries (but not everything, only enough of if for the code to compile). the services are implemented via dummy functions that return corresponding error values (LZMA_PROG_ERROR, LZO_E_INTERNAL_ERROR, etc). the actual compression libraries are linked into corresponding provider plugins. Providers are daemon plugins that when loaded replace service pointers to point to actual compression functions. That is, run-time dependency on compression libraries is now on plugins, and the server doesn't need any compression libraries to run, but will automatically support the compression when a plugin is loaded. InnoDB and Mroonga use compression plugins now. RocksDB doesn't, because it comes with standalone utility binaries that cannot load plugins.
* | | | | | Merge 10.6 into 10.7Marko Mäkelä2021-10-274-0/+119
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge 10.5 into 10.6Marko Mäkelä2021-10-274-0/+119
| |\ \ \ \ \ | | |/ / / /
| | * | | | MDEV-26732 Assertion `0' failed in Item::val_nativebb-10.5-bar-MDEV-26732Alexander Barkov2021-10-264-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also fixes MDEV-24619 Wrong result or Assertion `0' in Item::val_native / Type_handler_inet6::Item_val_native_with_conversion Type_handler_inet6::create_item_copy() created a generic Item_copy_string, which does not implement val_native() - it has a dummy implementation with DBUG_ASSERT(0), which made the server crash. Fix: - Adding a new class Type_handler_inet6 which implements val_native(). - Fixing Type_handler_inet6::create_item_copy() to make Item_copy_inet6 instead of Item_copy_string.
* | | | | | Vanilla cleanups and refactoringsAleksey Midenkov2021-10-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dead code cleanup: part_info->num_parts usage was wrong and working incorrectly in mysql_drop_partitions() because num_parts is already updated in prep_alter_part_table(). We don't have to update part_info->partitions because part_info is destroyed at alter_partition_lock_handling(). Cleanups: - DBUG_EVALUATE_IF() macro replaced by shorter form DBUG_IF(); - Typo in ER_KEY_COLUMN_DOES_NOT_EXITS. Refactorings: - Splitted write_log_replace_delete_frm() into write_log_delete_frm() and write_log_replace_frm(); - partition_info via DDL_LOG_STATE; - set_part_info_exec_log_entry() removed. DBUG_EVALUATE removed DBUG_EVALUTATE was only added for consistency together with DBUG_EVALUATE_IF. It is not used anywhere in the code. DBUG_SUICIDE() fix on release build On release DBUG_SUICIDE() was statement. It was wrong as DBUG_SUICIDE() is used in expression context.
* | | | | | Merge 10.6 into 10.7Marko Mäkelä2021-10-224-0/+76
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge 10.5 into 10.6Marko Mäkelä2021-10-184-0/+76
| |\ \ \ \ \ | | |/ / / /
| | * | | | MDEV-26742 Assertion `field->type_handler() == this' failed in ↵bb-10.5-bar-MDEV-26742Alexander Barkov2021-10-144-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | FixedBinTypeBundle<NATIVE_LEN, MAX_CHAR_LEN>::Type_handler_fbt::stored_field_cmp_to_item
* | | | | | MDEV-26647 (reuse info) Include password validation plugin information in ↵preview-10.7-MDEV-9245-password-reuseOleksandr Byelkin2021-10-201-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the error message if the SQL statement is not satisfied password policy send information about password reusing
* | | | | | windowsSergei Golubchik2021-10-191-2/+2
| | | | | |
* | | | | | MDEV-9245 password "reuse prevention" validation pluginOleksandr Byelkin2021-10-192-0/+235
| | | | | |
* | | | | | Pre requiste MDEV-9245: add host to validate password interfaceOleksandr Byelkin2021-10-192-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hostname added to the interface. Cracklib plugin fixed according to the new interface.