1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-06-13 16:01:32 +03:00
Commit Graph

1252 Commits

Author SHA1 Message Date
3d068a7263 chore(codemanagement, ci): better coredumps handling, deps fixed 2025-06-09 11:56:32 +00:00
3bd678d93d chore(safety): Locked Map for MessageqCpp with a simpler way
Please enter the commit message for your changes. Lines starting
2025-06-09 11:56:32 +00:00
edfec4220a chore(codemanagement, build): build refactoring stage2 2025-06-09 11:56:32 +00:00
ddfbeb192f Added a more verbose error message to the constructor of the BufferedFile class. 2025-06-09 13:43:36 +04:00
bb833ac9f6 chore(build) : fix debug build with MYSQL_VERSION_ID >= 10090 2025-05-30 19:08:35 +04:00
aa7e0fb9b4 Deep build refactoring phase 1 (#3562)
* configcpp refactored
* logging and datatypes refactored

* more dataconvert
* chore(build): massive removals, auto add files to debian install file
* chore(codemanagement): nodeps headers, potentioal library
* chore(build): configure before autobake
* chore(build): use custom cmake commands for components, mariadb-plugin-columnstore.install generated
* chore(build): install deps as separate step for build-packages
* more deps
* check  debian/mariadb-plugin-columnstore.install automatically
* chore(build): add option for multibracnh compilation
* Fix warning
2025-05-30 14:05:21 +04:00
9038f0df09 feat(plugin): All InnoDB queries are pushed down to Columnstore if columnstore_innodb_queries_uses_mcs = ON in the configuration before server start 2025-05-29 19:05:34 +01:00
5814a80b50 MCOL-4671: MCOL-4622: fix the behavior of both PRs
first was playing different with RIGHT and LEFT functions(using the getUintVal and getIntVal accordingly)
https://github.com/mariadb-corporation/mariadb-columnstore-engine/pull/3234
second introduced round for ints from double, but added it to uint but not to int missing long doubles as well
https://github.com/mariadb-corporation/mariadb-columnstore-engine/pull/3480
2025-05-23 05:12:17 +04:00
842ec9dbff chore(build): fix duplicating hasRollup 2025-05-23 05:12:17 +04:00
3bb2496ca1 fix: MCOL-5755: incorrect handling of BLOB (and TEXT) in GROUP BY
BLOB fields did not work as grouping keys at all, they were assigned
value NULL for any value, be it NULL or not. The fix is in the
rowaggregation.cpp in the initMapping(), a switch/case branch was added
to handle BLOB field copying there.

Also, TEXT columns did not distinguish between NULL and empty string in
the grouping algorithm, now they do. The fix is in the equals()
function, now we specifically check for isNull() equality between
values.
2025-05-23 05:12:17 +04:00
6d1c6d8242 fix(funcexp): MCOL-4671 Fix behaviour of LEFT/RIGHT functions when negative trim length value is passedB 2025-05-23 05:12:17 +04:00
bfe49a8345 bug(priproc) make last_day type a bit more accurate
This fixes discrepance with the server, which assigns DATE type to
last_day()'s result.

Now we also assigns DATE result type and, also, use proper
dataconvert::Day data structure to return date.

Tests agree with InnoDB.

Also, this patch includes test for MCOL-5669, to show we fixed it.
2025-05-23 05:12:17 +04:00
11324c468d feat(primproc,aggregegation)!: Changes for ROLLUP with single-phase aggregation (#3025)
The fix is simple: enable subtotals in single-phase aggregation and
disable parallel processing when there are subtotals and aggregation is
single-phase.
2025-05-23 05:12:17 +04:00
0359a1fd3a chore(server_support): fixes to build columnstore branch with server >= 11.5 2025-05-22 17:14:38 +04:00
bab4578118 bug(memory): add uint128_t specializations for Row::setBinaryField_offset and Row::setBinaryField as we have segfault woth ubsan build 2025-05-21 21:59:08 +04:00
10c2ce0dd5 chore(memory): fix dynamic stack buffer overflow 2025-05-21 21:59:08 +04:00
bd0f59910a feat(PrimProc): MCOL-5950 Improve disk-based aggregation finalization (#3525)
* feat(PrimProc): MCOL-5950 Improve disk-based aggregation finalization

    Iterate over the rows in the plain vector of RGData instead of
    iterating over the hashmap. This reduces the complexity and speeds
    up finalization (by up to the twice in the certain cases)

* replace magic constant with muggle constant
2025-05-21 10:53:48 +01:00
4a8f5830fd chore(build) update boost to 1.88 2025-05-20 21:43:43 +04:00
d09b7496e4 Revert "fix(MCOL-5386): Bitwise aggregation functions do not work with wide d…"
This reverts commit e0f3bf8322.
2025-05-20 19:17:05 +04:00
127dd09a7a fix back statics 2025-05-20 18:22:59 +04:00
6db2dc668f stubs and cmake formatting 2025-05-20 18:22:59 +04:00
2036e521c7 named linkage 2025-05-20 18:22:59 +04:00
af1864f544 feat(memory): custom OOM exception 2025-05-20 18:22:16 +04:00
e9973c46e4 feat(TNS): change ORDER BY out-of-memory error message. Replaced bad_alloc with IDBExcept in TNS. 2025-05-20 18:22:16 +04:00
a1019b7c0e chore(build): refactor main CMakeLists.txt (#3543)
* chore(build): refactor main CMakeLists.txt

* chore(build): fix boost version for packages, set clang-20 only for amd and arm

* chore(build): boost 4 sm

* chore(build): boost dep for rowgroup

* chore(build): toolset for boost

* chore(build): suppress clang warnings for boost

* chore(ci, build): use ASAN for unittest on ubuntu 24.04 only, added custom cmake flag option for bootstrap, custom params for new and existing pipelines

* chore(build): sort bootstrap flags

* chore(CI): remove publish pkg step, adding clickable link instead to publish steps, fix customenv
2025-05-20 05:00:48 +04:00
e0f3bf8322 fix(MCOL-5386): Bitwise aggregation functions do not work with wide decimals (updated previous PR) (#3522)
* fix(MCOL-5386): Bitwise aggregation functions do not work with wide decimals (updated previous PR)

* MCOL-5386: Added test for Decimal(18)
2025-05-19 20:41:28 +01:00
a871f0b820 chore(library): nlohmann::json updated to 3.12 2025-05-15 19:05:38 +04:00
16303bef2b chore(build): clang-20 warnings fixed 2025-05-15 19:05:38 +04:00
fc028983b9 chore(build): more fixes for the new warnings 2025-05-15 19:05:38 +04:00
a0bee173f6 chore(build): fixes to satisfy clang19 warnings 2025-05-15 19:05:38 +04:00
d434b6587a fix(perf,allocator): increased CountingAllocator checkpoint step size up
to 100K
2025-05-02 10:11:40 +01:00
d8bef9dc11 fix(UT): added dummy RM ctor to be used with UTs 2025-05-02 10:11:40 +01:00
d4fe2e7a45 chore(): re-enabled memory accounting for RGData generated by PP::execute() 2025-05-02 10:11:40 +01:00
42417764d8 chore(): cleanup. 2025-05-02 10:11:40 +01:00
4d32a59775 fix(perf,allocator): reduce CountingAllocator step size to improve its memory consumption reaction speed. 2025-05-02 10:11:40 +01:00
01cc73d416 fix(perf,allocator): test build with reduced CountingAllocator parameter values. 2025-05-02 10:11:40 +01:00
252b3ddbef fix(perf,allocator): adding unit test to check CountingAllocator behavior when it is wrapped in STLPoolAllocator 2025-05-02 10:11:40 +01:00
=
671b7301f3 fix(allocator,perf): performance degradation caused by lack of STLPoolAllocator replaced by CountingAllocator 2025-05-02 10:11:40 +01:00
bd1622f331 feat(MCOL-5886): support InnoDB's table partitions in cross-engine joins
The purpose of this changeset is to obtain list of partitions from
SELECT_LEX structure and pass it down to joblist and then to
CrossEngineStep to pass to InnoDB.
2025-04-23 08:24:10 +03:00
a16fbd137b fix(disk-based-join): this fixes multiple SEGV for disk-based join algo 2025-04-15 15:06:49 +01:00
c9f9cf8988 fix(CES): Server doesn't terminate MDB client connection that it did previously delivering incomplete result set 2025-04-15 15:06:49 +01:00
432d0cf7f8 fix(build): replace std::ranges usage for gcc9 and std::span with boost::span 2025-04-15 17:58:11 +04:00
aa5f4fc5e7 fix(aggregation): fix dumping RGDatas to disk
`amount` parameter of `RGData::serialize` is the raw size of `rowData`
buffer without StringStore/UserDataStore/etc
2025-04-11 15:21:07 +02:00
21ebd1ac20 feat(bytestream): serialize long strings in the common way 2025-04-11 15:21:07 +02:00
4bea7e59a0 feat(PrimProc): MCOL-5852 disk-based GROUP_CONCAT & JSON_ARRAYAGG
* move GROUP_CONCAT/JSON_ARRAYAGG storage to the RowGroup from
  the RowAggregation*
* internal data structures (de)serialization
* get rid of a specialized classes for processing JSON_ARRAYAGG
* move the memory accounting to disk-based aggregation classes
* allow aggregation generations to be used for queries with
  GROUP_CONCAT/JSON_ARRAYAGG
* Remove the thread id from the error message as it interferes with the mtr
2025-04-11 15:21:07 +02:00
87d47fd7ae fix(PrimProc): MCOL-5852 use only long string storage
for the group_concat data to reduce memory usage
2025-04-11 15:21:07 +02:00
a6ab9bd615 fix(funcexp): MCOL-5386 Bitwise aggregation functions do not work with wide decimals (internal error) (#3485) 2025-04-08 16:47:47 +01:00
c64d4b950f chore(): fix compilation issue 2025-03-31 22:47:46 +01:00
481267dca8 chore(): reduced error-prone boilerplate for STS functionality 2025-03-31 22:47:46 +01:00
a329f4d428 Fix(MCOL-4607): SEC_TO_TIME(wideDecimal) returns 0 in DECIMAL context (#3474) 2025-03-31 15:05:07 +01:00