View Bazaar branches
Get this repository:
git clone https://git.launchpad.net/maria

MariaDB has 15 active reviews. See all merge proposals.

Import details

Import Status: Reviewed

This repository is an import of the Git repository at https://github.com/MariaDB/server.git.

The next import is scheduled to run .

Last successful import was .

Import started on juju-98ee42-prod-launchpad-codeimport-4 and finished taking 9 minutes — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-4 and finished taking 8 minutes — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-5 and finished taking 7 minutes — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-2 and finished taking 8 minutes — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-1 and finished taking 8 minutes — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 10 minutes — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 9 minutes — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 6 minutes — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-4 and finished taking 10 minutes — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-4 and finished taking 8 minutes — see the log

Branches

Name Last Modified Last Commit
bb-11.5-MDEV-33152-index-statistics 2024-03-17 22:38:07 UTC
Optimize checking if a table is a statistics table

Author: Monty
Author Date: 2024-01-04 18:44:38 UTC

Optimize checking if a table is a statistics table

bb-11.5-MDEV-28671-deprecated-in-cmdline 2024-03-17 22:10:27 UTC
cleanup: remove convert_dash_to_underscore

Author: Sergei Golubchik
Author Date: 2024-03-12 13:08:23 UTC

cleanup: remove convert_dash_to_underscore

it was a no-op, plugin variables don't have dashes

bb-11.5-MDEV-33151-userstat 2024-03-17 21:42:39 UTC
MDEV-33151 Add more columns to TABLE_STATISTICS and USER STATS

Author: Monty
Author Date: 2023-12-31 14:32:16 UTC

MDEV-33151 Add more columns to TABLE_STATISTICS and USER STATS

Columns added to TABLE_STATISTICS
- ROWS_INSERTED, ROWS_DELETED, ROWS_UPDATED, KEY_READ_HITS and
  KEY_READ_MISSES.

Columns added to CLIENT_STATISTICS and USER_STATISTICS:
- KEY_READ_HITS and KEY_READ_MISSES.

User visible changes (except new columns):
- CLIENT_STATISTICS and USER_STATISTICS has columns KEY_READ_HITS and
  KEY_READ_MISSES added after column ROWS_UPDATED before SELECT_COMMANDS.

Other changes:
- Do not collect table statistics for system tables like index_stats
  table_stats, performance_schema, information_schema etc as the user
  has no control of these and the generate noice in the statistics.
- All row variables that are part of user_stats are moved to
  'struct rows_stats' to make it easy to clear all of them at once.
- ha_read_key_misses added to STATUS_VAR

Notes:
- userstat.result has a change of numbers of rows for handler_read_key.
  This is because use-stat-tables is now disabled for the test.

bb-11.5-MDEV-33144-slow-query-log-always-write-time 2024-03-17 21:39:58 UTC
MDEV-33144 Implement the Percona variable slow_query_log_always_write_time

Author: Monty
Author Date: 2023-12-31 10:41:25 UTC

MDEV-33144 Implement the Percona variable slow_query_log_always_write_time

This task is inspired by the Percona implementation of
slow_query_log_always_write_time.

This task implements the variable log_slow_always_query_time (name
matching other MariaDB variables using the slow query log). The
default value for the variable is 0, which makes MariaDB compatible
with older installations.

For queries with execution time longer than log_slow_always_query_time
the variables log_slow_rate_limit and log_slow_min_examined_row_limit
will not ignored and the query will be written to the slow query log
if there is no other limitations (like log_slow_filter etc).

Other things:
- long_query_time internal variable renamed to log_slow_query_time.
- More descriptive information for "log_slow_query_time".

bb-11.5-MDEV-9101-max-tmp-space-used 2024-03-17 20:33:47 UTC
fixup MDEV-9101 Limit size of created disk temporary files and tables

Author: Sergei Golubchik
Author Date: 2024-03-16 22:47:59 UTC

fixup MDEV-9101 Limit size of created disk temporary files and tables

bb-11.5-MDEV-33145-flush-global-status 2024-03-17 18:58:05 UTC
fixup MDEV-33145 Add FLUSH GLOBAL STATUS

Author: Sergei Golubchik
Author Date: 2024-03-16 12:53:05 UTC

fixup MDEV-33145 Add FLUSH GLOBAL STATUS

preview-11.5-preview 2024-03-17 16:24:33 UTC
fixup MDEV-9101 Limit size of created disk temporary files and tables

Author: Sergei Golubchik
Author Date: 2024-03-16 22:47:59 UTC

fixup MDEV-9101 Limit size of created disk temporary files and tables

bb-10.5-MDEV-22141 2024-03-15 19:04:02 UTC
MDEV-22141: JSON_REMOVE returns NULL on valid arguments

Author: Rucha Deodhar
Author Date: 2024-03-15 18:58:48 UTC

MDEV-22141: JSON_REMOVE returns NULL on valid arguments

Analysis:
When we scan json to get to a beginning according to the path, we end up
scanning json even if we have exhausted it. When eventually returns error.

Fix:
Continue scanning json only if we have not exhausted it and return result
accordingly.

10.6-MDEV-28621-no-elimination 2024-03-15 18:05:05 UTC
MDEV-28621: What if we didn't eliminate subqueries?

Author: Sergey Petrunia
Author Date: 2024-03-15 18:05:05 UTC

MDEV-28621: What if we didn't eliminate subqueries?

We would just remove the items.

So far I've hit only one issue - testcase for MDEV-28617.
The issue is that if you don't have an Item pointing to the
subquery, fix_fields() won't be called at all.

However, the tables are still in the table list. And code like

INSERT INTO t1 SELECT FROM ... t1 ...

will search for the second reference to t1, and if it is in
a merged-derived will try to switch it into materialized.
However this will fail as the derived table's SELECT_LEX_UNIT is
not fixed.

bb-10.6-MDEV-28621-no-elimination 2024-03-15 18:05:05 UTC
MDEV-28621: What if we didn't eliminate subqueries?

Author: Sergey Petrunia
Author Date: 2024-03-15 18:05:05 UTC

MDEV-28621: What if we didn't eliminate subqueries?

We would just remove the items.

So far I've hit only one issue - testcase for MDEV-28617.
The issue is that if you don't have an Item pointing to the
subquery, fix_fields() won't be called at all.

However, the tables are still in the table list. And code like

INSERT INTO t1 SELECT FROM ... t1 ...

will search for the second reference to t1, and if it is in
a merged-derived will try to switch it into materialized.
However this will fail as the derived table's SELECT_LEX_UNIT is
not fixed.

bb-11.5-hints 2024-03-15 13:58:38 UTC
WIP: Parser for optimizer hints

Author: Oleg Smirnov
Author Date: 2024-03-10 10:03:04 UTC

WIP: Parser for optimizer hints

bb-10.10-MDEV-32726 2024-03-15 13:12:28 UTC
MDEV-32726: Fix failing test fir freebsd for json

Author: Rucha Deodhar
Author Date: 2023-11-10 10:31:15 UTC

MDEV-32726: Fix failing test fir freebsd for json

Json test about max statement time fails with freebsd because on some
architectures the test might execute faster and the statement may not fail.

To simulate failure regardless of architecture, introduce a wait of seconds
longer than the max_statement_time.

bb-10.5-MDEV-17943 2024-03-15 11:17:21 UTC
MDEV-17943: Unfortunate error code/message upon SET DEFAULT ROLE FOR

Author: Rucha Deodhar
Author Date: 2024-03-15 11:17:21 UTC

MDEV-17943: Unfortunate error code/message upon SET DEFAULT ROLE FOR

Analysis: Wrong error message.
Fix: Change the error message.

bb-10.5-knielsen 2024-03-15 10:34:50 UTC
Merge 10.4 to 10.5.

Author: Kristian Nielsen
Author Date: 2024-03-15 10:34:50 UTC

Merge 10.4 to 10.5.

Null-merge this patch, which was cherry-picked from 10.6 to 10.4:

commit 8b3f470c0bdf183b26cb2b06a9ae416aa7f16b04 (origin/bb-10.5-monty)
Author: Monty <monty@mariadb.org>
Date: Fri Mar 1 11:21:50 2024 +0200

    Fixed random failure in main.kill_processlist-6619

bb-10.11-release 2024-03-15 08:42:37 UTC
buildbot

Author: Sergei Golubchik
Author Date: 2024-03-15 08:42:37 UTC

buildbot

bb-10.11-serg 2024-03-15 08:42:37 UTC
buildbot

Author: Sergei Golubchik
Author Date: 2024-03-15 08:42:37 UTC

buildbot

bb-10.5-mdev-33220 2024-03-15 06:18:59 UTC
MDEV-33220 Fix -wmaybe-uninitialized warnings

Author: Yuchen Pei
Author Date: 2024-03-15 06:13:21 UTC

MDEV-33220 Fix -wmaybe-uninitialized warnings

bb-10.5-mdev-33679-print-item-equal 2024-03-15 04:00:06 UTC
MDEV-33679 [poc] Construct queries for Item_equal in spider group by handler

Author: Yuchen Pei
Author Date: 2024-03-15 03:46:26 UTC

MDEV-33679 [poc] Construct queries for Item_equal in spider group by handler

bb-10.6-release 2024-03-14 18:52:08 UTC
Merge branch '10.5' into 10.6

Author: Sergei Golubchik
Author Date: 2024-03-14 18:52:08 UTC

Merge branch '10.5' into 10.6

bb-10.6-serg 2024-03-14 18:50:10 UTC
Merge remote-tracking branch 'github/10.5' into bb-10.6-serg

Author: Sergei Golubchik
Author Date: 2024-03-14 18:50:10 UTC

Merge remote-tracking branch 'github/10.5' into bb-10.6-serg

bb-10.6-MDEV-31949_ver0_opt 2024-03-14 16:49:52 UTC
Test fixes: rpl_parallel_xa_same_xid needs greater slave_transaction_retries

Author: Andrei
Author Date: 2024-03-14 16:49:52 UTC

Test fixes: rpl_parallel_xa_same_xid needs greater slave_transaction_retries

The reason is that in the duplicate xid case
  XAC_k(xid) -> XAP_k+i(xid)
dependency is handled with XAP's retry when the xid still in XAC's
possession.
Todo: implement a sleep interval in between of two consequent retry cycles.

bb-11.2-opentables 2024-03-14 14:46:32 UTC
adopt library

Author: Nikita Malyavin
Author Date: 2024-03-13 20:13:22 UTC

adopt library

bb-10.5-release 2024-03-14 14:31:46 UTC
cmake: append to the array correctly

Author: Sergei Golubchik
Author Date: 2024-03-14 14:31:46 UTC

cmake: append to the array correctly

it was generating broken spec files

10.6-MDEV-29445 2024-03-14 13:45:26 UTC
squash! 5704eeb9df09b12c9da3736a7e470c93aa7f0b87

Author: Marko Mäkelä
Author Date: 2024-03-14 13:45:26 UTC

squash! 5704eeb9df09b12c9da3736a7e470c93aa7f0b87

This reverts the incorrect "bool combined" part of
22e7eca3501310f800a9dbc221359472a7beca39 in buf_buddy_shrink().

buf_buddy_free_low(): Do not care about buffer pool shrinking.
This will be handled by buf_buddy_shrink() and
buf_buddy_condense_free().

buf_pool_t::contains_zip(): Added a parameter for the
number of least significant pointer bits to disregard,
so that we can find any pointers to within a block
that is supposed to be free.

buf_buddy_alloc_zip(): Assert !buf_pool.contains_zip()
when we are allocating from the binary buddy system.
Previously we were asserting this on multiple recursion levels.

buf_buddy_block_free(), buf_buddy_free_low():
Assert !buf_pool.contains_zip().

buf_buddy_alloc_from(): Remove the redundant parameter j.

buf_pool_t::resize(): Always zero out b->page.zip.data.
Failure to do so would cause crashes or corruption in
the test innodb.innodb_buffer_pool_resize due to
duplicated allocation in the buddy system.

buf_pool_t::LRU_shrink(): Check if buffer pool shrinking needs
to process a buffer page.

buf_flush_LRU_list_batch(): Add the parameter shrinking.
If we are shrinking, invoke buf_pool_t::LRU_shrink() to see
if we must keep going.

buf_do_LRU_batch(): Skip buf_free_from_unzip_LRU_list_batch()
if we are shrinking the buffer pool. In that case, we want
to minimize the page relocations and just finish as quickly
as possible.

bb-11.5-mdev-22168 2024-03-14 11:38:59 UTC
test if the ha_partition::update_optimizer_costs is ever called.

Author: Alexey Botchkov
Author Date: 2024-03-14 11:38:59 UTC

test if the ha_partition::update_optimizer_costs is ever called.

bb-11.4-MDEV-18478-v4 2024-03-14 11:22:05 UTC
MDEV-18478: part 3: late code cleanups, no functional changes.

Author: Sergey Petrunia
Author Date: 2024-03-14 11:22:05 UTC

MDEV-18478: part 3: late code cleanups, no functional changes.

bb-11.0-mdev-32609 2024-03-14 06:34:51 UTC
MDEV-32609 [poc] Implement Item_window_func::change_context_processor()

Author: Yuchen Pei
Author Date: 2024-03-14 06:34:51 UTC

MDEV-32609 [poc] Implement Item_window_func::change_context_processor()

bb-10.4-julius-galera 2024-03-14 05:00:14 UTC
galera: wsrep-lib submodule update

Author: Julius Goryavsky
Author Date: 2024-03-13 12:52:36 UTC

galera: wsrep-lib submodule update

bb-10.4-MDEV-28621 2024-03-13 22:58:38 UTC
MDEV-28621 group by optimization incorrectly removing subquery where subject ...

Author: Rex Johnston
Author Date: 2024-03-12 03:04:24 UTC

MDEV-28621 group by optimization incorrectly removing subquery where subject buried in a function

Group by optimization can sometimes remove a subquery/derived table where this
derived table doesn't directly appear in the select list, but does appear in the
arguments to a function on the select list. Under these circumstances we should
_also_ not remove the subquery associated with this group by.

bb-11.5-monty 2024-03-13 14:08:50 UTC
ALTER TABLE and replication should convert old row_end timestamps to new time...

Author: Monty
Author Date: 2023-12-19 15:51:23 UTC

ALTER TABLE and replication should convert old row_end timestamps to new timestamp range

MDEV-32188 make TIMESTAMP use whole 32-bit unsigned range

- Added --update-history option to mariadb-dump to change 2038
  row_end timestamp to 2106.
- Updated ALTER TABLE ... to convert old row_end timestamps to
  2106 timestamp for tables created before MariaDB 11.4.0.
- Fixed bug in CHECK TABLE where we wrongly suggested to USE REPAIR
  TABLE when ALTER TABLE...FORCE is needed.
- mariadb-check printed table names that where used with REPAIR TABLE but
  did not print table names used with ALTER TABLE or with name repair.
  Fixed by always printing a table that is fixed if --silent is not
  used.
- Added TABLE::vers_fix_old_timestamp() that will change max-timestamp
  for versioned tables when replication from a pre-11.4.0 server.

A few test cases changed. This is caused by:
- CHECK TABLE now prints 'Please do ALTER TABLE... instead of
  'Please do REPAIR TABLE' when there is a problem with the information
  in the .frm file (for example a very old frm file).
- mariadb-check now prints repaired table names.
- mariadb-check also now prints nicer error message in case ALTER TABLE
  is needed to repair a table.

bb-10.5-MDEV-25089-v2-galera 2024-03-13 13:18:35 UTC
MDEV-25089 : Assertion `error.len > 0' failed in wsrep_status_t galera::Repli...

Author: =?utf-8?q?Jan_Lindstr=C3=B6m?=
Author Date: 2023-11-01 09:07:16 UTC

MDEV-25089 : Assertion `error.len > 0' failed in wsrep_status_t galera::ReplicatorSMM::handle_apply_error(galera::TrxHandleSlave&, const wsrep_buf_t&, const string&)

Problem is that Galera starts TOI (total order isolation) i.e.
it sends query to all nodes. Later it is discovered that
used engine or other feature is not supported by Galera.
Because TOI is executed parallelly in all nodes appliers
could execute given TOI and ignore the error and
start inconsistency voting causing node to leave from
cluster or we might have a crash as reported.

For example SEQUENCE engine does not support GEOMETRY data
type causing either inconsistency between nodes (because
some errors are ignored on applier) or crash.

Fixed my adding new function wsrep_check_support to check
can Galera support provided CREATE TABLE/SEQUENCE before TOI is
started and if not clear error message is provided to
the user.

Currently, not supported cases:

* CREATE TABLE ... AS SELECT when streaming replication is used
* CREATE TABLE ... WITH SYSTEM VERSIONING AS SELECT
* CREATE TABLE ... ENGINE=SEQUENCE
* CREATE SEQUENCE ... ENGINE!=InnoDB
* ALTER TABLE t ... ENGINE!=InnoDB where table t is SEQUENCE

Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>

bb-10.4-knielsen 2024-03-13 12:18:20 UTC
MDEV-33475: --gtid-ignore-duplicate can double-apply event in case of paralle...

Author: Kristian Nielsen
Author Date: 2024-03-08 21:18:44 UTC

MDEV-33475: --gtid-ignore-duplicate can double-apply event in case of parallel replication retry

When rolling back and retrying a transaction in parallel replication, don't
release the domain ownership (for --gtid-ignore-duplicates) as part of the
rollback. Otherwise another master connection could grab the ownership and
double-apply the transaction in parallel with the retry.

Reviewed-by: Brandon Nesterenko <brandon.nesterenko@mariadb.com>
Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>

bb-11.4-MDEV-30366-bulk-results-2 2024-03-13 11:38:40 UTC
CC 3.4

Author: Oleksandr "Sanja" Byelkin
Author Date: 2024-03-13 11:38:40 UTC

CC 3.4

bb-11.4-timestamp 2024-03-13 10:16:40 UTC
Fixed typo in mariadb-install-db

Author: Monty
Author Date: 2024-02-20 13:03:31 UTC

Fixed typo in mariadb-install-db

bb-11.4-mdev12404-asserts 2024-03-13 09:15:25 UTC
MDEV-12404: Add assertions about Index Condition Pushdown use

Author: Sergey Petrunia
Author Date: 2024-03-13 08:53:31 UTC

MDEV-12404: Add assertions about Index Condition Pushdown use

Add assertions about limitations one has when using Index Condition
Pushdown:
- add handler::assert_icp_limitations()
- call this function from functions that may attempt violations.

Verified that assert_icp_limitations() as well as calls to it are
compiled away in release build.

bb-10.4-mdev-29363 2024-03-13 06:47:00 UTC
MDEV-29363 avoid adding items with subqueries to item_equal

Author: Yuchen Pei
Author Date: 2024-03-13 06:47:00 UTC

MDEV-29363 avoid adding items with subqueries to item_equal

The optimizer constructs multiple equalities, and swap them in during
equality propagation. In doing so, it may create multiple pointers to
the same item. When the item contain subqueries, bad things can
happen. For example, in pushdown of HAVING to WHERE, if the HAVING
conditions contain multiple equalities with a const subquery, the
subquery will not be excluded from pushdown into WHERE. And if there
are multiple pointers to the same subquery, it may unfix the subquery
and destroy and rebuild its join, which could cause further
use-after-free if there are external pointers to items in the
join (e.g. tmp table fields as in the main case in MDEV-29363).

This patch also fixes cases in MDEV-32424, MDEV-32608, MDEV-32539.

bb-11.0-ycp 2024-03-13 06:10:58 UTC
MDEV-29363 avoid adding items with subqueries to item_equal

Author: Yuchen Pei
Author Date: 2024-03-13 05:11:28 UTC

MDEV-29363 avoid adding items with subqueries to item_equal

The optimizer constructs multiple equalities, and swap them in during
equality propagation. In doing so, it may create multiple pointers to
the same item. When the item contain subqueries, bad things can
happen. For example, in pushdown of HAVING to WHERE, if the HAVING
conditions contain multiple equalities with a const subquery, the
subquery will not be excluded from pushdown into WHERE. And if there
are multiple pointers to the same subquery, it may unfix the subquery
and destroy and rebuild its join, which could cause further
use-after-free if there are external pointers to items in the
join (e.g. tmp table fields as in the main case in MDEV-29363).

This patch also fixes cases in MDEV-32424, MDEV-32608, MDEV-32539.

bb-10.6-ycp 2024-03-13 05:46:56 UTC
MDEV-29363 avoid adding items with subqueries to item_equal

Author: Yuchen Pei
Author Date: 2024-03-13 05:11:28 UTC

MDEV-29363 avoid adding items with subqueries to item_equal

The optimizer constructs multiple equalities, and swap them in during
equality propagation. In doing so, it may create multiple pointers to
the same item. When the item contain subqueries, bad things can
happen. For example, in pushdown of HAVING to WHERE, if the HAVING
conditions contain multiple equalities with a const subquery, the
subquery will not be excluded from pushdown into WHERE. And if there
are multiple pointers to the same subquery, it may unfix the subquery
and destroy and rebuild its join, which could cause further
use-after-free if there are external pointers to items in the
join (e.g. tmp table fields as in the main case in MDEV-29363).

This patch also fixes cases in MDEV-32424, MDEV-32608, MDEV-32539.

11.5-MDEV-31466 2024-03-12 20:21:12 UTC
Merge branch '11.5' into 11.5-MDEV-31466

Author: Rex Johnston
Author Date: 2024-03-12 20:21:12 UTC

Merge branch '11.5' into 11.5-MDEV-31466

bb-11.4-mdev-12404 2024-03-12 17:27:16 UTC
MDEV-12404 Index condition pushdown on partitioned tables

Author: Dave Gosselin
Author Date: 2024-01-31 16:59:21 UTC

MDEV-12404 Index condition pushdown on partitioned tables

Support index condition pushdown within partitioned tables.
- ha_partition will pass the pushed index condition into all of the used
  partitions.
  - We require that all of the partitions to handle the pushed index
    condition in the same way.
- When using ICP, one may read rows (e.g. call h->index_read_map(buf, ...)
  only to buf= table->record[0], for two reasons:
  * Pushed index condition's Item_field objects point into record[0]
  * InnoDB requires this: it calls offset() which assumes record[0].
  So, when using ICP, ha_partition will read partition records to
  table->record[0] and then will copy record away if it needs it to be
  elsewhere.

bb-10.6-monty 2024-03-12 17:00:41 UTC
MDEV-33622 Server crashes when the UPDATE statement (which has duplicate key)...

Author: Monty
Author Date: 2024-03-12 16:23:51 UTC

MDEV-33622 Server crashes when the UPDATE statement (which has duplicate key) is run after setting a low thread_stack

This was caused by wrong allocation of variable on stack.
(Was allocating 4K of data instead of 512 bytes).

No test case as the original MDEV test cases is not usable for mtr.

bb-11.5-bar-MDEV-33621 2024-03-12 05:33:20 UTC
MDEV-33621 Unify duplicate code in my_wildcmp_uca_impl() and my_wildcmp_unico...

Author: Alexander Barkov
Author Date: 2024-03-07 08:00:36 UTC

MDEV-33621 Unify duplicate code in my_wildcmp_uca_impl() and my_wildcmp_unicode_impl()

This is a refactoring patch, it does not change the behaviour.
The MTR tests are being added only to cover the LIKE predicate better.
(these tests should have been added earlier under terms of MDEV 9711).
This patch does not need its own specific MTR tests.

Moving the duplicate code into a new shared file ctype-wildcmp.inl
and including it from multiple places, to define the following functions:

- my_wildcmp_uca_impl(), in ctype-uca.c

  For utf8mb3, utf8mb4, ucs2, utf16, utf32, using cs->cset->mb_wc().
  For UCA based collations.

- my_wildcmp_mb2_or_mb4_general_ci_impl(), in ctype-ucs2.c:

  For ucs2, utf16, utf32, using cs->cset->mb_wc().
  For general_ci-style collations:
      - xxx_general_ci
      - xxx_general_mysql500_ci
      - xxx_general_nopad_ci

- my_wildcmp_mb2_or_mb4_bin_impl(), in ctype-ucs2.c:

  For ucs2, utf16, utf32, using cs->cset->mb_wc().
  For _bin collations:
      - xxx_bin
      - xxx_nopad_bin

- my_wildcmp_utf8mb3_general_ci_impl(), in ctype-utf8.c

  Optimized for utf8mb3, using my_mb_wc_utf8mb3_quick().

  For general_ci-style collations:
      - utf8mb3_general_ci
      - utf8mb3_general_mysql500_ci
      - utf8mb3_general_nopad_ci

- my_wildcmp_utf8mb4_general_ci_impl(), in ctype-utf8.c

  Optimized for utf8mb4, using my_mb_wc_utf8mb4_quick().

  For general_ci-style collations:
      - utf8mb4_general_ci
      - utf8mb4_general_nopad_ci

bb-11.4-mdev-33608 2024-03-12 02:09:11 UTC
MDEV-33608 Skip spider/bugfix.quick_mode_N for valgrind builds

Author: Yuchen Pei
Author Date: 2024-03-12 02:09:11 UTC

MDEV-33608 Skip spider/bugfix.quick_mode_N for valgrind builds

ASAN builds pass so it's ok

11.4 2024-03-12 02:09:11 UTC
MDEV-33608 Skip spider/bugfix.quick_mode_N for valgrind builds

Author: Yuchen Pei
Author Date: 2024-03-12 02:09:11 UTC

MDEV-33608 Skip spider/bugfix.quick_mode_N for valgrind builds

ASAN builds pass so it's ok

bb-11.5-mdev-31609 2024-03-11 23:30:23 UTC
MDEV-31609 Send initial values of system variables in first OK packet

Author: Yuchen Pei
Author Date: 2024-03-01 01:59:21 UTC

MDEV-31609 Send initial values of system variables in first OK packet

Values of all session tracking system variables will be sent in the
first ok packet upon connection after successful authentication.

Also updated mtr to print session track info on connection (h/t Sergei
Golubchik) so that we can write mtr tests for this change.

bb-10.6-spetrunia-tmp 2024-03-11 19:07:56 UTC
tmp

Author: Sergey Petrunia
Author Date: 2024-03-11 19:07:56 UTC

tmp

bb-11.5-MDEV-33625 2024-03-11 17:48:47 UTC
MDEV-33625 Add option --dir to mariadb-dump

Author: VladislavVaintroub
Author Date: 2024-03-04 22:12:34 UTC

MDEV-33625 Add option --dir to mariadb-dump

New option works just like --tab, wrt output (sql file for table definition
and tab-separated for data, same options, e.g --parallel)

Compared to --tab it allows --databases and --all-databases.
When --dir is used , it creates directory structure in the output directory,
pointed to by --dir. For every database to be dumped, there will be a
directory with database name.

All options that --tab supports, are also supported by --dir, in particular
--parallel

bb-10.5-mdev-30073-7 2024-03-11 17:28:01 UTC
MDEV-30073 Wrong result on 2nd execution of PS for query with NOT EXISTS

Author: Igor Babaev
Author Date: 2024-03-09 21:04:05 UTC

MDEV-30073 Wrong result on 2nd execution of PS for query with NOT EXISTS

This is a preliminary patch to check possible failures in buildbot.
Variant 7

bb-11.0-MDEV-33648 2024-03-11 12:53:25 UTC
MDEV-33648: range optimizer works incorrectly for date_col=expression yieldin...

Author: Sergey Petrunia
Author Date: 2024-03-11 12:53:25 UTC

MDEV-33648: range optimizer works incorrectly for date_col=expression yielding invalid_date

range optimizer constructs index lookup value by calling
value_item->save_in_field(). When that function returns an error, it
calls Field::stored_field_make_mm_leaf_truncated().

That function has logic that "truncated value means there won't
be any matches for equality lookup". This is not true for DATE columns:
invalid date is equal to '0000-00-00', which can be present in the table.

Fix stored_field_make_mm_leaf_truncated() to not return SEL_ARG_IMPOSSIBLE
if the field is a date field.

bb-11.4-serg 2024-03-08 23:40:03 UTC
MDEV-33554 Upgrade from 11.2 to 11.3 changes root's privileges

Author: Sergei Golubchik
Author Date: 2024-02-29 17:16:06 UTC

MDEV-33554 Upgrade from 11.2 to 11.3 changes root's privileges

let ALL PRIVILEGES to always mean ALL PRIVILEGES over all
upgrades, no matter what new privileges were added in later versions.

bb-10.6-knielsen 2024-03-08 21:43:26 UTC
MDEV-24622: Replication does not support bulk insert into empty table

Author: Kristian Nielsen
Author Date: 2024-03-08 21:43:26 UTC

MDEV-24622: Replication does not support bulk insert into empty table

Remove work-around that disables bulk insert optimization in replication

The root cause of the original problem is now fixed (MDEV-33475). Though the
bulk insert optimization will still be disabled in replication, as it is
only enabled in special circumstances meant for loading a mysqldump.

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>

bb-10.11-knielsen 2024-03-08 15:31:30 UTC
MDEV-32976: Un-deprecate MASTER_USE_GTID=Current_Pos

Author: Kristian Nielsen
Author Date: 2024-03-08 15:26:07 UTC

MDEV-32976: Un-deprecate MASTER_USE_GTID=Current_Pos

Remove incorrect deprecation.

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>

bb-11-5-monty 2024-03-08 13:38:54 UTC
MDEV-33620 Improve times and states in show processlist for replication

Author: Monty
Author Date: 2024-03-08 13:36:41 UTC

MDEV-33620 Improve times and states in show processlist for replication

- Slave_IO thread time is now reset between reading events. Before
  this commit Slave_IO always showed "Waiting for master to send
  event" and the time was from SLAVE START. Now it shows time since
  reading last event.

bb-11.5-MDEV-32854 2024-03-08 11:59:15 UTC
MDEV-32854: Make JSON_DEPTH_LIMIT configurable

Author: Rucha Deodhar
Author Date: 2024-02-27 14:13:51 UTC

MDEV-32854: Make JSON_DEPTH_LIMIT configurable

Create server variable to store limit for json depth with default value of
32, minimum 0 and maximum 100. Replace use of the previous direct or
indirect use JSON_DEPTH_LIMIT examples in array.

bb-10.5-ment-1591-debug-demo 2024-03-08 04:40:41 UTC
MENT-1591 [demo] For debugging use.

Author: Yuchen Pei
Author Date: 2024-03-08 04:40:41 UTC

MENT-1591 [demo] For debugging use.

bb-11.5-bar-MDEV-30716 2024-03-07 13:38:36 UTC
Extra tests for MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700...

Author: Alexander Barkov
Author Date: 2024-03-07 13:08:41 UTC

Extra tests for MDEV-30716 Wrong casefolding in xxx_unicode_520_ci for U+0700..U+07FF

New tests display additional information about characters from the BMP range:

- A summary with a COUNT(*) for all distinct combinations of properties
  telling how the "=" and the "LIKE" predicates compare characters to their
  LOWER() and UPPER() variants.

- A detailed list of trciky characters
  for which the "=" and the "LIKE" predicates compare
  LOWER(c)/UPPER(c) variants as not equal to just "c".

Tricky characters include:
 - Turkish letters: ı - small dotless letter i
 - Croatian letters: precombined contractions for Dž, Dz, Lj, Nj
 - Units of measurement: Ω,K,Å (Ohm, Kelvin, Angstrom)
   These ones look very similar to Greek letter Omega,
   Latin letter Kra, Swedish/Finnish letter A with a ring above.

bb-11.1-midenok 2024-03-07 12:24:33 UTC
Overwrite options from mysql_release.cmake

Author: midenok
Author Date: 2024-03-07 12:24:33 UTC

Overwrite options from mysql_release.cmake

bb-11.5-MDEV-33188-multithreaded-dump 2024-03-05 17:59:57 UTC
MDEV-33188 Add option --dir to mariadb-dump

Author: VladislavVaintroub
Author Date: 2024-03-04 22:12:34 UTC

MDEV-33188 Add option --dir to mariadb-dump

New option works just like --tab, w.r.t output (sql file for table definition
and tab-separated for data).

Compared to --tab it allows --databases and --all-databases.
When --dir is used , it creates directory structure in the output directory,
pointed to by --dir. For every database to be dumped, there will be a directory
with database name.

All options that --tab supports, are also supported by --dir, in particular
--parallel

st-10.5-thiru 2024-03-05 16:02:30 UTC
MDEV-32346 Assertion failure sym_node->table != NULL in pars_retrieve_table_...

Author: THIRUNARAYANAN BALATHANDAYUTHAPANI
Author Date: 2024-03-05 16:02:30 UTC

MDEV-32346 Assertion failure sym_node->table != NULL in pars_retrieve_table_def on UPDATE

- During update operation, InnoDB should avoid the initializing
the FTS_DOC_ID of foreign table if the foreign table is discarded

bb-11.2-nikita 2024-03-05 01:50:38 UTC
fix race in the MDEV-32614 test

Author: Nikita Malyavin
Author Date: 2024-03-05 01:48:14 UTC

fix race in the MDEV-32614 test

Sometimes 'continue' signal could be missed.

10.6-MDEV-33465 2024-03-04 18:17:50 UTC
MDEV-33465: an option to enable semisync recovery

Author: Brandon Nesterenko
Author Date: 2024-02-29 18:51:09 UTC

MDEV-33465: an option to enable semisync recovery

The current semi-sync binlog fail-over recovery process uses
rpl_semi_sync_slave_enabled==TRUE as its condition to truncate a
primary server’s binlog, as it is anticipating the server to re-join
a replication topology as a replica. However, for servers configured
with both rpl_semi_sync_master_enabled=1 and
rpl_semi_sync_slave_enabled=1, if a primary is just re-started (i.e.
retaining its role as master), it can truncate its binlog to drop
transactions which its replica(s) has already received and executed.
If this happens, when the replica reconnects, its gtid_slave_pos can
be ahead of the recovered primary’s gtid_binlog_pos, resulting in an
error state where the replica’s state is ahead of the primary’s.

This patch changes the condition for semi-sync recovery to truncate
the binlog to instead use the configuration variable
--init-rpl-role, when set to SLAVE. This allows for both
rpl_semi_sync_master_enabled and rpl_semi_sync_slave_enabled to be
set for a primary that is restarted, and no transactions will be
lost, so long as --init-rpl-role is not set to SLAVE.

Reviewed By:
============
<TODO>

bb-wip-11.4-mdev-12404 2024-03-04 13:53:30 UTC
update tests where the index condition is used now instead of where clause

Author: Dave Gosselin
Author Date: 2024-03-04 13:53:30 UTC

update tests where the index condition is used now instead of where clause

knielsen_mdev33426_11.4 2024-03-04 12:45:18 UTC
MDEV-25923: Aria parallel repair MY_THREAD_SPECIFIC mismatch in realloc

Author: Kristian Nielsen
Author Date: 2024-02-29 18:42:00 UTC

MDEV-25923: Aria parallel repair MY_THREAD_SPECIFIC mismatch in realloc

maria_repair_parallel() clears the MY_THREAD_SPECIFIC flag for allocations
since it uses different threads. But it still did one _ma_alloc_buffer()
call as thread-specific which would later assert if another thread needed
to extend the buffer with realloc.

This patch, due to Monty, removes the MY_THREAD_SPECIFIC flag for
allocations that need to realloc in different threads, and preserves
it for those that are allocated/freed in the user's thread.

Also fixes MDEV-33562.

Reviewed-by: Monty <monty@mariadb.org>
Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>

bb-10.11-mdev-33539 2024-03-04 00:54:52 UTC
MDEV-33539 spider: remove some unused code in self reference checks

Author: Yuchen Pei
Author Date: 2024-02-26 04:00:54 UTC

MDEV-33539 spider: remove some unused code in self reference checks

bb-10.5-mdev-33538 2024-03-03 23:25:34 UTC
MDEV-33538 make auxiliary spider plugins init depend on actual spider

Author: Yuchen Pei
Author Date: 2024-03-03 23:25:34 UTC

MDEV-33538 make auxiliary spider plugins init depend on actual spider

The two I_S plugins SPIDER_ALLOC_MEM and SPIDER_WRAPPER_PROTOCOL
only makes sense if the main SPIDER plugin is installed. Further,
SPIDER_ALLOC_MEM requires a mutex that requires SPIDER init to fill
the table.

We also update the spider init query to override
--transaction_read_only=on so that it does not affect the spider init.

Also fixed error handling in spider_db_init() so that failure in
spider table init does not result in memory leak

wip-11.4-mdev-12404 2024-03-01 21:12:43 UTC
MDEV-12404 Index condition pushdown on partitioned tables

Author: Dave Gosselin
Author Date: 2024-01-31 16:59:21 UTC

MDEV-12404 Index condition pushdown on partitioned tables

WIP, support index condition pushdown within partitioned tables.

bb-10.4-mdev-32424 2024-03-01 21:12:15 UTC
MDEV-32424 Crash in subselect engine

Author: Dave Gosselin
Author Date: 2024-02-02 19:29:08 UTC

MDEV-32424 Crash in subselect engine

According to MDEV-29363, recompute the with_subquery() attribute
in the pushdown code to avoid writing to freed memory.

bb-10.4-mdev-28509 2024-03-01 21:11:55 UTC
MDEV-28509 Dereferenced null pointer of type 'struct JOIN_TAB' in add_key_field

Author: Dave Gosselin
Author Date: 2023-11-30 16:18:17 UTC

MDEV-28509 Dereferenced null pointer of type 'struct JOIN_TAB' in add_key_field

This patch fixes a crash when calculating join statistics during query
optimization for queries with dangling WINDOW references. Put another way,
the system may crash when a query defines a WINDOW but doesn't then refer to
it.

Item::marker is overloaded for different uses, the most typical refer to it as
a bit field. However, the setup_group function uses it to mark that a field
was found when traversing a GROUP BY. Originally, this marking set the
Item::marker field to 1 to indicate that it was found. Later on in setup_group
(and only when SQL mode ONLY_FULL_GROUP_BY is enabled), we would skip any such
marked fields when checking that fields only referenced those found in the
GROUP BY; otherwise, it would be silly to find fields of the GROUP BY within
the GROUP BY field itself. Setting Item::marker to 1 seemed mostly harmless
at that point in time. But later, in git sha 4d143a6ff6, we introduced
several changes: (1) the value of marker in setup_group was changed from 1 to
UNDEF_POS, (2) Item::marker was changed from uint8 to int8 (which has since
been changed to an int), and (3) UNDEF_POS which is defined to be -1 was also
added.

Queries that define WINDOWs internally will setup groups and orders as part
of query processing via the setup_group function. Consequently because of
the behavior described earlier above, such queries may have items with markers
as UNDEF_POS (-1, or 0xffffffff) which is the same as marking all of the flag
bits as set. This is disastrous for those users of Item::marker which refer
to it as a bit field as some of those bits are mutually exclusive in meaning,
and in many places we don't mask the bits we're interested in, we just
compare the value of the field as a whole to some flag value with direct
comparison. In particular, the method
Item_direct_view_ref::grouping_field_transformer_for_where would
incorrectly see that the ref's marker was set for substitution when it was
actually -1, all bits set, taking the wrong execution path leading to the
crash.

Upon return from the setup_group function, we set the value of the marker
flag to zero if we set it to -1. This preserves the marker behavior for
'full group by' (if configured) while not otherwise allowing the marker
flag state to leak outside of this function.

11.3 2024-03-01 14:37:04 UTC
MDEV-33554 Upgrade from 11.2 to 11.3 changes root's privileges

Author: Sergei Golubchik
Author Date: 2024-02-29 17:16:06 UTC

MDEV-33554 Upgrade from 11.2 to 11.3 changes root's privileges

let ALL PRIVILEGES to always mean ALL PRIVILEGES over all
upgrades, no matter what new privileges were added in later versions.

bb-11.3-serg 2024-03-01 14:37:04 UTC
MDEV-33554 Upgrade from 11.2 to 11.3 changes root's privileges

Author: Sergei Golubchik
Author Date: 2024-02-29 17:16:06 UTC

MDEV-33554 Upgrade from 11.2 to 11.3 changes root's privileges

let ALL PRIVILEGES to always mean ALL PRIVILEGES over all
upgrades, no matter what new privileges were added in later versions.

bb-10.5-monty 2024-03-01 09:22:24 UTC
Fixed random failure in main.kill_processlist-6619

Author: Monty
Author Date: 2024-03-01 09:21:50 UTC

Fixed random failure in main.kill_processlist-6619

The problem was that SHOW PROCESSLIST was done before the command of
the default connection was cleared.

Reviewer: Sergei Golubchik <serg@mariadb.org>

bb-10.4-midenok 2024-02-29 04:39:18 UTC
incremental_encrypted fix

Author: midenok
Author Date: 2024-02-29 04:38:48 UTC

incremental_encrypted fix

bb-11.5-MDEV-7850-preview 2024-02-28 23:11:03 UTC
MDEV-7850: Extend GTID Binlog Events with Thread Id

Author: Brandon Nesterenko
Author Date: 2023-07-10 15:53:19 UTC

MDEV-7850: Extend GTID Binlog Events with Thread Id

This patch augments Gtid_log_event with the user thread-id.
In particular that compensates for the loss of this info in
Rows_log_events.

Gtid_log_event::thread_id gets visible in mysqlbinlog output like

  #231025 16:21:45 server id 1 end_log_pos 537 CRC32 0x1cf1d963 GTID 0-1-2 ddl thread_id=10

as 64 bit unsigned integer.

While the size of Gtid event has grown by 8-9 bytes
replication from OLD <-> NEW is not affected by it. This patch
also slightly changes the logic to convert Gtid events to Query
events for older replicas which don't support Gtid. Instead of
hard-coding the padding of the sys var section of the generated
Query event, the length to pad is dynamically calculated based
on the length of the Gtid event.

This work was started by the late Sujatha Sivakumar.
Brandon Nesterenko took it over, reviewed initial patches and extended
the work.

Reviewed-by:
=============
Andrei Elkin <andrei.elkin@mariadb.com>
Kristian Nielsen <knielsen@knielsen-hq.org>

bb-10.5-mdev-30073-6 2024-02-28 22:56:45 UTC
MDEV-30073 Wrong result on 2nd execution of PS for query with NOT EXISTS

Author: Igor Babaev
Author Date: 2024-02-28 22:56:45 UTC

MDEV-30073 Wrong result on 2nd execution of PS for query with NOT EXISTS

This is a preliminary patch to check possible failures in buildbot.
Variant 6

bb-11.5-bar-MDEV-31531 2024-02-28 18:20:29 UTC
MDEV-31531 Remove my_casedn_str() and my_caseup_str()

Author: Alexander Barkov
Author Date: 2023-06-23 09:24:02 UTC

MDEV-31531 Remove my_casedn_str() and my_caseup_str()

Under terms of MDEV 27490 we'll add support for non-BMP identifiers
and upgrade casefolding information to Unicode version 14.0.0.
In Unicode-14.0.0 conversion to lower and upper cases can increase octet length
of the string, so conversion won't be possible in-place any more.

This patch removes virtual functions performing in-place casefolding:
  - my_charset_handler_st::casedn_str()
  - my_charset_handler_st::caseup_str()
and fixes the code to use the non-inplace functions instead:
  - my_charset_handler_st::casedn()
  - my_charset_handler_st::caseup()

10.5-MDEV-33559 2024-02-28 15:00:39 UTC
MDEV-33559 matched_rec::block should be allocated from the buffer pool

Author: Marko Mäkelä
Author Date: 2024-02-21 12:53:23 UTC

MDEV-33559 matched_rec::block should be allocated from the buffer pool

matched_rec::rec_buf[], matched_rec::bufp: Remove.

matched_rec::block: Make this a pointer to something that
is allocated by buf_block_alloc(). In this way, the only
case where buf_block_t is constructed outside buf_pool
is ALTER TABLE...IMPORT TABLESPACE.

bb-11.5-hints-YYSTYPE 2024-02-28 08:35:05 UTC
Move %union from sql_yacc.yy to sql_lex.h

Author: Oleg Smirnov
Author Date: 2024-02-28 08:35:05 UTC

Move %union from sql_yacc.yy to sql_lex.h

bb-10.6-georg 2024-02-28 06:17:23 UTC
Update to C/C 3.4

Author: Georg Richter
Author Date: 2024-02-28 06:17:23 UTC

Update to C/C 3.4

bb-11.4-midenok-MDEV-30973 2024-02-27 15:34:59 UTC
Repeat without restart enabled in test

Author: midenok
Author Date: 2024-02-27 14:53:07 UTC

Repeat without restart enabled in test

But it fails after ~100 repetitions because SHOW ENGINE INNODB STATUS
inserts " into output:

mysqltest: At line 132: query 'let $i= `select instr(\"\$s\", "LATEST
DETECTED DEADLOCK")`' failed: ER_PARSE_ERROR (1064): You have an error
in your SQL syntax; check the manual that corresponds to your MariaDB
server version for the right syntax to use near ';;
 2: len 7; hex 7f000000320110; asc 2 ;;
 3: len 4; hex 80000001; asc ...' at line 1

11.4-midenok-mysqltest 2024-02-27 12:13:45 UTC
mysqltest intelligible error message about empty variable name

Author: midenok
Author Date: 2024-02-27 12:13:45 UTC

mysqltest intelligible error message about empty variable name

bb-10.11-all-builders 2024-02-27 10:12:08 UTC
MDEV-33429 compilation of MariaDB 10.11.7 fails on arm32, sizeof(MYSQL) is wrong

Author: Sergei Golubchik
Author Date: 2024-02-25 18:00:48 UTC

MDEV-33429 compilation of MariaDB 10.11.7 fails on arm32, sizeof(MYSQL) is wrong

bb-10.11-monty 2024-02-26 17:45:11 UTC
Some changes to prepare for updated maria-backup

Author: Monty
Author Date: 2023-12-02 15:58:26 UTC

Some changes to prepare for updated maria-backup

- Updated prototype for is_binary_frm_header().
- Added extra argument to ma_control_file_open().
- Added ma_control_file_open_or_create() for usage by tests.
  (to make test a bit simpler).

bb-10.5-igor 2024-02-26 17:28:35 UTC
MDEV-31276 Wrong warnings on 2-nd execution of PS for query with GROUP_CONCAT

Author: Igor Babaev
Author Date: 2024-02-23 06:58:52 UTC

MDEV-31276 Wrong warnings on 2-nd execution of PS for query with GROUP_CONCAT

If a query with GROUP_CONCAT is executed then the server reports a warning
every time when the length of the result of this function exceeds the set
value of the system variable group_concat_max_len. This bug led to the set
of warnings from the second execution of the prepared statement that did
not coincide with the one from the first execution if the executed query
was a grouping query over a join of tables using GROUP_CONCAT function and
join cache was not allowed to be employed.
The descrepancy of the sets of warnings was due to lack of cleanup for
Item_func_group_concat::row_count after execution of the query.

Approved by Oleksandr Byelkin <sanja@mariadb.com>

knielsen_binlog_in_engine 2024-02-26 12:17:33 UTC
Binlog in Engine: Very first sketch, able to create and write an InnoDB table...

Author: Kristian Nielsen
Author Date: 2024-02-25 16:41:50 UTC

Binlog in Engine: Very first sketch, able to create and write an InnoDB tablespace

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>

bb-11.4-monty 2024-02-26 11:01:38 UTC
Moved test for online alter in connect to separate test

Author: Monty
Author Date: 2024-02-26 11:01:38 UTC

Moved test for online alter in connect to separate test

This was needed as mtr --embedded connect.alter failed as online is
ignored for embedder server.
This fixes a wrong commit 30c965f8664cd0aad44847c0b99b618d385c2ffe

bb-10.6-julius-galera 2024-02-23 13:33:30 UTC
galera: correction after wsrep-lib update

Author: Julius Goryavsky
Author Date: 2024-02-19 17:17:36 UTC

galera: correction after wsrep-lib update

Correction to ensure compatibility with the updated wsrep-lib library.

bb-11.4-vec-vicentiu 2024-02-23 09:46:46 UTC
Vec insert and search working on a multi-layer

Author: Vicențiu Ciorbaru
Author Date: 2024-02-23 09:46:46 UTC

Vec insert and search working on a multi-layer

bb-10.11-MDEV-32898-pkgtest 2024-02-23 08:09:14 UTC
fixup! 4d04025ef98ed82b41aecb4a17c66d96a4a65de6

Author: Marko Mäkelä
Author Date: 2024-02-23 08:09:14 UTC

fixup! 4d04025ef98ed82b41aecb4a17c66d96a4a65de6

Improve tests

bb-10.6-MDEV-32898-pkgtest 2024-02-22 11:53:17 UTC
WIP fix MDEV-26643

Author: Marko Mäkelä
Author Date: 2024-02-22 11:53:17 UTC

WIP fix MDEV-26643

bb-11.4-wlad-MDEV-32841 2024-02-21 19:58:01 UTC
MDEV-32841 Add tests for new counters.

Author: VladislavVaintroub
Author Date: 2024-01-24 18:28:51 UTC

MDEV-32841 Add tests for new counters.

Only add innodb_async_reads/writes_total_count here.
For all other counters, writing reproducible tests is rather tricky.

bb-11.4-password-errors 2024-02-21 16:11:09 UTC
MDEV-23729 INFORMATION_SCHEMA for users locked due to max_password_errors

Author: Nikita Malyavin
Author Date: 2024-02-21 16:11:09 UTC

MDEV-23729 INFORMATION_SCHEMA for users locked due to max_password_errors

bb-11.4-georg 2024-02-21 15:59:50 UTC
test fixes:

Author: Georg Richter
Author Date: 2024-02-21 15:59:50 UTC

test fixes:

Since TLSv1.0 is no longer supported in C/C 3.4, TLS1.0 tests which
were expected to fail are removed.

11.0-MDEV-26603 2024-02-21 10:57:48 UTC
Merge

Author: Marko Mäkelä
Author Date: 2024-02-21 10:57:48 UTC

Merge

Unresolved conflicts: storage/innobase/os/os0file.cc
FIXME: Unchecked return value of log_write_and_flush() in
mtr_t::commit_file()

bb-11.5-mdev-31789-gold 2024-02-21 01:19:26 UTC
MDEV-31789 Deprecate spider_casual_read

Author: Yuchen Pei
Author Date: 2024-02-21 01:19:26 UTC

MDEV-31789 Deprecate spider_casual_read

The corresponding table param was deprecated as part of MDEV-28861

bb-11.5-mdev-28152 2024-02-21 00:19:27 UTC
MDEV-28152 Features for sequences

Author: Yuchen Pei
Author Date: 2024-01-04 01:12:50 UTC

MDEV-28152 Features for sequences

- Add `as <int_type>` to sequence creation options
  - int_type can be signed or unsigned integer types, including
    tinyint, smallint, mediumint, int and bigint
  - Limitation: when alter sequence as <new_int_type>, cannot have any
    other alter options in the same statement
  - Limitation: increment remains signed longlong, and the hidden
    constraint (cache_size x abs(increment) < longlong_max) stays for
    unsigned types. This means for bigint unsigned, neither
    abs(increment) nor (cache_size x abs(increment)) can be between
    longlong_max and ulonglong_max
- Truncating maxvalue and minvalue from user input to the nearest max
  or min value of the type, plus or minus 1. When the truncation
  happens, a warning is emitted
- Information schema table for sequences

bb-11.4-bar-MDEV-12252 2024-02-20 09:49:54 UTC
MDEV-12252 ROW data type for stored function return values

Author: Alexander Barkov
Author Date: 2023-09-25 17:48:01 UTC

MDEV-12252 ROW data type for stored function return values

Adding support for the ROW data type in the stored function RETURNS clause:

- explicit ROW(..members...) for both sql_mode=DEFAULT and sql_mode=ORACLE

  CREATE FUNCTION f1() RETURNS ROW(a INT, b VARCHAR(32)) ...

- anchored "ROW TYPE OF [db1.]table1" declarations for sql_mode=DEFAULT

  CREATE FUNCTION f1() RETURNS ROW TYPE OF test.t1 ...

- anchored "[db1.]table1%ROWTYPE" declarations for sql_mode=ORACLE

  CREATE FUNCTION f1() RETURN test.t1%ROWTYPE ...

Adding support for anchored scalar data types in RETURNS clause:

- "TYPE OF [db1.]table1.column1" for sql_mode=DEFAULT

  CREATE FUNCTION f1() RETURNS TYPE OF test.t1.column1;

- "[db1.]table1.column1" for sql_mode=ORACLE

  CREATE FUNCTION f1() RETURN test.t1.column1%TYPE;

Details:

- Adding a new sql_mode_t parameter to
    sp_head::create()
    sp_head::sp_head()
    sp_package::create()
    sp_package::sp_package()
  to guarantee early initialization of sp_head::m_sql_mode.
  Before this change, this member was not initialized at all during
  CREATE FUNCTION/PROCEDURE/PACKAGE statements, and was not used.
  Now it needs to be initialized to write properly the
  mysql.proc.returns column, according to the create time sql_mode.

- Moving the code from the loop body in sp_rcontext::init_var_items()
  into a separate member Spvar_definition::make_item_field_row(),
  to reuse this code for variable/parameter definitions
  and for the RETURNS clause.

- Changing the data type of sp_head::m_return_field_def
  from Column_definition to Spvar_definition.
  So now it supports not only SQL column field types,
  but also explicit ROW and anchored ROW data types.

- Modifying sql_yacc.yy to support the new grammar.
  Adding new helper methods:
    * sf_return_fill_definition_row()
    * sf_return_fill_definition_rowtype_of()
    * sf_return_fill_definition_type_of()

- Fixing tests in:
  * Virtual_tmp_table::setup_field_pointers() in sql_select.cc
  * Send_field::normalize() in field.h
  to prevent calling Type_handler_row::field_type(),
  which is implemented a DBUG_ASSERT(0).
  Before this patch the affected methods were called only
  for scalar data types. Now ROW is also possible.

- Adding a new virtual method Field::cols()

- Overriding methods:
   Item_func_sp::cols()
   Item_func_sp::element_index()
   Item_func_sp::check_cols()
   Item_func_sp::bring_value()
  to support the ROW data type.

- Extending the rule sp_return_type to support
  * explicit ROW and anchored ROW data types
  * anchored scalar data types

- Overriding Field_row::sql_type() to print
  the data type of an explicit ROW.

bb-11.3-release 2024-02-20 08:32:26 UTC
Merge branch '11.3' into mariadb-11.3.2

Author: Oleksandr "Sanja" Byelkin
Author Date: 2024-02-20 08:32:26 UTC

Merge branch '11.3' into mariadb-11.3.2

11.5-wlad 2024-02-20 01:26:50 UTC
x

Author: VladislavVaintroub
Author Date: 2024-02-20 01:26:50 UTC

x

bb-10.6-todo-4509 2024-02-19 22:38:37 UTC
Trivial fix in my_bitmap.c

Author: Sergey Petrunia
Author Date: 2024-02-19 22:38:37 UTC

Trivial fix in my_bitmap.c

bb-11.4-bar-MDEV-32380 2024-02-19 12:36:58 UTC
MDEV-32380 Array data type for stored routnes

Author: Alexander Barkov
Author Date: 2023-10-07 15:35:18 UTC

MDEV-32380 Array data type for stored routnes

101200 of 2323 results

Other repositories

Name Last Modified
lp:maria 2 hours ago
lp:~maria-captains/maria/+git/connector-c 2018-01-08
12 of 2 results
You can't create new repositories for MariaDB.