- 05 Apr, 2024 9 commits
-
-
Daniel Black authored
Its important to fail early and only contine with the include after the boost version check succeeds. Needs to succeed on ealier verisons too so can't just fail if too new. As such, do a version check.
-
Sergei Golubchik authored
improve debuggability
-
Sergei Golubchik authored
as it was thinking it was enabled even if initialize_performance_schema wasn't called at all
-
Monty authored
This commit fixes the following issues: - memory leak checking enabled for mysqltest. This cover all cases except calls to 'die()' that only happens in case of internal failures in mysqltest. die() is not called anymore in the result files differs. - One can now run mtr --embedded without failures (this crashed or hang before) - cleanup_and_exit() has a new parameter that indicates that it is called from die(), in which case we should not do memory leak checks. We now always call cleanup_and_exit() instead of exit() to be able to free up memory and discover memory leaks. - Lots of new assert to catch error conditions - More DBUG statements. - Fixed that all results are freed in mysqltest (Fixed a memory leak in mysqltest when using prepared statements). - Fixed race condition in do_stmt_close() that caused embedded server to not free memory. (Memory leak in mysqltest with embedded server). - Fixed two memory leaks in embedded server when using prepared statements. These memory leaks caused timeout hangs in mtr when server was compiled with safemalloc. This issue was not noticed (except as timeouts) as memory report checking was done but output of it was disabled.
-
Sergei Golubchik authored
not only under valgrind
-
Sergei Golubchik authored
it seems that the test can get IO thread running or not, there's a comment about it. Thus stop_slave_io.inc is told to ignore errors. Make stop_slave_io.inc also disable warnings in this case, in particular "1255 Slave already has been stopped"
-
Sergei Golubchik authored
failed on amd64-centos-stream8
-
Sergei Golubchik authored
on a busy system it might take time for buffer_page_written_index_leaf to reach the correct value. Wait for it. also, tag identical statements to be different in the result file.
-
Sergei Golubchik authored
add 10.5-specific global suppression. the extra warning is gone in 10.6
-
- 04 Apr, 2024 1 commit
-
-
sjaakola authored
Fix in this commit handles foreign key value appending into write set so that db and table names are converted from the filepath format to tablename format. This is compatible with key values appended from elsewhere in the code base There is a mtr test galera.galera_table_with_hyphen for regression testing Reviewer: monty@mariadb.com
-
- 02 Apr, 2024 1 commit
-
-
joshhn authored
"Operator does not exists" should rather read "Operator does not exist".
-
- 29 Mar, 2024 1 commit
-
-
Alexander Barkov authored
Item_func_dyncol_create::print_arguments() printed only CHARSET clause without COLLATE. Therefore, HEX(column_create(1,'1212' AS CHAR CHARACTER SET utf8mb3 COLLATE utf8mb3_bin)) inside a VIEW changed to just: HEX(column_create(1,'1212' AS CHAR CHARACTER SET utf8mb3)) which changed the collation ID seen in the HEX output. Note, the collation ID inside column_create() is not really much important. (It's only important what the character set is). And for COLLATE, the more important thing is what's later written in the AS clause of COLUMN_GET: SELECT COLUMN_GET( column_create(1,'1212' AS CHAR CHARACTER SET utf8mb3 COLLATE utf8mb3_bin) column_nr AS type -- this type is more important ); Still, let's add the COLLATE clause into the COLUMN_CREATE() print output, although it's not important for now for anything else than just the HEX output. At least to make VIEW work in a more predictable way with HEX(COLUMN_CREATE()). Also, in the future we can start using somehow the collation ID written inside COLUMN_CREATE(), for example by making the `AS type` clause optional in COLUMN_GET(): COLUMN_GET(dyncol_blob, column_nr [AS type]); instead of: COLUMN_GET(dyncol_blob, column_nr AS type); SQL Server compatibility layer may need this for the SQL_Variant data type support.
-
- 28 Mar, 2024 3 commits
-
-
Dmitry Shulga authored
MDEV-33768: Memory leak found in the test main.constraints run with --ps-protocol against a server built with the option -DWITH_PROTECT_STATEMENT_MEMROOT The discovered memory leak was introduced by the commit 762bf7a0 (MDEV-22602 Disable UPDATE CASCADE for SQL constraints) The reason why a memory leaked on running the test main.constraints is that a statement arena was used for allocation a memory for storing a constraint name. A constraint name is an entity having temporary nature by its design so runtime arena should be used for its allocation.
-
Dmitry Shulga authored
MDEV-33767: Memory leaks found in some tests run with --ps-protocol against a server built with the option -DWITH_PROTECT_STATEMENT_MEMROOT Found memory leaks were introduced by the commit a896bebf MDEV-18844 Implement EXCEPT ALL and INTERSECT ALL operations and caused by using a statement arena instead a runtime arena for allocation of objects having temporary life span by their nature. Aforementioned memory leaks were produced by running queries that typically use select with intersect, union or table values constructors. To fix these memory leaks use the runtime arena for allocation of Item_field objects used by set operations. Additionally, OOM handling added on allocation of aforementioned Item_field objects.
-
Daniel Black authored
Test case doesn't work on embedded builds.
-
- 27 Mar, 2024 17 commits
-
-
Anson Chung authored
$MYSQL_TZINFO_TO_SQL works by truncating tables. Truncation is an operation that cannot be done in-place and therefore is fundamentally incompatible with alter_algorithm='INPLACE'. As a result, we override the default alter_algorithm setting in tztime.cc to alter_algorithm='COPY' so that timezones can be loaded regardless of the previously set alter_algorithm. All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services, Inc.
-
Sergei Golubchik authored
wait for all previous connections to disconnect and for all previous queries to finish running
-
Sergei Golubchik authored
This reverts commit 8b3f470c. because it doesn't work, the test still fails, and even more than before
-
Sergei Golubchik authored
as a side effect --replace and --error now work for shutdown command
-
Sergei Golubchik authored
plugin var check function must store the new variable value in *save
-
Sergei Golubchik authored
-
Sergei Golubchik authored
when the execution is very slow, under valgrind, the event might manage to fire more than once, making the test to fail
-
Sergei Golubchik authored
need at least 2.4 because we use per-type %destructor that was added after 2.3 in 2.3a
-
Sergei Golubchik authored
perfschema aggregation, like SHOW STATUS, is only statistically correct. It doesn't use atomics for performance reasons and might miss individual increments, particularly when two connections are disconnecting at the same time. To have stable results tests should avoid doing it.
-
Sergei Golubchik authored
disable approximate math in icx. and disable ansi aliasing too (aria loghandler unit tests fail)
-
Sergei Golubchik authored
apply the fix from MXS-4686
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Alexander Barkov authored
Item_func_group_concat::print() did not take into account that Item_func_group_concat::separator can be of a different character set than the "String *str" (when the printing is being done to). Therefore, printing did not work correctly for: - non-ASCII separators when GROUP_CONCAT is done on 8bit data or multi-byte data with mbminlen==1. - all separators (even including simple ones like comma) when GROUP_CONCAT is done on ucs2/utf16/utf32 data (mbminlen>1). Because of this problem, VIEW definitions did not print correctly to their FRM files. This later led to a wrong SELECT and SHOW CREATE output. Fix: - Adding new String methods: bool append_for_single_quote_using_mb_wc(const char *str, size_t length, CHARSET_INFO *cs); bool append_for_single_quote_opt_convert(const char *str, size_t length, CHARSET_INFO *cs) which perform both escaping and character set conversion at the same time. - Adding a new String method escaped_wc_for_single_quote(), to reuse the code between the old and the new methods. - Fixing Item_func_group_concat::print() to use the new method append_for_single_quote_opt_convert().
-
Dave Gosselin authored
Queries that select concatenated constant strings now have colname and value that match. For example, SELECT '123' 'x'; will return a result where the column name and value both are '123x'. Review: Daniel Black
-
Daniel Black authored
.. even with MDEV-9095 fix CapabilityBounding sets require filesystem setcap attributes for the executable to gain privileges during execution. A side effect of this however is the getauxvec(AT_SECURE) gets set, and the secure_getenv from OpenSSL internals on OPENSSL_CONF environment variable will get ignored (openssl gh issue 21770). According to capabilities(7), Ambient capabilities don't trigger ld.so triggering the secure execution mode. Include SELinux and Apparmor capabilities for ipc_lock
-
Daniel Black authored
This was the orginal implementation that reverted with a bunch of commits. This reverts commit a13e521b. Revert "cmake: append to the array correctly" This reverts commit 51e3f1da. Revert "build failure with cmake < 3.10" This reverts commit 49cf702e. Revert "MDEV-33301 memlock with systemd still not working" This reverts commit 8a1904d7.
-
- 25 Mar, 2024 2 commits
-
-
Julius Goryavsky authored
-
Jan Lindström authored
MDEV-32787 : Assertion `!wsrep_has_changes(thd) || (thd->lex->sql_command == SQLCOM_CREATE_TABLE && !thd->is_current_stmt_binlog_format_row()) || thd->wsrep_cs().transaction().state() == wsrep::transaction::s_aborted' failed in void wsrep_commit_empty(THD*, bool) When we commit empty transaction we should allow wsrep transaction to be on s_must_replay state for DDL that was killed during certification. Fix is tested with RQG because deterministic mtr-testcase was not found. Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
-
- 22 Mar, 2024 2 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
MONITOR_INC_VALUE_CUMULATIVE is a multiline macro, so the second statement will be executed always, regardless of "if" condition. These problems first started with commit b1ab211d (MDEV-15053). Thanks to Yury Chaikou from ServiceNow for the report.
-
- 19 Mar, 2024 1 commit
-
-
Vladislav Vaintroub authored
Make WITHOUT_DYNAMIC_PLUGINS ignore mrooonga also in its own DIY version of MYSQL_ADD_PLUGIN
-
- 18 Mar, 2024 3 commits
-
-
Daniel Black authored
Postfix on 51e3f1da that mariadbd should be the executable name rather than capabilities on a symlink.
-
Marko Mäkelä authored
Let us skip the recently added test main.mysql-interactive if an instrumented ncurses library is not available. In InnoDB, let us work around an uninstrumented libnuma, by declaring that the objects returned by numa_get_mems_allowed() are initialized.
-
Marko Mäkelä authored
Starting with clang-16, MemorySanitizer appears to check that uninitialized values not be passed by value nor returned. Previously, it was allowed to copy uninitialized data in such cases. get_foreign_key_info(): Remove a local variable that was passed uninitialized to a function. DsMrr_impl: Initialize key_buffer, because DsMrr_impl::dsmrr_init() is reading it. test_bind_result_ext1(): MYSQL_TYPE_LONG is 32 bits, hence we must use a 32-bit type, such as int. sizeof(long) differs between LP64 and LLP64 targets.
-