drrtuy
d8bef9dc11
fix(UT): added dummy RM ctor to be used with UTs
2025-05-02 10:11:40 +01:00
drrtuy
246c5775a3
chore(TNS): removed extra sorting queue definitions.
2025-05-02 10:11:40 +01:00
drrtuy
42417764d8
chore(): cleanup.
2025-05-02 10:11:40 +01:00
drrtuy
4d32a59775
fix(perf,allocator): reduce CountingAllocator step size to improve its memory consumption reaction speed.
2025-05-02 10:11:40 +01:00
drrtuy
01cc73d416
fix(perf,allocator): test build with reduced CountingAllocator parameter values.
2025-05-02 10:11:40 +01:00
drrtuy
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
Serguey Zefirov
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
drrtuy
a16fbd137b
fix(disk-based-join): this fixes multiple SEGV for disk-based join algo
2025-04-15 15:06:49 +01:00
drrtuy
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
drrtuy
6e98ef3037
chore(): removed extra printout
2025-04-15 15:06:49 +01:00
drrtuy
e4ca7425e2
feat(stats): CES reports table name and HJS reports total matched rows
2025-04-15 15:06:49 +01:00
Leonid Fedorov
432d0cf7f8
fix(build): replace std::ranges usage for gcc9 and std::span with boost::span
2025-04-15 17:58:11 +04:00
Leonid Fedorov
6a712dc0ad
MCOL-5932: fix heap buffer overflow with minimal revert of MCOL-5776 breaking change ( #3445 )
2025-04-15 14:46:25 +01:00
Aleksei Antipovskii
c618fa284d
fix(PrimProc): MCOL-5394 JSON_ARRAYAGG in MCS works differently than in InnoDB
2025-04-11 15:21:07 +02:00
Aleksei Antipovskii
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
Aleksei Antipovskii
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
drrtuy
6b8adb822b
chore(connector): remove unused and disabled group by handler ( #3481 )
2025-04-04 21:27:07 +01:00
drrtuy
c64d4b950f
chore(): fix compilation issue
2025-03-31 22:47:46 +01:00
drrtuy
481267dca8
chore(): reduced error-prone boilerplate for STS functionality
2025-03-31 22:47:46 +01:00
Leonid Fedorov
848f5bf162
fix(joblist,sorting): columnstore_orderby_threads for subquery ( #3079 )
2025-03-28 21:03:31 +04:00
drrtuy
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
drrtuy
b649af5a0c
chore(): merge cleanup
2025-03-27 22:12:48 +00:00
drrtuy
729db829a2
feat(RM,allocators): use atomic counters math abstraction
2025-03-27 22:12:48 +00:00
drrtuy
b14613a66b
fix(aggregation): replaced instances with references
2025-03-27 22:12:48 +00:00
drrtuy
8ca8119f36
fix(TNS): fix for duplicate DISTINCT output
2025-03-27 22:12:48 +00:00
drrtuy
09926b3157
feat(TNS, sorting, distinct): TNS now accounts data used by RGDatas and distinct maps.
2025-03-27 22:12:48 +00:00
drrtuy
c6dabe7eb5
feat(TNS): distribute SortingPQ that supports CountingAllocator
2025-03-27 22:12:48 +00:00
drrtuy
be5711cf0d
feat(): replace getMaxDataSize with getMaxDataSizeWithStrings to accurately account for mem
2025-03-27 22:12:48 +00:00
drrtuy
da28750ffc
fix(TNS): removed optimization
2025-03-27 22:12:48 +00:00
drrtuy
0bfe10a7d0
feat(): use CountingAllocator for DISTINCT
2025-03-27 22:12:48 +00:00
drrtuy
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
drrtuy
a4c4d33ee7
feat(): zerocopy TNS case and JOIN results RGData with CountingAllocator
2025-03-27 22:12:48 +00:00
drrtuy
3dfc8cd454
feat(): first cleanup
2025-03-27 22:12:48 +00:00
drrtuy
4c1d9bceb7
feat(): Replacing STLPoolAllocator with CountingAllocator for in-memory joins
2025-03-27 22:12:48 +00:00
drrtuy
1aa2f3a42b
feat(): TupleHashJoin now handles bad_alloc case switching to disk-based if it is enabled
2025-03-27 22:12:48 +00:00
drrtuy
f594d27685
feat(): accounts hash tables RAM allocations/removes STLPoolAllocator
2025-03-27 22:12:48 +00:00
drrtuy
90b4322470
feat(): propagated changes into SLTPoolAllocator and friends
2025-03-27 22:12:48 +00:00
drrtuy
397b3ff729
feat(): change ref to atomic with ptr to atomic
2025-03-27 22:12:48 +00:00
drrtuy
5f1bd3be12
feat(RGData,StringStore): add counting allocator capabilities to those ctors used in BPP::execute()
2025-03-27 22:12:48 +00:00
drrtuy
02b8ea1331
feat(PP,ByteStream): new counting memory allocator
2025-03-27 22:12:48 +00:00
drrtuy
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
Sergey Zefirov
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
Aleksei Antipovskii
0ab03c7258
chore(codestyle): mark virtual methods as override
2025-02-21 20:01:34 +04:00
Sergey Zefirov
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
Aleksei Antipovskii
23048e9749
fix(aggregation): remove double returnMemory()
2024-12-11 12:02:24 +00:00
Denis Khalikov
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
Aleksei Antipovskii
e0a01c6cf4
Reapply "fix(aggregation, disk-based) MCOL-5691 distinct aggregate disk based ( #3145 )"
...
This reverts commit a5c12b98d7
.
2024-12-11 12:02:24 +00:00
Serguey Zefirov
39a976c39a
fix(ubsan): MCOL-5844 - iron out UBSAN reports
...
The most important fix here is the fix of possible buffer overrun in
DATEFORMAT() function. A "%W" format, repeated enough times, would
overflow the 256-bytes buffer for result. Now we use ostringstream to
construct result and we are safe.
Changes in date/time projection functions made me fix difference between
us and server behavior. The new, better behavior is reflected in changes
in tests' results.
Also, there was incorrect logic in TRUNCATE() and ROUND() functions in
computing the decimal "shift."
2024-12-10 20:30:58 +04:00
drrtuy
aa4bbc0152
feat(joblist,runtime): this is the first part of the execution model that produces a workload that can be predicted for a given query.
...
* feat(joblist,runtime): this is the first part of the execution model that produces a workload that can be predicted for a given query.
- forces to UM join converter to use a value from a configuration
- replaces a constant used to control a number of outstanding requests with a value depends on column width
- modifies related Columnstore.xml values
2024-12-03 22:18:21 +00:00