| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Do not set 'optimized' flag until whole optimization procedure is finished.
|
|
|
|
|
|
|
|
|
|
| |
[10.1] (#200)
* MDEV-10294: Put testname into environment as MTR_TEST_NAME during MTR
* MDEV-10294: restructure mtr to allow --valgrind-option=--tool=XXX
* MDEV-10294: mtr valgrind - supressions all tools + feedback
|
|
|
|
|
| |
Fixed threadpool_add_connection to use thd_prepare_connection()
to match thread-per-conection flow.
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
|\ \ |
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | | |
add a test case
|
| | | |
| | | |
| | | |
| | | | |
placeholders, but does not bind parameters
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
-LONGLONG_MIN is the undefined behavior in C.
longlong2decimal() used to do this:
int longlong2decimal(longlong from, decimal_t *to) {
if ((to->sign= from < 0))
return ull2dec(-from, to);
return ull2dec(from, to);
and later in ull2dec() (DIG_BASE is 1000000000):
static int ull2dec(ulonglong from, decimal_t *to) {
for (intg1=1; from >= DIG_BASE; intg1++, from/=DIG_BASE) {}
this breaks in gcc-5 at -O3. Here ull2dec is inlined into
longlong2decimal. And gcc-5 believes that 'from' in the
inlined ull2dec is always a positive integer (indeed, if it was
negative, then -from was used instead). So gcc-5 uses
*signed* comparison with DIG_BASE.
Fix: make a special case for LONGLONG_MIN, don't negate it
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
State column of SHOW PROCESSLIST can have NULL values for being initialized
threads (between new connection was acknowledged and waiting for network data).
Fixed test case to handle such cases by waiting for State to become empty
string.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
tests have changed.
|
| | | |
| | | |
| | | |
| | | | |
don't call strlen() in the loop
|
| | | |
| | | |
| | | |
| | | |
| | | | |
a test case for a broken vcols behavior with different
charsets. this is fixed in 10.2
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
change between different openssl/yassl version
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Addreses are not necessarily between heap_start && heap_end. Malloc
calls using mmap can place pointers outside these bounds. In this case,
we'll warn the user that the query pointer is potentially invalid.
However, we'll attempt to print the data anyway after we're done
printing everything else.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
innodb_shutdown_for_mysql in ppc64el on test
case innodb_fts.innodb_fts_stopword_charset.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
set the 'typelib' member for plugin boolean sysvars
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
TABLE_SHARE::init_from_binary_frm_image has a rule: if an index
has a partially-covered column (like in "KEY(col(N))" ), then dont
provide "Extended Keys" feature for this index.
The problem was that due to coding error Extended Keys feature was
disabled for *ALL* subsequent indexes. Fixed the error.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The problem was introduced by 1859caf60b725f81f2ac6091eb44cb848a4a439a:
MDEV-10175: range optimizer calls records_in_range() for full extended keys
Make the range optimizer not call records_in_range() when it would
not give any benefit.
that patch used an incorrect way to check for full extended key. Now fixing
the check.
|
| | | |
| | | |
| | | |
| | | | |
Add ProtectSystem=full, NoNewPrivileges=true, PrivateDevices=true, and ProtectHome=true to the systemd units.
|
| | | |
| | | |
| | | |
| | | | |
placeholders, but does not bind parameters
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
On Solaris mktime() adds one extra day to tm_mday field and returns appropriate
value for dates 1600-01-01 and earlier. That is 1600-01-01 becomes 1600-01-02.
Solaris mktime manual excerpts:
...
The tm_year member must be for year 1901 or later. Calendar
times before 20:45:52 UTC, December 13, 1901 or after
03:14:07 UTC, January 19, 2038 cannot be represented. Port-
able applications should not try to create dates before
00:00:00 UTC, January 1, 1970 or after 00:00:00 UTC, January
1, 2038.
...
The mktime() function assumes Gregorian dates. Times before
the adoption of the Gregorian calendar will not match his-
torial records.
...
According to manual Mroonga only supports dates and datetimes after 1900:
https://mariadb.com/kb/en/mariadb/about-mroonga/
Technically these tests cover unsupported values and should fail on all
platforms. Disable tests until the problem is fixed upstream.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
LOCK_system_variables_hash
Avoid recursive LOCK_system_variables_hash acquisition in
intern_sys_var_ptr() by pre-syncing dynamic session variables.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The crash was caused by this problem:
get_best_group_min_max() tries to construct query plans for keys that
are not processed by the range optimizer. This wasn't a problem as long
as SEL_TREE::keys was an array of MAX_KEY elements.
However, now it is a Mem_root_array and only has elements for the used
keys, and get_best_group_min_max attempts to address beyond the end of
the array.
The obvious way to fix the crash was to port (and improve) a part of
96fcfcbd7b5120e8f64fd45985001eca8d36fbfb from mysql-5.7. This makes
get_best_group_min_max not to consider indexes that Mem_root_arrays
have no element for.
After that, I got non-sensical query plans (see MDEV-10325 for details).
Fixed that by making get_best_group_min_max to check if the index is in
table->keys_in_use_for_group_by bitmap.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(MDEV-9407, MDEV-9408) from 10.1
Needed to fix MDEV-10317 easier.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
"thd" is available through the "table" argument, as table->in_use.
Backporting (partially) from 10.2.
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Cross Compile HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE change to compile check
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE only needed a compile check
rather than a RUN check so after changing to a compile check there
is one less variable to manually set while cross compiling.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
.. file '/var/log/mysql/mariadb-bin.000001' not found in binlog
index, needed for recovery. Aborting.
In Galera cluster, while preparing for rsync/xtrabackup based
SST, the donor node takes an FTWRL followed by (REFRESH_ENGINE_LOG
in rsync based state transfer and) REFRESH_BINARY_LOG. The latter
rotates the binary log and logs Binlog_checkpoint_log_event
corresponding to the penultimate binary log file into the new file.
The checkpoint event for the current file is later logged
synchronously by binlog_background_thread.
Now, since in rsync/xtrabackup based snapshot state transfer methods,
only the last binary log file is transferred to the joiner node; the
file could get transferred even before the checkpoint event for the
same file gets written to it. As a result, the joiner node would fail
to start complaining about the missing binlog file needed for recovery.
In order to fix this, a mechanism has been put in place to make
REFRESH_BINARY_LOG operation wait for Binlog_checkpoint_log_event
to be logged for the current binary log file if the node is part of
a Galera cluster. As further safety, during rsync based state transfer
the donor node now acquires and owns LOCK_log for the duration of file
transfer during SST.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
SSL: do not require client certificate to exist,
if GRANT didn't require that
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
ut_a(state == BUF_BLOCK_NOT_USED
|| state == BUF_BLOCK_REMOVE_HASH);
is hit.
|
|\ \ \ \ \ |
|