summaryrefslogtreecommitdiff
path: root/plugin
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | 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.
* | | | | | compilation failures on WindowsSergei Golubchik2021-10-191-1/+1
| | | | | |
* | | | | | MDEV-19275 SQL service for plugins.Alexey Botchkov2021-10-191-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | review fixes.
* | | | | | MDEV-19275 SQL service for plugins.Alexey Botchkov2021-10-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | host/user/db arguments of the mysql_real_connect_local() are removed.
* | | | | | a plugin shouldn't need any other includes besised plugin_xxx.hSergei Golubchik2021-10-191-9/+5
| | | | | |
* | | | | | remove MYSQL_SERVER requirementSergei Golubchik2021-10-193-6/+3
| | | | | |
* | | | | | MDEV-19275 Provide SQL service to plugins.Alexey Botchkov2021-10-192-42/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SQL service added. It provides the limited set of client library functions to be used by plugin.
* | | | | | MDEV-26637: (variables) ASAN: main.metadata and user_variables.basic MTR ↵Oleksandr Byelkin2021-10-122-3/+3
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | failures after MDEV-26572 Prohibit user variables without name
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-09-301-5/+7
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.4 into 10.5Marko Mäkelä2021-09-301-5/+7
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | FIXME: Part of the MDEV-20699 test is disabled due to nonderterministic result.
| | * | | Merge 10.3 into 10.4Marko Mäkelä2021-09-291-5/+7
| | |\ \ \ | | | |/ /
| | | * | Merge 10.2 into 10.3Marko Mäkelä2021-09-291-5/+7
| | | |\ \ | | | | |/
| | | | * MDEV-24454 Crash at change_item_treebb-10.2-MDEV-24454Oleksandr Byelkin2021-09-271-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use in_sum_func (and so nest_level) only in LEX to which SELECT lex belong to Reduce usage of current_select (because it does not always point on the correct SELECT_LEX, for example with prepare. Change context for all classes inherited from Item_ident (was only for Item_field) in case of pushing down it to HAVING. Now name resolution context have to have SELECT_LEX reference if the context is present. Fixed feedback plugin stack usage.
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-09-162-0/+5
|\ \ \ \ \ | |/ / / /
| * | | | Merge branch '10.4' into 10.5Monty2021-09-152-0/+5
| |\ \ \ \ | | |/ / / | | | | | | | | | | Fixed also an error in suite/perfschema/t/transaction_nested_events-master.opt
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-09-111-2/+2
|\ \ \ \ \ | |/ / / /
| * | | | Merge remote-tracking branch 'upstream/10.4' into 10.5Vicențiu Ciorbaru2021-09-101-2/+2
| |\ \ \ \ | | |/ / /
| | * | | MDEV-26487 cpack rpm failed to build packages with cmake < 3.7.0Sergei Golubchik2021-08-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | buggy regexp in old CPackRPM.cmake: string(REGEX REPLACE "%[A-Za-z0-9\(\),-]* " "" F_PATH ${F}) string(REGEX MATCH "%[A-Za-z0-9\(\),-]*" F_PREFIX ${F}) it treats everything after the first space as a path
* | | | | Early return from auth_socket system checks on WindowsVladislav Vaintroub2021-09-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | No need to run through all system checks, we already know it is not possible to authenticate with AF_UNIX socket.
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-08-261-9/+5
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.4 into 10.5Marko Mäkelä2021-08-261-9/+5
| |\ \ \ \ | | |/ / /
| | * | | MDEV-26380 auth_pam_tool has incorrect permissions on CentOS 7Sergei Golubchik2021-08-251-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Buggy sepdebugcrcfix in CentOS 7 (rpm-4.11.3) does not restore SUID bit after editing the binary. This is fixed in rpm-4.12. Still let's not set SUID bit when installing auth_pam_tool and use rpm spec %attr directive instead.
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-08-231-0/+3
|\ \ \ \ \ | |/ / / /
| * | | | MDEV-26380 auth_pam_tool has incorrect permissions on CentOS 7Alexey Bychko2021-08-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | splitted permission setting to the 2 separate calls. according to execute_process() doc, output from first command will be piped to second which led to race and randomly lost suid bit from auth_pam_tool.
* | | | | auth_socket: Add SO_PEERCRED definitions for NetBSDnia2021-08-052-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A getsockopt level of 0 is requied on NetBSD when using Unix-domain socket LOCAL_* options, SOL_SOCKET will not work.
* | | | | Merge branch '10.5' into 10.6Oleksandr Byelkin2021-08-025-3/+7
|\ \ \ \ \ | |/ / / /
| * | | | Merge branch '10.4' into 10.5Oleksandr Byelkin2021-07-313-1/+5
| |\ \ \ \ | | |/ / /
| | * | | Merge branch '10.3' into 10.4Oleksandr Byelkin2021-07-313-1/+5
| | |\ \ \ | | | |/ /
| | | * | Merge 10.2 into 10.3Marko Mäkelä2021-07-223-2/+9
| | | |\ \ | | | | |/
| | | | * Add feature summary at the end of cmake.Heinz Wiesinger2021-07-213-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gives a short overview over found/missing dependencies as well as enabled/disabled features. Initial author Heinz Wiesinger <heinz@m2mobi.com> Additions by Vicențiu Ciorbaru <vicentiu@mariadb.org> * Report all plugins enabled via MYSQL_ADD_PLUGIN * Simplify code. Eliminate duplication by making use of WITH_xxx variable values to set feature "ON" / "OFF" state. Reviewed by: wlad@mariadb.com (code details) serg@mariadb.com (the idea)
| * | | | MDEV-26226 Change Maturity of plugins inet6 and s3 to stableSergei Golubchik2021-07-282-2/+2
| | | | | | | | | | | | | | | | | | | | from gamma
* | | | | cleanup: formattingSergei Golubchik2021-06-111-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | also avoid an oxymoron of using `MYSQL_PLUGIN_IMPORT` under `#ifdef MYSQL_SERVER`, and empty_clex_str is so trivial that a plugin can define it if needed.
* | | | | MDEV-25602 get rid of __WIN__ in favor of standard _WIN32Vladislav Vaintroub2021-06-062-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixed the MySQL bug# 20338 about misuse of double underscore prefix __WIN__, which was old MySQL's idea of identifying Windows Replace it by _WIN32 standard symbol for targeting Windows OS (both 32 and 64 bit) Not that connect storage engine is not fixed in this patch (must be fixed in "upstream" branch)
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-05-261-3/+3
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.4 into 10.5Marko Mäkelä2021-05-261-3/+3
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.3 into 10.4Marko Mäkelä2021-05-251-3/+3
| | |\ \ \ | | | |/ /
| | | * | Merge 10.2 into 10.3Marko Mäkelä2021-05-241-4/+4
| | | |\ \ | | | | |/
| | | | * MDEV-25641 max_password_errors not working with ed25519 auth pluginSergei Golubchik2021-05-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | report correct error codes in ed25519. Invalid value stored in the user table or an OpenSSL error is CR_ERROR. When a user provided incorrect password when logging in - it's CR_AUTH_USER_CREDENTIALS.
* | | | | Change CHARSET_INFO character set and collaction names to LEX_CSTRINGMonty2021-05-192-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change removed 68 explict strlen() calls from the code. The following renames was done to ensure we don't use the old names when merging code from earlier releases, as using the new variables for print function could result in crashes: - charset->csname renamed to charset->cs_name - charset->name renamed to charset->coll_name Almost everything where mechanical changes except: - Changed to use the new Protocol::store(LEX_CSTRING..) when possible - Changed to use field->store(LEX_CSTRING*, CHARSET_INFO*) when possible - Changed to use String->append(LEX_CSTRING&) when possible Other things: - There where compiler issues with ensuring that all character set names points to the same string: gcc doesn't allow one to use integer constants when defining global structures (constant char * pointers works fine). To get around this, I declared defines for each character set name length.
* | | | | Added override to all releveant methods in Item (and a few other classes)Monty2021-05-192-25/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Other things: - Remove inline and virtual for methods that are overrides - Added a 'final' to some Item classes
* | | | | Reduce usage of strlen()Monty2021-05-196-37/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: - To detect automatic strlen() I removed the methods in String that uses 'const char *' without a length: - String::append(const char*) - Binary_string(const char *str) - String(const char *str, CHARSET_INFO *cs) - append_for_single_quote(const char *) All usage of append(const char*) is changed to either use String::append(char), String::append(const char*, size_t length) or String::append(LEX_CSTRING) - Added STRING_WITH_LEN() around constant string arguments to String::append() - Added overflow argument to escape_string_for_mysql() and escape_quotes_for_mysql() instead of returning (size_t) -1 on overflow. This was needed as most usage of the above functions never tested the result for -1 and would have given wrong results or crashes in case of overflows. - Added Item_func_or_sum::func_name_cstring(), which returns LEX_CSTRING. Changed all Item_func::func_name()'s to func_name_cstring()'s. The old Item_func_or_sum::func_name() is now an inline function that returns func_name_cstring().str. - Changed Item::mode_name() and Item::func_name_ext() to return LEX_CSTRING. - Changed for some functions the name argument from const char * to to const LEX_CSTRING &: - Item::Item_func_fix_attributes() - Item::check_type_...() - Type_std_attributes::agg_item_collations() - Type_std_attributes::agg_item_set_converter() - Type_std_attributes::agg_arg_charsets...() - Type_handler_hybrid_field_type::aggregate_for_result() - Type_handler_geometry::check_type_geom_or_binary() - Type_handler::Item_func_or_sum_illegal_param() - Predicant_to_list_comparator::add_value_skip_null() - Predicant_to_list_comparator::add_value() - cmp_item_row::prepare_comparators() - cmp_item_row::aggregate_row_elements_for_comparison() - Cursor_ref::print_func() - Removes String_space() as it was only used in one cases and that could be simplified to not use String_space(), thanks to the fixed my_vsnprintf(). - Added some const LEX_CSTRING's for common strings: - NULL_clex_str, DATA_clex_str, INDEX_clex_str. - Changed primary_key_name to a LEX_CSTRING - Renamed String::set_quick() to String::set_buffer_if_not_allocated() to clarify what the function really does. - Rename of protocol function: bool store(const char *from, CHARSET_INFO *cs) to bool store_string_or_null(const char *from, CHARSET_INFO *cs). This was done to both clarify the difference between this 'store' function and also to make it easier to find unoptimal usage of store() calls. - Added Protocol::store(const LEX_CSTRING*, CHARSET_INFO*) - Changed some 'const char*' arrays to instead be of type LEX_CSTRING. - class Item_func_units now used LEX_CSTRING for name. Other things: - Fixed a bug in mysql.cc:construct_prompt() where a wrong escape character in the prompt would cause some part of the prompt to be duplicated. - Fixed a lot of instances where the length of the argument to append is known or easily obtain but was not used. - Removed some not needed 'virtual' definition for functions that was inherited from the parent. I added override to these. - Fixed Ordered_key::print() to preallocate needed buffer. Old code could case memory overruns. - Simplified some loops when adding char * to a String with delimiters.
* | | | | Split item->flags into base_flags and with_flagsMonty2021-05-193-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was done to simplify copying of with_* flags Other things: - Changed Flags to C++ enums, which enables gdb to print out bit values for the flags. This also enables compiler errors if one tries to manipulate a non existing bit in a variable. - Added set_maybe_null() as a shortcut as setting the MAYBE_NULL flags was used in a LOT of places. - Renamed PARAM flag to SP_VAR to ensure it's not confused with persistent statement parameters.
* | | | | Remove calls to current_thd() in Item functionsMichael Widenius2021-05-192-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added THD argument to functions that calls current_thd() or new without a mem_root argument: make_same(), set_comparator_func(), set_cmp_func(), set_cmp_func*(), set_aggregator() and prepare_sum_aggregators() - Changed "new Class" to "new (thd->mem_root) Class" Almost all changes mechanical, no logic changes.
* | | | | Change bitfields in Item to an uint16Michael Widenius2021-05-194-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reason for the change is that neither clang or gcc can do efficient code when several bit fields are change at the same time or when copying one or more bits between identical bit fields. Updated bits explicitely with & and | is MUCH more efficient than what current compilers can do.
* | | | | Renamed Type_all_attributes::set_maybe_null() to set_type_maybe_null()Monty2021-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | This was done to have Item::set_maybe_null() as an inline function
* | | | | Added typedef decimal_digits_t (uint16) for number of digits in mostMonty2021-05-191-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | aspects of decimals and integers For fields and Item's uint8 should be good enough. After discussions with Alexander Barkov we choose uint16 (for now) as some format functions may accept +256 digits. The reason for this patch was to make the usage and storage of decimal digits simlar. Before this patch decimals was stored/used as uint8, int and uint. The lengths for numbers where also using a lot of different types. Changed most decimal variables and functions to use the new typedef. squash! af7f09106b6c1dc20ae8c480bff6fd22d266b184 Use decimal_digits_t for all aspects of digits (total, precision and scale), both for decimals and integers.
* | | | | MDEV-8334: Rename utf8 to utf8mb3Rucha Deodhar2021-05-195-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes the main name of 3 byte character set from utf8 to utf8mb3. New old_mode UTF8_IS_UTF8MB3 is added and set TRUE by default, so that utf8 would mean utf8mb3. If not set, utf8 would mean utf8mb4.
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-05-071-0/+1
|\ \ \ \ \ | |/ / / /