| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Problem:- Problem:- Previous commit of Mdev-11016 was causing galera-MW-284 test to
fail
Solution:- Added server_command_flags[COM_REGISTER_SLAVE]= CF_SKIP_WSREP_CHECK.
So that COM_REGISTER_SLAVE should not fail when node is not ready.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make some global fil_crypt_ variables static.
fil_close(): Call mutex_free(&fil_system->mutex) also in InnoDB, not
only in XtraDB. In InnoDB, sync_close() was called before fil_close().
innobase_shutdown_for_mysql(): Call fil_close() before sync_close(),
similar to XtraDB shutdown.
fil_space_crypt_cleanup(): Call mutex_free() to pair with
fil_space_crypt_init().
fil_crypt_threads_cleanup(): Call mutex_free() to pair with
fil_crypt_threads_init().
|
|
|
|
| |
Try to stabilize test cases. These test behave badly when run in certain order.
|
| |
|
|
|
|
|
| |
The reason was that the test was reusing the same log file without deleting it between tests.
Fixed by creating a new log file as part of the test
|
|
|
|
|
|
|
|
| |
Problem:- While running individual tests of Galera_3nodes ,
We get warnings like '[Warning] WSREP: Could not open state file
for reading: '. And because of this individual tests fails.
Solution:- We change suite.pm of Galera_3nodes to supress these warnings.
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Essentially revert MDEV-6759, which addressed a double free of memory
by removing the freeing altogether, introducing the memory leaks.
No double free was observed when running the test suite -DWITH_ASAN.
Replace some mem_heap_free(foreign->heap) with dict_foreign_free(foreign)
so that the calls can be located and instrumented more easily when needed.
|
| | |
|
| |
| |
| |
| |
| | |
mysql_release.cmake set WITH_JEMALLOC=static, which makes windows
builds fail since there is no jemalloc either static or shared there
|
| |
| |
| |
| | |
Updated sysvars_wsrep.result file.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`0' failed
In file sql/opt_range.cc,when calculate_cond_selectivity_for_table() is called with optimizer_use_condition_selectivity=4 then
- thd->no_errors is set to 1
- the original value of thd->no_error is not restored to its original value
- this is causing the assertion to fail in the subsequent queries
Fixed by restoring the original value of thd->no_errors
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Tasks:-
Changes in wsrep_dirty_reads variable
1.) Global + Session scope (Current: session-only)
2.) Can be set using command line.
3.) Allow all commands that do not change data (besides SELECT)
4.) Allow prepared Statements that do not change data
5.) Works with wsrep_sync_wait enabled
|
| |
| |
| |
| | |
This reverts commit 7ed5563bbee301bf8217080dc78ea6a3e78e23a8.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reduce the number of calls to encryption_get_key_get_latest_version
when doing key rotation with two different methods:
(1) We need to fetch key information when tablespace not yet
have a encryption information, invalid keys are handled now
differently (see below). There was extra call to detect
if key_id is not found on key rotation.
(2) If key_id is not found from encryption plugin, do not
try fetching new key_version for it as it will fail anyway.
We store return value from encryption_get_key_get_latest_version
call and if it returns ENCRYPTION_KEY_VERSION_INVALID there
is no need to call it again.
|
| |
| |
| |
| |
| | |
After applying/replaying the transaction, the memory that
stored the query string was also wrongly freed.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
... causes MariaDB to crash
On error, the wsrep replication buffer (binlog) is dumped to a file
to aid investigations. In order to also include the binlog header,
FDLE object is also needed. This object is only available for wsrep-
threads.
Fix: Instantiate an FDLE object for non-wsrep threads.
|
| |
| |
| |
| | |
Add 'which' to REQUIRES list.
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Role names with trailing whitespaces are truncated in length as of
956e92d90873532fee95581c702f7b76643969ea to fix MDEV-8609. The problem
is that the code that creates role mappings expects the string to be null
terminated.
Add the null terminator to account for that as well. In the future
the rest of the code can be cleaned up to never assume c style strings
but only LEX_STRINGS.
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
handler::increment_statistics or in make_select or assertion failure pfs_thread == ((PFS_thread*) pthread_getspecific((THR_PFS)))
Different fix. Don't allow Item_func_sp to be evaluated unless
all tables are prelocked.
Extend the test case to make sure Item_func_sp::val_str is called
(the table must have at least one row for that).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
handler::increment_statistics or in make_select or assertion failure pfs_thread == ((PFS_thread*) pthread_getspecific((THR_PFS)))"
This reverts commit 035a5ac62a0215c2f6e3e363331e3e984d780138.
Two minor problems and one regression:
1. caching the value in str_result. Other Item methods may use it,
destroying the cache. See, for example, Item::save_in_field, where
str_result is moved to use a local buffer (this failed main.grant)
2. Item_func_conv_charset::safe is now set too late, it's initialized
only in val_str() but checked before that, this failed many tests
in optimized builds.
to fix 1 - use tmp_result instead of str_result, to fix 2, use
the else branch in the Item_func_conv_charset constructor to set
safe purely from charset properties.
But this introduces a regression, constant strings can no longer be
converted, say, from utf8 to latin1 (because 'safe' will be false).
This fails few tests too. There is no way to fix it without reverting
the commit and converting constants, as before, in the constructor.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
DATA completes
truncate unused IO_CACHE backing store files in binlog_cache_data
to release the disk space they were occupying
|
| | |
| | |
| | |
| | | |
Rpl_filter::parse_filter_rule() made NULL-safe.
|
| | |
| | |
| | |
| | | |
check for VIEW/DERIVED fields
|
| | |
| | |
| | |
| | |
| | |
| | | |
handler::increment_statistics or in make_select or assertion failure pfs_thread == ((PFS_thread*) pthread_getspecific((THR_PFS)))
Move expression execution out of Item constructor.
|
| | |
| | |
| | |
| | |
| | | |
Exclude untouched in prepare phese subqueries from the select/unit tree
because they became unreachable by execution.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Item::send(Protocol*, String*)
The problem was that null_value was not set to "false" on a well-formed row.
If an ill-formed row was followed by a well-forned row, null_value remained
"true" in the call of Item::send() for the well-formed row.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Check for readline before checking for curses headers, because
MYSQL_CHECK_READLINE fails when curses is not found, but
CHECK_INCLUDE_FILES simply remembers the fact and continues. So if
there's no curses, MYSQL_CHECK_READLINE will abort, the user will then
installs curses and continue the build. Thus, CHECK_INCLUDE_HEADERS
will remember that there is no curses, but other checks from
MYSQL_CHECK_READLINE will remember that curses are there. It will
result in inconsistent HAVE_xxx defines.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Full-Text searches
Don't assume that a word of n bytes can match a word of
at most n * charset->mbmaxlen bytes, always go for the worst.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
failed in Lex_input_stream::body_utf8_append(const char*, const char*)
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The flag TABLE_LIST::fill_me must be reset to false at the prepare
phase for any materialized derived table used in the executed query.
Otherwise if the optimizer decides to generate a key for such a table
it is generated only for the first execution of the query.
|
| | |
| | |
| | |
| | | |
read_ddl_log_file_entry
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
LocalSystem)
Skip permission for data directory for LogonUser, if installation
runs by one of the service accounts (determined from their well-known SID).
There is no real LogonUser in this case.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
- new location of signtool
- silence a nonsensical warning from stl header
(complain about noexcept() function attribute, if /EHsc is not set)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
mysqldump/mysql_install_db.exe fail
The bug is described in
https://connect.microsoft.com/VisualStudio/Feedback/Details/1902345
When reading from a pipe in text mode, using CRT function such as fread(),
some newlines may be lost. Workaround is to use binary mode on reading side
and if necessary, replace \r\n with \n.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Filesort_buffer::alloc_sort_buffer(uint, uint)
Updating result for the group_by_innodb.test
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Filesort_buffer::alloc_sort_buffer(uint, uint)
When JOIN::destroy() is called for a JOIN object that has
- join->tmp_join != NULL
- also has join->table[0]->sort
then the latter was not cleaned up.
This could cause a memory leak and/or asserts in the subsequent queries.
Fixed by adding a cleanup call.
|
| | |
| | |
| | |
| | | |
date_to_datetime(MYSQL_TIME*)
|
| |\ \
| | | |
| | | | |
Update mysqldump man page
|