1
0
mirror of https://github.com/MariaDB/server.git synced 2026-10-25 06:59:51 +03:00

1985 Commits

Author SHA1 Message Date
Oleksandr Byelkin
71dd635f68 Merge tag '12.3' into 13.0 2026-09-04 12:14:15 +02:00
Oleksandr Byelkin
f860f2a937 Merge branch '11.8' into 12.3 2026-08-20 08:27:14 +02:00
Oleksandr Byelkin
3b8db45403 Merge branch '11.4' into 11.8 2026-08-19 11:28:01 +02:00
Oleksandr Byelkin
170b1d7073 Merge branch '10.11' into 11.4 2026-08-19 08:40:05 +02:00
Oleksandr Byelkin
e2b15641ec Merge branch '10.6' into 10.11 2026-08-19 08:13:54 +02:00
Sergei Golubchik
851f52470d MDEV-40678 mysql_json plugin OOB reads 2026-08-09 09:53:09 +02:00
Sergei Golubchik
0931994096 MDEV-40670 qc_info OOB read if query contains \0
qc_info cannot parse query cache key, this cannot be done
without changing query cache key format.

let's limit the (possibly incorrect) db_length to make sure
it does not extend beyond the db name end, this way there will be no
OOB reads and no information leak.
2026-08-07 22:54:50 +02:00
Sergei Golubchik
69ce9cbcc2 MDEV-40658 file_key_management crash on empty FILE: file 2026-08-06 20:49:23 +02:00
Teemu Ollakka
af9e20aac1 wsrep_info MTR: disable SSL by default for SST 2026-08-04 15:09:08 +03:00
Oleksandr Byelkin
c57069561c New CC 3.4 2026-07-31 10:38:14 +02:00
forkfun
1a4bb1bbfd Merge branch '12.3' into '13.0' 2026-07-30 16:15:40 +02:00
forkfun
33240f3c96 Merge branch '11.8' into '12.3' 2026-07-30 11:41:55 +02:00
forkfun
eaca80bf32 Merge branch '11.4' into '11.8' 2026-07-29 12:27:46 +02:00
Alexey (Holyfoot) Botchkov
2883bccc7d MDEV-39683 Numeric aggregates should end up with an error for xmltype.
Appropriate xxx_fix_length_and_dec() added to the Type_handler_xmltype.
2026-07-29 07:09:39 +03:00
Alexey (Holyfoot) Botchkov
48f28e51b0 MDEV-39654 No warning after CAST( AS xmltype).
Warning added.
2026-07-29 07:09:39 +03:00
forkfun
08eeb6a417 Merge branch '10.11' into '11.4' 2026-07-28 13:14:38 +02:00
Sergei Golubchik
3f6f51e662 MDEV-40425 handlersocket crashes on read with huge number of fields
* fix handlersocket to unlink it's THD, this apparently was broken
  for years
* add a check for fldnum
* add a first ever handlersocket test
2026-07-24 17:06:40 +02:00
Sergei Golubchik
03a9678f15 MDEV-39841 handlersocket plugin default secret is empty
if handlersocket_plain_secret is not specified, generate a random one.
one can still set an empty secret in my.cnf if needed.
2026-07-24 17:06:40 +02:00
forkfun
ad7f29afb3 Merge branch 10.6 into 10.11 2026-07-23 11:12:27 +02:00
Daniel Black
1e972a8d70 Merge 10.11 into 11.4 2026-07-14 12:49:36 +10:00
Vladislav Vaintroub
1088d51f66 MDEV-34074 server_audit crashes in get_loc_info() with NULL loc_info
THDVAR(thd, loc_info) can return NULL if the plugin was previously
uninstalled. get_loc_info() and its callers dereferenced it.

Guard against a NULL loc_info in get_loc_info(), auditing() and
log_current_query(). Such a session is not audited.
2026-07-06 12:01:04 +03:00
Vladislav Vaintroub
0579ceb68d MDEV-37187 hashicorp plugin: avoid expensive clock() in hot path
The plugin used clock() only to timestamp cache entries and measure
elapsed time against millisecond timeouts. As shown in MDEV-12345,
clock() is prohibitively expensive, and we do not need per-thread or
per-process CPU time here, only time differences.

Replace clock()/clock_t with the monotonic std::chrono::steady_clock.
Timeouts are kept as std::chrono::milliseconds
2026-06-30 12:19:26 +03:00
Alexander Barkov
19ca85156a MDEV-40155 Weak REF CURSOR without RETURN is not opened using a dynamic SQL statement
This statement:
  OPEN c FOR 'dynamic sql'
was only allowed for SYS_REFCURSOR.

Additionally allow it for REF CURSOR with no RETURN clause, e.g.:
  TYPE cur0_t IS REF CURSOR; -- No RETURN clause - OK for OPEN FOR

Note, REF CURSORs with RETURN clause are still not allowed for dynamic OPEN,
as expected.
2026-06-29 17:01:34 +04:00
Sergei Golubchik
9cc1471be8 fix plugins.feedback_os_release failure on sles-1600
just the comment at the beginning of its /etc/os-release
is already more than 256 bytes
2026-06-27 13:12:30 +10:00
forkfun
5ce03b5806 Merge branch '12.3' into '13.0' 2026-06-24 17:31:40 +02:00
forkfun
3170875cb6 Merge branch '11.8' into '12.3' 2026-06-24 12:27:13 +02:00
forkfun
867d16cea7 Merge branch '11.4' into '11.8' 2026-06-23 12:52:39 +02:00
Sergei Golubchik
0bf0e13a22 MDEV-40058 cached_sha2_password crashes on zero-length password
valid encrypted password cannot have zero length and must end with '\0'
2026-06-17 16:46:39 +02:00
Oleksandr Byelkin
9f98f82b14 Merge branch '11.8' into 12.3 2026-05-26 21:15:58 +02:00
Oleksandr Byelkin
e3d0d66f5b Merge branch 'bb-12.3-release' into bb-13.0-release 2026-05-26 20:40:49 +02:00
Oleksandr Byelkin
fc65e7e12a Merge branch 'bb-11.8-release' into bb-12.3-release 2026-05-26 20:40:41 +02:00
Sergei Golubchik
46a8eb42a5 fix plugins.feedback_os_release failure on sles-1600
just the comment at the beginning of its /etc/os-release
is already more than 256 bytes
2026-05-24 11:53:55 +02:00
Oleksandr Byelkin
f572addcc1 Merge branch '12.3' into 13.0 2026-05-22 09:52:05 +02:00
Oleksandr Byelkin
3f388a1cce Merge branch '11.8' into 12.3 2026-05-22 09:27:18 +02:00
Alexey Botchkov
6b79d98fc0 MDEV-39653 AddressSanitizer: heap-use-after-free in my_mb_wc_latin1/../Field_xmltype::store after invalid xml.
The Field_blob::store can affect the 'from' argument so it can't be used
after it.
2026-05-20 10:25:47 +04:00
Alexey Botchkov
6e20438a1c MDEV-39599 AddressSanitizer: heap-use-after-free in escape_string_for_mysql after sp with invalid xml (xmltype)).
Test case added.
2026-05-16 11:18:56 +04:00
Alexey Botchkov
c9421c80ff MDEV-39592 ALTER.. with xmltype silently overwrites row with prior rows data.
tests added.
2026-05-15 23:50:27 +04:00
Alexey Botchkov
6dcd3c9dc0 MDEV-39589 Wrong results with xmltype as a virtual column.
Store value in the XML column even if an error happened.
2026-05-15 20:00:01 +04:00
Alexey Botchkov
2c7c7e1216 MDEV-39573 Server crashes in Item_char_typecast::fix_length_and_dec_internal after select xmltype.
Charset specified for XMLTYPE constructor.
Error returned if XML is in UTF16/UTF32 as we can't parse it yet.
XML check added so only well-formed allowed.
2026-05-15 17:02:33 +04:00
Alexey Botchkov
49b2fd7f9e MDEV-39575 Protocol::end_statement(): Assertion `0' failed after insert into xmltype union of valid and invalid xml.
Field_xmltype::store has to do the my_error when it gets invalid XML,
  just the warning with the -1 return results in the DBUG_ASSERT.

Also the UpdateXML function result reverted back to the STRING as
it can legally produce invalid XML, so we can't have columns built
from the UpdateXML to be XMLTYPE.
2026-05-15 13:46:27 +04:00
Alexey Botchkov
66632eb126 MDEV-39570 LeakSanitizer: detected memory leaks after insert with xmltype
XML parser should always be freed.
2026-05-13 14:49:09 +04:00
Alexey Botchkov
181f13ec49 MDEV-39536 ASAN heap-buffer-overflow in process_str_arg upon ER_TRUNCATED_WRONG_VALUE "Incorrect XML value".
XML should be prepared before inserting it into the error message.
2026-05-10 14:29:02 +04:00
Alexey Botchkov
4c371e30f0 MDEV-38809 RBR fails upon DML with XML type.
Add Field_xmltype::rpl_conv_type_from() function to control
replication data types.
2026-05-08 14:09:25 +04:00
Oleksandr Byelkin
9cb70f0220 Merge branch '11.4' into 11.8 2026-05-08 08:11:03 +02:00
Oleksandr Byelkin
7598e4e95d Merge branch '10.11' into 11.4 2026-05-08 08:00:01 +02:00
Alexander Barkov
96b3dd0c34 MDEV-39546 Unclear error message on OPEN strict_cursor FOR 'stmt'
This statement:
  OPEN strict_cursor_variable FOR 'SELECT ...';
caused an unclear error message:

ERROR 4078: Illegal parameter data types row<2> and row<0> for operation 'OPEN..FOR'

Fixing the error to be clearer:
ERROR HY000: Incorrect usage of c0 and OPEN..FOR <dynamic string>

Note, this statement is not supported:
  OPEN strict_cursor_variable FOR 'SELECT ...';

It can be rewritten:
- either to use a SELECT statement instead of the dynamic string:
    OPEN strict_cursor_variable FOR SELECT ...;
- or to make c0 a weak cursor variable (i.e.without the RETURN clause)
    OPEN weak_cursor_variable FOR 'SELECT ...';
2026-05-07 16:26:18 +04:00
Yuchen Pei
fd93184bc2 MDEV-38752 Check that virtual column is a supertype to its expression before substitution
New optimizations were introduced that substitute virtual column
expressions (abbr. vcol expr) with index virtual columns (abbr. vcol
field) in ORDER BY and GROUP BY.

In this patch we introduce checks that the type of a vcol field is the
supertype to its vcol expr, and if not, do not proceed the
optimization. This ensures that the substitution is safe and does not
for example lose information due to truncation.

For simplicity, the version of the check implemented is strict with
100% precision, meaning that there are instances where vcol field is a
supertype to vcol expr, but the check returns false.

Type not covered in tests: Type_handler_null

Thanks to Jarir Khan <kjarir23@gmail.com> for initial patches
addressing this issue.
2026-05-06 11:35:09 +10:00
Marko Mäkelä
e13d89949c Merge 12.3 into main 2026-05-05 13:14:42 +03:00
Daniel Black
7efbb0d0b2 MDEV-38913: pam_mariadb_mtr.so installation path change
This reverts the effect of MDEV-21654 and includes
pam_mariadb_mtr in the mariadb-test-data Deb package.

This allows our CI systems to run tests on the
pam implementation on Debian systems.

As the pam configuration can include a full path,
we've change the installation of the pam module
pam_mariadb_mtr.so to under the /usr/lib*/plugins/test_pam_modules
directory and configured the pam configuration file,
suite/plugins/pam/mariadb_mtr, to include the
full path to pam_mariadb_mtr.so.
2026-05-03 19:17:17 +10:00
Sergei Golubchik
26606cefdc MDEV-39141 MariaDB crashes in THD::THD() due to misalignment
fix alloc_root() and my_malloc() to return 16-aligned pointers

(type_assoc_array.sp-assoc-array-64bit prints changes in memory_used,
and my_malloc() uses more memory now)
2026-04-30 21:55:42 +02:00