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
Marko Mäkelä
Create and use backup.cnf; do not copy too much log
Marko Mäkelä
fixup! f2b8d0f8b222d1b439243095f4bd5b1452c81ab8
Marko Mäkelä
Revert "fixup! 5633fc2bf7fd070fd482f60063fd41c3298d36ac"

This reverts commit 5d04c41c3f353c7369fb1b2f16626b587120e31f.
Pekka Lampio
MDEV-38389: Galera test failure on galera_3nodes.galera_vote_majority_dml

Fix the broken Galera MTR test galera_3nodes.galera_vote_majority_dml
by restoring the value of the AUTO_INCREMENT_COUNTER at the end of the
test.
Georg Richter
Backport CONC-805 to 3.3: Fix C23/glibc 2.43 const-correctness errors
Marko Mäkelä
Chase ERROR_ACCESS_DENIED
bsrikanth-mariadb
MDEV-39791: Handle count aggregate optimization for replay purpose

During replay, when get_exact_record_count() is invoked from opt_sum_query(),
hook the recorded table rows from the parsed context for each table,
during the calculation of count.
Sergei Petrunia
Save/restore handler->stats members: data_file_length, index_file_length, mean_rec_length.

This fixes mtr --replay-server innodb_ext_key.
Georg Richter
Merge branch '3.3-buildbot' into 3.3
bsrikanth-mariadb
MDEV-39791: Handle count aggregate optimization for replay purpose

During replay, when get_exact_record_count() is invoked from opt_sum_query(),
hook the recorded table rows from the parsed context for each table,
during the calculation of count.
Sergei Petrunia
MDEV-39506: replay failure in main.group_min_max_innodb

Save/restore statistics for all index key parts, including the
"Extended key" suffix.
Georg Richter
Fix asan error:

Don't initialize mysql connection handle before
checking skip conditions
Razvan Liviu Varzaru
MDBF-1214 Use HEAD for Git source package archives (#312)

MDBF-1214 Clean up and simplify Git source archive generation

Buildbot source package builds can run from a shallow detached checkout
created by fetching a specific commit and checking out FETCH_HEAD. In that
state, git show-branch may not report a branch name, leaving GIT_BRANCH
empty and causing git archive to fail.

To resolve this, archive HEAD directly instead. This packages the commit
that CMake is building, regardless of whether it was checked out from
a branch, tag, or detached CI commit.

Additionally, this simplifies the archive generation logic:
- Combined the duplicated zip archive commands for WIN32 and non-WIN32
  branches into a single command before the platform-specific block.
- On non-Windows platforms, configured git archive to write tar.gz directly,
  eliminating the separate, uncompressed tar and gzip compression step.
Pekka Lampio
MDEV-38389: Galera test failure on galera_3nodes.galera_vote_majority_dml

Fix the broken Galera MTR test galera_3nodes.galera_vote_majority_dml
by restoring the value of the AUTO_INCREMENT_OFFSET at the end of the
test.
Alexey Botchkov
MDEV-37262 XMLISVALID() schema validation function.

XMLISVALID function added to the XMLTYPE plugin.
Michal Schorm
CONC-813, CONC-814 Fix UBSan errors

sint4korr (non-x86 path): the expression
`(int16)(A)[3] << 24` causes signed integer overflow
when byte value >= 128, since 128<<24 exceeds INT32_MAX.
Redefine as `(int32) uint4korr(A)` to compute in unsigned
arithmetic, matching the server (my_byteorder.h:137-140).
The next line sint8korr already uses this same pattern:
`(longlong) uint8korr(A)`.

convert_from_long (MYSQL_TYPE_DOUBLE, MYSQL_TYPE_FLOAT):
casting double/float back to ulonglong/longlong for
truncation detection is undefined when the float value
is outside the representable integer range. For example,
`(double)ULONGLONG_MAX` rounds up to 2^64 in IEEE 754
(not exactly representable with 53-bit mantissa), so
`(ulonglong)dbl` overflows. Similarly for LONGLONG_MAX.
Add range checks before the cast using `>=` for upper
bounds (since the double rounds up past the integer max)
and `<` for LONGLONG_MIN (exactly representable as -2^63).
Out-of-range values set the truncation error flag directly,
short-circuiting the dangerous cast via `||` evaluation.
This matches the server pattern in sql/field.cc and
sql/sql_select.cc (double_to_ulonglong macro).

Co-Authored-By: Claude AI <[email protected]>
bsrikanth-mariadb
When warnings are shown, the captured_opt_ctx is getting cleared

This is a problem when "explain extended" is used, as it shows the
resulting query text after optimization, as a warning.
Sergei Golubchik
MDEV-30041 don't set utf8_is_utf8mb3 by default in the old-mode
Marko Mäkelä
Chase ERROR_ACCESS_DENIED
Sergei Petrunia
Fix replay with main.subselect_mat_cost test

In the context, "rec_per_key" stores doubles, quoted.
Do not attempt to read them as strings.
Razvan Liviu Varzaru
MDBF-1214 Add WITH_{MSAN, ASAN, UBSAN} CMake support (#313)

* MDBF-1214 Add WITH_MSAN CMake support

Declare WITH_MSAN as a regular option for standalone Connector/C
builds.

When enabled directly in Connector/C, append MemorySanitizer compile and
link flags for Debug and RelWithDebInfo builds.

When Connector/C is included as a subproject, keep using the inherited
WITH_MSAN value only for sanitizer-specific linker behavior. This avoids
duplicating sanitizer flags already managed by parent projects.

* MDBF-1214 Add ASAN and UBSAN CMake support

Add standalone Connector/C options for WITH_ASAN and WITH_UBSAN.

Use a shared sanitizer flag helper for Debug and RelWithDebInfo builds,
covering compile flags and executable/shared/module linker flags.

Keep the flag handling disabled for subproject builds so Connector/C++
and ODBC continue to own sanitizer flags for their combined builds.

* MDBF-1214 Refine sanitizer CMake options

Add an opt-in WITH_ASAN_SCOPE option for Clang builds so ASAN can detect stack use after scope without adding the flag to linker options.

Enable MSVC ASAN stack use after return instrumentation and keep incremental linking disabled for those builds.

Reject MSAN when ASAN or UBSAN is also enabled. Remove the redundant ASAN -fPIC flag and keep UBSAN alignment checks enabled.
Georg Richter
bump the version to 3.3.20
Sergei Petrunia
More --disable_replay: join_cache, subselect_mat_cost
bsrikanth-mariadb
MDEV-39791: Handle count aggregate optimization for replay purpose

During replay, when get_exact_record_count() is invoked from opt_sum_query(),
hook the recorded table rows from the parsed context for each table,
during the calculation of count.
Sergei Golubchik
MDEV-30041 don't set utf8_is_utf8mb3 by default in the old-mode
Georg Richter
Merge pull request #301 from heitbaum/patch-1

[CONC-805] fix assignment discards 'const' qualifier
Yuchen Pei
MDEV-15621 Auto add RANGE COLUMNS partitions by interval

Allow auto partitioning by interval in PARTITION BY RANGE COLUMNS

PARTITION BY RANGE COLUMNS (col_name)
INTERVAL interval [AUTO]
(
  PARTITION partition_name VALUES LESS THAN (value)
  [, PARTITION partition_name VALUES LESS THAN (value) ... ]
)

where

- col_name is the name of one column of type DATE or DATETIME or
  TIMESTAMP

- at least one partition is supplied, and the highest partition cannot
  have MAXVALUE range

- INTERVAL interval is a positive time interval. it can be mariadb
  format or oracle NUMTODSINTERVAL/NUMTOYMINTERVAL format. Like
  versioning, the smallest unit is second, i.e. no subsecond like
  microsecond.

- DATE column cannot have interval with values less than a day

When performing DML on such a table, it will first add partitions
by the specified interval until the partition covers the current time.

Partition addition will not cause an implicit commit like DDL normally
does.

The partitions are named pN.

Otherwise the table behaves exactly the same as a normal RANGE COLUMNS
partitioned table.

Note that TIMESTAMP is not allowed as a type for PARTITION BY RANGE
COLUMNS otherwise.
Marko Mäkelä
Create and use backup.cnf; do not copy too much log
bsrikanth-mariadb
MDEV-39538: Different costs when same range is read twice

When same range is used as a filter, once in the outer query block, and
the second inside a sub query such as: -

select * from t1
  where year(a) = 2010 and c < (select count(*) from t1 where year(a) = 2010);

The Optimizer Context had two records for multi_range_read_info_const() call,
but had different cost vector members.
The cause is that the first table considered index-only scan on the range,
while the second considered non-index only scan.

However, when replaying the context, the same range got matched
twice, and the costs corresponding to that got returned twice.
Hence the costs in the explain plan output differed as well.

Solution
========
Include a new field called "call_number", while recording range contexts
into the overall context. This way, we could even match the call_number
and return the appropriate cost during replay.
Alexander Barkov
MDEV-39518 Allow prepared statements in stored functions in assignment right hand

In progress
bsrikanth-mariadb
MDEV-39791: Handle count aggregate optimization for replay purpose

During replay, when get_exact_record_count() is invoked from opt_sum_query(),
hook the recorded table rows from the parsed context for each table,
during the calculation of count.
Georg Richter
Merge branch '3.3' into 3.4
Marko Mäkelä
Create a backup.cnf
Jan Lindström
MDEV-29909 : SST fails when table is defined with DATA DIRECTORY='/path/to' and datafile is larger than datadir space

Problem is that default path for SST is datadir and if there is not
enough space for all datafiles it fails.

In this patch wsrep_sst_tmp_dir configuration parameter is introduced.
User can now configure path where SST transfers datafiles in joiner
while operation is running. Additionally, if available transfer
size is compared to available disk space and if not necessary
big error is produced. When transfer is completed MariaBackup
will move datafiles to their correct locations.

Current rules for wsrep_sst_tmp_dir
* can be nullptr or empty and will not be used
* must be existing path and directory or not used
* may not be same as datadir or not used
* if total estimated SST payload available it should have enough available space
* similar to current behaviour temporal .sst directory is created
on path and this directory is removed after SST has finished