Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Console View


Categories: connectors experimental galera main
Legend:   Passed Failed Warnings Failed Again Running Exception Offline No data

connectors experimental galera main
Lawrin Novitsky
Merge branch 'odbc-3.1'
Sergei Petrunia
MDEV-38072 Optimizer choosing the wrong plan: Part 2

Add OPTIMIZER_ADJ_FIX_ORDER_BY_INDEX_CHOICE flag to control the fix.

In test_if_cheaper_ordering(), switch to making choice between
indexes that provide ordering based solely on access costs.
Rex Johnston
MDEV-38070 wrong resultset with having and or condition

During join execution of a query involving an aggregation,
ref items pointing to types that call Item_ref::val_native
(which includes TIMESTAMP fields) will return a value from
Item_field::field, rather than Item_field::result_field.
This will result in a potentially incorrect grouping comparison
and an incorrect result.

Affected statements will involve a derived grouped table with
an aggregation function TIMESTAMP field and outer having clause.
Marko Mäkelä
Merge 11.4 into 11.8
Aleksey Midenkov
Compilation: writing to an object of type ‘ORDER’

/home/buildbot/amd64-last-N-failed/build/sql/sql_window.cc: In function ‘ORDER* concat_order_lists(MEM_ROOT*, ORDER*, ORDER*)’:
/home/buildbot/amd64-last-N-failed/build/sql/sql_window.cc:2976:13: error: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘ORDER’ {aka ‘struct st_order’} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Werror=class-memaccess]
2976 |      memcpy(copy, cur, sizeof(ORDER));
      |      ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/buildbot/amd64-last-N-failed/build/sql/field.h:29,
                from /home/buildbot/amd64-last-N-failed/build/sql/sql_class.h:32,
                from /home/buildbot/amd64-last-N-failed/build/sql/sql_acl.h:21,
                from /home/buildbot/amd64-last-N-failed/build/sql/sql_parse.h:19,
                from /home/buildbot/amd64-last-N-failed/build/sql/sql_window.cc:18:
/home/buildbot/amd64-last-N-failed/build/sql/table.h:236:16: note: ‘ORDER’ {aka ‘struct st_order’} declared here
  236 | typedef struct st_order {
      |                ^~~~~~~~
/home/buildbot/amd64-last-N-failed/build/sql/sql_window.cc: In member function ‘bool Window_funcs_sort::setup(THD*, SQL_SELECT*, List_iterator<Item_window_func>&, JOIN_TAB*)’:
/home/buildbot/amd64-last-N-failed/build/sql/sql_window.cc:3151:11: error: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘ORDER’ {aka ‘struct st_order’} with no trivial copy-assignment; use assignment or value-initialization instead [-Werror=class-memaccess]
3151 |    memset(order, 0, sizeof(*order));
      |    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/buildbot/amd64-last-N-failed/build/sql/field.h:29,
                from /home/buildbot/amd64-last-N-failed/build/sql/sql_class.h:32,
                from /home/buildbot/amd64-last-N-failed/build/sql/sql_acl.h:21,
                from /home/buildbot/amd64-last-N-failed/build/sql/sql_parse.h:19,
                from /home/buildbot/amd64-last-N-failed/build/sql/sql_window.cc:18:
/home/buildbot/amd64-last-N-failed/build/sql/table.h:236:16: note: ‘ORDER’ {aka ‘struct st_order’} declared here
  236 | typedef struct st_order {
      |                ^~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [sql/CMakeFiles/sql.dir/build.make:2640: sql/CMakeFiles/sql.dir/sql_window.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:10639: sql/CMakeFiles/sql.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
Lawrin Novitsky
One of tests had bogus dependency

Which somehow never popped up before as a problem.
Lawrin Novitsky
Trick to fix tests on macos-arm

Looks like tests and DM use different alignment and because of that 10th
paramemter of SQLSpesialColumns of type short gets read incorrectly by
the DM
Christian Hesse
systemd: add missing quotes in examples

The line is commented, but let's have valid quoting anyway...
Lawrin Novitsky
Fix of issue with iOdbc on ARM

We support iOdbc only on MacOS thus can be also formulated - ARM build on MacOS

The problem is that iOdbc does nto use exact type of ODBC function pointers fromt he driver,
but call them as variadic functions. That created different stack
parameters location - in fact only for 10th parameter of
SQLSpecialColumns function there 9th and 10th are 2 short parameters
going one after another.
To solve this we create this API function with different signature that
only reads parameters correctly and passes them to the function that
will process them.
Daniel Black
MDEV-39158: Debian dh_installchangelogs parsing timestamp

Per policy[1] the date is meant to be a RFC 5322 type
timestamp.

[1] https://www.debian.org/doc/debian-policy/ch-source.html#debian-changelog-debian-changelog
Marko Mäkelä
Merge 10.11 into 11.4
Varun Deep Saini
MDEV-33070 Thread pool starvation at oversubscribe

Allow one more worker at the oversubscribe threshold so a group
only becomes oversubscribed after it exceeds the configured
limit.

Add a regression test that reproduces the starvation case in the
generic thread pool and verifies queued work still drains.

Signed-off-by: Varun Deep Saini <[email protected]>
Denis Protivensky
MDEV-39011: Fix THD leak in async slave error path with wsrep_restart_slave

- fix the leak by properly releasing resources before repeat
- rework the error path handling to wait for Wsrep readiness state
  instead of repeating endlessly
- improve Wsrep readiness state by also singlaing node's shutdown
Yuchen Pei
MDEV-38732 Correctly construct queries with NULL uservar values in spider

The subsequent assertion failure in end_statement is likely caused by
HA_ERR_OUT_OF_MEM not correctly handled, but it should not return an
HA_ERR_OUT_OF_MEM here in the first place.
Marko Mäkelä
Merge 11.8 into 12.3
Marko Mäkelä
MDEV-39170 innodb.mem_pressure,32bit fails with wrong result

In commit 36eba98817339f53cc57f1d4884ace3efb38db8d (MDEV-19123)
the test was changed but the result was not adjusted for
32-bit targets accordingly.
Marko Mäkelä
MDEV-39040 log_sys.latch performance lost to PERFORMANCE_SCHEMA

log_sys.latch: Remove the PERFORMANCE_SCHEMA instrumentation.
We already know that this is a very busy latch. All code paths
where a shared log_sys.latch is being held should already be
highly optimized. The few paths where an exclusive log_sys.latch
is being held are known to be potentially problematic, but rare.

Removing the PERFORMANCE_SCHEMA instrumentation for this latch
is expected to improve performance. On a quick Sysbench run with

performance_schema_instrument=wait/synch/rwlock/%=on

I observed an 2.9% improvement on throughput.

srw_lock_debug_simple: A non-instrumented version of srw_lock_debug,
to allow PERFORMANCE_SCHEMA to work WITH_INNODB_EXTRA_DEBUG=ON.

Reviewed by: Alessandro Vetere
Sutou Kouhei
MDEV-39098: UBSAN: insufficient-object-size in mroonga groonga/lib/db.c:10882

The incorrect destructor was used in delete_reference_records_in_index
Anway Durge
MDEV-XXXXX: Fix Mroonga post-install script path

Update legacy /usr/share/mysql path to /usr/share/mariadb in the debian postinst script for the mroonga plugin.
Alexander Barkov
MDEV-39115 `FUNCTION does not exist` error on package body assoc array variable

Problem:
When parsing `a.b()`, LEX::make_item_func_or_method_call() could not find
a package body variable 'a'.

Fix:
When searching for a variable, search not only in the current parse context,
but also in the parent package body context (if exists).
Yuchen Pei
MDEV-39168 Do not force inline for xxhash functions in Debug builds

See https://github.com/Cyan4973/xxHash/issues/943

This fixes compiling errors like

inlining failed in call to ‘always_inline’ ‘XXH3_scrambleAcc_sse2’: function not considered for inlining
Sergei Golubchik
Merge branch '12.3' into 13.0

changed deprecation version for wsrep_slave_FK_checks,
because it was just deprecated this month
Daniel Black
MDEV-39109 main.sp-error stack overflow debug, MSAN and ASAN

MSAN seems error on stack depth 39 so set limit to 20.

ASAN error-ed on stack depth 248 so set limit to 200.

The actua;ly depth wasn't important for the purposes
of the fatal error handling in MySQL bug #15192
from which this test originates.

Reviewed/Approved by: Oleksandr "Sanja" Byelkin ([email protected])
Aleksey Midenkov
MDEV-28619 fix
Amodh Dhakal
MDEV-38922 Fix cosmetic "stage done" output for REPAIR TABLE

report_progress_end() erases progress messages by overwriting them
with spaces. It was called immediately after query execution, before
the result set was fetched. Progress messages can arrive during
result fetching, so moving the call to after the result set is cached
ensures any such messages are erased before the result set is printed.

Signed-off-by: Amodh Dhakal <[email protected]>
Mohamed
MDEV-38494 .mariadb_history rename race condition

When multiple mariadb sessions exit at the same time, they all write
to the same $HISTFILE.TMP then rename it to $HISTFILE.  The second
rename fails with Errcode 2 because the first already moved the file.

Fix: include the process PID in the temp file name so each session
uses its own unique path and no rename collision can occur.
Georgi (Joro) Kodinov
MDEV-39123: Replace sprintf with snprintf in the InnoDB
binlog code

sprintf is deprecated (and triggers a deprecation warning) on some platforms,
saying it needs to be replaced with snprintf.
This is a good idea, since sprintf doesn't explicitly check the size of the buffer
it is printing to.
Fixed by adding an extra size argument to the helper function and making sure
this extra argument is passed down from the caller to snprintf.
Dearsh Oberoi
MDEV-38497 Remove all slave related configurations on RESET SLAVE ALL

Fix RESET SLAVE ALL to fully clear replica configuration of the
default unnamed slave, including SSL options, connection config,
logging info and group info so subsequent CHANGE MASTER starts
from a clean state.

Signed-off-by: Dearsh Oberoi <[email protected]>

Reviewed-by: Brandon Nesterenko <[email protected]>
Reviewed-by: Jimmy Hú <[email protected]>
Reviewed-by: Georgi Kodinov <[email protected]>
Marko Mäkelä
Merge 10.11 into 11.4
rusher
[misc] use DOCKER_LOGIN as user if secret available

(cherry picked from commit 3b3623c0d3ebbf5625ed3598e5ef9e7bc26362f2)
Daniel Black
Bump columnstore to latest stable-23.10
Marko Mäkelä
MDEV-39104 Hang in the test innodb.log_file_size,debug

srv_prepare_to_delete_redo_log_file(), srv_start(): When injecting a
failure, resume the ability to write a checkpoint, so that the
shutdown will not hang. Also, adjust the test so that it tolerates
the checkpoint during shutdown.

Fixes up commit bf363a573ab8f96657545de97ead568d09a9f1a0 (MDEV-38968)
Thirunarayanan Balathandayuthapani
MDEV-39081 InnoDB: tried to purge non-delete-marked record, assertion fails in row_purge_del_mark_error

Reason:
=======
Following the changes in MDEV-38734, the server no longer marks
all indexed virtual columns during an UPDATE operation.
Consequently, ha_innobase::update() populates the upd_t vector
with old_vrow but omits the actual data for these virtual columns.

Despite this omission, trx_undo_page_report_modify() continues to
write metadata for indexed virtual columns into the undo log. Because
the actual values are missing from the update vector, the undo log
entry is recorded without the historical data for these columns.

When the purge thread processes the undo log to reconstruct a
previous record state for MVCC, it identifies an indexed virtual
column but finds no associated data.

The purge thread incorrectly interprets this missing data as a NULL
value, rather than a "missing/unrecorded" value. The historical
record is reconstructed with an incorrect NULL for the virtual column.
This causes the purge thread to incorrectly identify and purge
records that are not actually delete-marked, leading to abort
of server.

Solution:
=========
ha_innobase::column_bitmaps_signal(): Revert the column-marking
logic to the state prior to commit a4e4a56720c, ensuring all
indexed virtual columns are unconditionally marked during an UPDATE.

The previous "optimization" attempted to manually detect indexed
column changes before marking virtual columns. The manual check
for indexed column modifications is redundant. InnoDB already
provides the UPD_NODE_NO_ORD_CHANGE flag within row_upd_step().
This flag is being used in trx_undo_page_report_modify() and
trx_undo_read_undo_rec() should log or read virtual column values.

Refactored column_bitmaps_signal() to accept a mark_for_update
parameter that controls when indexed virtual columns are marked.
TABLE::mark_columns_needed_for_update() is the only place that needs
mark_for_update=true because only UPDATE operations need to mark
indexed virtual columns for InnoDB's undo logging mechanism.

INSERT operation is already handled by
TABLE::mark_virtual_columns_for_write(insert_fl=true).
Even the commit a4e4a56720c974b547d4e469a8c54510318bc2c9 changes are
going to affect TABLE::mark_virtual_column_for_write(false) and
It is called during UPDATE operation, and that's when
column_bitmaps_signal() needs to mark  indexed virtual columns.

Online DDL has separate code path which is handled by
row_log_mark_virtual_cols() for all DML operations
Mohamed
MDEV-38601 require FEDERATED ADMIN for SHOW CREATE SERVER

SHOW CREATE SERVER was accessible to any user with a global
privilege, without requiring FEDERATED ADMIN. Add a privilege
check before mysql_show_create_server() so that only users
with FEDERATED ADMIN can view server definitions.
forkfun
MDEV-36183 mariadb-dump backup corrupt if stored procedure ends with comment

When a stored procedure, trigger, or event ends with a line comment (#comment
or --comment), mariadb-dump would append the custom delimiter (;;) on the same line.
This caused the comment to "comment out" the delimiter, leading to syntax errors
during restoration.

Fixed by ensuring a newline is inserted before the delimiter in the dump output.
Lawrin Novitsky
Parsec plugin was missing in tarballs and not compiled in on Windows
forkfun
MDEV-32770 mariadb-dump produces not loadable dump due to temporary view structure

When mariadb-dump produces a dump, it first creates a temporary placeholder for views
to satisfy potential dependencies before their actual creation later in the dump file.
Previously, these views were populated with int literals for their columns (1 AS `col_name`).
This could cause syntax or type-resolution errors during restoration if another view depended
on this placeholder view.

This commit changes the placeholder column values from 1 to NULL, as it is more permissive
and allowing the dump to be restored successfully.
Marko Mäkelä
Merge 11.8 into 12.3
Rex Johnston
MDEV-29360 Crash when pushing condition with always false IS NULL into derived

When a condition containing an always FALSE range part is pushed
down into a derived table, an enclosed outer reference can cause
a null pointer crash.  An example

SELECT * FROM (SELECT id  FROM t1 GROUP BY id) dt1, (SELECT id FROM t2) dt2, t3
  WHERE dt2.id = t3.id AND dt1.id BETWEEN 0 AND (dt2.id IS NULL);

is considered as one that can be pushed into the derived table dt1
because the expression (dt2.id IS NULL) is identified as always false.
On the on other hand the condition still contains a reference to a
column of the table dt2. When pushing the condition to the where clause
of the derived table dt1 a copy of it is created and this copy is
transformed to be used in the new where clause. When the transformation
procedure encounters a reference dt2.id it crashes the server as only
the references to the columns used in the group by list of the
specification of dt1 or those equal to them are expected in the
condition that can be pushed into the where clause of the derived table.

The fix here is transform the argument to the function Item_func_isnull
from something that may be a column reference, but cannot be null to
an Item_literal that also cannot be null (1).

Based on patch by Igor Babaev.