1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00
Commit Graph

1697 Commits

Author SHA1 Message Date
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
6e98ef3037 chore(): removed extra printout 2025-04-15 15:06:49 +01:00
e4ca7425e2 feat(stats): CES reports table name and HJS reports total matched rows 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
6a712dc0ad MCOL-5932: fix heap buffer overflow with minimal revert of MCOL-5776 breaking change (#3445) 2025-04-15 14:46:25 +01:00
c618fa284d fix(PrimProc): MCOL-5394 JSON_ARRAYAGG in MCS works differently than in InnoDB 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
3e20a3d566 MCOL-5890: DROP TABLE IF EXISTS should not generate errors for non existing tables 2025-04-08 20:30:01 +04:00
b8c0b74f2b fix(funexp): MCOL-4622 Implicit FLOAT->INT and DOUBLE->INT conversion is not like in InnoDB (#3480) 2025-04-04 21:28:16 +01:00
6b8adb822b chore(connector): remove unused and disabled group by handler (#3481) 2025-04-04 21:27:07 +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
848f5bf162 fix(joblist,sorting): columnstore_orderby_threads for subquery (#3079) 2025-03-28 21:03:31 +04:00
d1de121476 fix(): periodically return from UM JOIN loop that can produce a lot of RGData-s and thus overcommit for RAM 2025-03-27 22:12:48 +00:00
b649af5a0c chore(): merge cleanup 2025-03-27 22:12:48 +00:00
729db829a2 feat(RM,allocators): use atomic counters math abstraction 2025-03-27 22:12:48 +00:00
b14613a66b fix(aggregation): replaced instances with references 2025-03-27 22:12:48 +00:00
8ca8119f36 fix(TNS): fix for duplicate DISTINCT output 2025-03-27 22:12:48 +00:00
09926b3157 feat(TNS, sorting, distinct): TNS now accounts data used by RGDatas and distinct maps. 2025-03-27 22:12:48 +00:00
c6dabe7eb5 feat(TNS): distribute SortingPQ that supports CountingAllocator 2025-03-27 22:12:48 +00:00
be5711cf0d feat(): replace getMaxDataSize with getMaxDataSizeWithStrings to accurately account for mem 2025-03-27 22:12:48 +00:00
da28750ffc fix(TNS): removed optimization 2025-03-27 22:12:48 +00:00
0bfe10a7d0 feat(): use CountingAllocator for DISTINCT 2025-03-27 22:12:48 +00:00
7ad4022d96 fix(): remove an additional and errenous CountingAllocator for RGData so it does not throw at an unexpected spot 2025-03-27 22:12:48 +00:00
a4c4d33ee7 feat(): zerocopy TNS case and JOIN results RGData with CountingAllocator 2025-03-27 22:12:48 +00:00
3dfc8cd454 feat(): first cleanup 2025-03-27 22:12:48 +00:00
4c1d9bceb7 feat(): Replacing STLPoolAllocator with CountingAllocator for in-memory joins 2025-03-27 22:12:48 +00:00
1aa2f3a42b feat(): TupleHashJoin now handles bad_alloc case switching to disk-based if it is enabled 2025-03-27 22:12:48 +00:00
f594d27685 feat(): accounts hash tables RAM allocations/removes STLPoolAllocator 2025-03-27 22:12:48 +00:00
90b4322470 feat(): propagated changes into SLTPoolAllocator and friends 2025-03-27 22:12:48 +00:00
397b3ff729 feat(): change ref to atomic with ptr to atomic 2025-03-27 22:12:48 +00:00
5f1bd3be12 feat(RGData,StringStore): add counting allocator capabilities to those ctors used in BPP::execute() 2025-03-27 22:12:48 +00:00
02b8ea1331 feat(PP,ByteStream): new counting memory allocator 2025-03-27 22:12:48 +00:00
16904ab97d chore(compilation): fix to satisfy specific warning 2025-03-27 21:35:11 +04:00
87981483e2 chore(compilation): to resolve unexpected boost warnings 2025-03-27 21:35:11 +04:00
9b272f59d2 fix(DEC): DEC now sends multiple acks with the correct number of msgs acked to facilitate ControlFlow using same node communication bypass. (#3345) 2025-03-19 12:24:05 +00:00
230506b996 fix(MCOL-5396): Fix possible infinite loop in plugin--PrimProc communication
If you manage to shut down PrimProc just before plugin is trying to send
Calpont Select Execution Plan to PrimProc, you now get a nice error
message about PrimProc being down instead of endless logs of failed
reconnection attempts.
2025-03-11 09:38:18 +03:00
3b2f9f5344 fix(plugin): MCOL-4942 No-table-SELECT now can return empty set (#3413)
The query like "SELECT 1 WHERE 1=0" was returning a row despite
unsatisfiable condition in WHERE. Now it returns an empty set.
2025-03-05 07:35:00 +00:00
cbf4fef47c more overrides 2025-02-21 20:01:34 +04:00
a4c1e2cbcb add missing override 2025-02-21 20:01:34 +04:00
0ab03c7258 chore(codestyle): mark virtual methods as override 2025-02-21 20:01:34 +04:00
d5dcae52cb fix(BRM): MCOL-5879 DBRM::clearShm runs crit sections w/o sync mechanism (#3391) 2025-02-20 16:33:44 +00:00
6e539b8336 fix(MCOL-5889): Improper handle of DOUBLE result type with DECIMAL arguments
Sometimes server assigns DOUBLE type for arithmetic operations over
DECIMAL arguments. In this rare case width of result was incorrectly
adjusted and it triggered an assertion.

Now width of result gets adjusted only if result type is also DECIMAL.
2025-02-12 18:41:55 +04:00
9618ff5e61 compilation fixes for MDEV-34811 handlerton (#3341)
Co-authored-by: Leonid Fedorov <79837786+mariadb-LeonidFedorov@users.noreply.github.com>
2025-01-12 16:08:34 +04:00
d7cfa15d2a fix(client): MCOL-5587: Add quick-max-column-width for maridb clients.
This changeset enables quick (mariadb -q) mode when columnstore is
installed. Quick mode precludes client CLI program from storing too
much data in memory, preventing out of memory conditions.
Add quick-max-column-width=0 to prevent extra garbage dashes in output.
2024-12-22 16:59:13 +04:00
60dc7550f1 fix(group by, having): MCOL-5776: GROUP BY/HAVING closer to server's (#3371)
This patch introduces an internal aggregate operator SELECT_SOME that
is automatically added to columns that are not in GROUP BY. It
"computes" some plausible value of the column (actually, last one
passed).

Along the way it fixes incorrect handling of HAVING being transferred
into WHERE, window function handling and a bit of other inconsistencies.
2024-12-20 19:11:47 +00:00
23048e9749 fix(aggregation): remove double returnMemory() 2024-12-11 12:02:24 +00:00
928678499a fix(aggregation, RAM): MCOL-5715 Changes the second phase aggregation. (#3171)
This patch changes the second phase aggregation pipeline - takes into
account current memory consumption.

Co-authored-by: Leonid Fedorov <79837786+mariadb-LeonidFedorov@users.noreply.github.com>
Co-authored-by: drrtuy <roman.nozdrin@mariadb.com>
2024-12-11 12:02:24 +00:00