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

158 Commits

Author SHA1 Message Date
1c297b9e9e feat(): dangling pointer/ref issue has been solved for both RGData and BS 2024-12-13 15:56:28 +00:00
fac7dfa552 feat(): change ref to atomic with ptr to atomic 2024-12-09 10:38:11 +00:00
789a382be2 feat(): use boost::make_shared b/c most distros can't do allocate_shared for array types. 2024-12-03 22:40:53 +00:00
5383e7c5a2 feat(RGData,StringStore): add counting allocator capabilities to those ctors used in BPP::execute() 2024-11-30 18:51:29 +00:00
51374aef4d feat(PP,ByteStream): new counting memory allocator 2024-11-22 10:11:37 +00:00
66b450026e fix: MCOL-4696: get rid of boost::iequals to avoid using system collation (#3281)
Co-authored-by: Leonid Fedorov <leonid.fedorov@mariadb.com>
2024-08-17 21:10:43 +01:00
4c3274affb MCOL-5500 Remove another noisy printout. (#2887)
Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>
2023-06-29 15:42:54 +03:00
f387219de0 MCOL-5500 Remove noisy printout from CGroupConfigurator method 2023-06-19 11:23:50 +00:00
06364513fa MCOL-5500 This patch adds cgroup v2 support with some sanity checks for (#2850)
values reported by cgroups v1
2023-06-09 17:37:32 +03:00
030144127e Remove boost shared array [develop 23.02] (#2812)
* remove boost/shared_array include

* replace boost::shared_array<T> to std::shared_ptr<T[]>
2023-04-17 20:56:09 +03:00
2f153184c3 Fixes of bugs from ASAN warnings, part one (#2796) 2023-03-30 18:29:04 +03:00
56f2346083 Remove windows ifdefs 2023-03-02 15:59:42 +00:00
f7118b53a8 Turn on ASAN for unitests (#2719)
Fix asan error on compression tests
Fix warn of nonreturn function
2023-02-02 15:08:01 +02:00
d42485656c Fix clang 16 warnings for comfort build 2023-01-12 22:11:28 +03:00
d22627af7d Merge pull request #2566 from denis0x0D/MCOL-5191_1
MCOL-5191 Add MCV statistics.
2022-10-30 15:49:46 +03:00
a0086bc561 Adding NULL flag into ConstString class 2022-10-21 18:13:18 +00:00
e299a8409d MCOL-5191 Add MCV statistics.
This patch adds:
1. Initial version of random sampling.
2. Initial version of MCV statistics.
2022-10-09 22:26:40 +03:00
7d76dc4534 AUX column scan(MCOL-5021) effectively disables vectorized scanning on
ARM platforms. This patch resolves this issue and unifies AUX column
processing at x86 and ARM using tempate class SimdProcessor.
The patch also replaces uint16_t mask previously used in column.cpp and
SimProcessor code with a native masks that platform uses, e.g. __m128i
or __m128 on x86 and variety of masks on ARM.
To unify the processing I introduced a new filtering Compare Operator - COMPARE_NULLEQ.
with a 'c1 IS NULL semantics'.
2022-10-07 10:32:54 +00:00
72e264e8ef MCOL-5199 This patch solves the overal performance degradation introduced with a new way of char columns hashing
in aggregation code
The patch disables padding that forces hasher to calculate over the whole 2k buffer. This patch also moves hashing code
into the common place where it belongs.
2022-08-24 19:07:06 +00:00
a7a9ccf889 Serg dev (#2504)
* more build dependencies

* fix for cmake < 3.11

It cannot do ADD_LIBRARY(... ALIAS ...) on IMPORTED targets

* another fix for cmake 3.10.2

It doesn't know about CMAKE_CXX_STANDARD=20,
let's add the correct flag manually

* gcc 8 on aarch64

utils/common/simd_arm.h:241:16: error: need ‘typename’ before ‘simd::TypeToVecWrapperType<T>::WrapperType’ because ‘simd::TypeToVecWrapperType<T>’ is a dependent scope
2022-08-15 13:35:30 +03:00
2020f35e88 Mcol 5092 MODA uses wrong column width for some types (#2450)
* MCOL-5092 Ensure column width is correct for datatype
                       Change MODA return type to STRING
                       Modify MODA to handle every numeric type
* MCOL-5162 MODA to support char and varchar with collation support

Fixes to the aggregate bit functions
When we fixed the storage sign issue for MCOL-5092, it uncovered a problem in the bit aggregates (bit_and, bit_or and bit_xor). These aggregates should always return UBIGINT, but they relied on the type of the argument column, which gave bad results.
2022-08-11 15:16:11 -05:00
dd96e686c0 MCOL-5153 This patch replaces MDB collation aware hash function with the (#2488)
exact functionality that does not use MDB hash function.
This patch also takes a bit from Robin Hood hash map implementation forgotten
that reduces hash function collision rate.
2022-08-07 02:36:03 +03:00
c3a5731890 Rename cmpGt2 2022-08-04 16:16:38 +03:00
24b2c1c283 Vectorizing min/max for KIND_TEXT 2022-08-04 16:16:38 +03:00
c4798ce585 fix 2022-08-04 16:16:38 +03:00
19ca844cd1 support_max_min 2022-08-04 16:16:38 +03:00
589b786fda Don't ignore null or empty in calculation 2022-08-04 16:16:38 +03:00
20f48fd730 Vectorized update min max 2022-08-04 16:16:38 +03:00
b8200acd3b Don't ignore null or empty in calculation 2022-08-04 16:16:38 +03:00
1681edaca0 Tests for simd min/max 2022-08-04 16:16:38 +03:00
9930d0dedd Vectorized update min max 2022-08-04 16:16:38 +03:00
df431ebad9 MCOL-5093 This patch raises the hardcoded service start TO up to 2 hours (#2469) 2022-07-22 12:25:24 -05:00
194f0e9d64 ci: new builds grid, parallel steps 2022-07-08 22:30:02 +02:00
d451b5c7c5 fix 2022-06-24 18:06:04 +08:00
4c0b8fd829 simd of arm neon
unit testing

pass unit test for simdprocessor

add test cases

implement specific _mm_movemask for different types

float movemask change

rename
2022-06-24 11:24:59 +08:00
6d47529499 Merge branch 'develop' into MCOL-4841 2022-06-14 14:41:41 -05:00
272246e9fa Merge branch 'develop' into MCOL-4841 2022-06-09 16:58:33 -05:00
3b6449842f Merge branch 'develop' into MCOL-4841
# Conflicts:
#	exemgr/main.cpp
#	oam/etc/Columnstore.xml.singleserver
#	primitives/primproc/primproc.cpp
2022-06-09 10:07:26 -05:00
7c9da5709d MCOL-5105 This patch raises pipe read operation timeout to 20 minutes
to enable DMLProc to survive rollbacks on startup.
The patch also fixes linter warnings in service.h and pipe.h.
2022-06-09 14:34:50 +00:00
4e50fca460 Merge pull request #2401 from denis0x0D/statistic_man
StatisticsManager initialize all plugins.
2022-06-03 15:41:28 +05:30
6c0ebd568b StatisticsManager initialize all plugins.
This patch adds support for initializing all plugins in the system.
2022-05-31 12:42:00 +03:00
c25ae4f378 Use external boost 1.78 2022-05-02 18:23:37 +00:00
5820a21e19 Merge pull request #2331 from drrtuy/MCOL-5001-pp-em-combo-merge-1
Mcol 5001 pp em combo merge 1
2022-04-13 15:16:18 +03:00
e174696351 MCOL-5001 This patch merges ExeMgr and PrimProc runtimes
EM and PP are most resource-hungry runtimes.
        The merge enables to control their cummulative
        resource consumption, thread allocation + enables
        zero-copy data exchange b/w local EM and PP facilities.
2022-04-04 11:46:33 +00:00
7cdc914b4e MCOL-4809 This patch introduces vectorized scanning/filtering for short CHAR/VARCHAR columns
Short CHAR/VARCHAR column values contain integer-encoded strings.
    After certain manipulations(orderSwap(strnxfrm(str))) the values
    become integers that preserve original strings order relation
    according to a certain translation rules(collation). Prepared
    values are ready to be SIMD-processed.
2022-04-01 10:28:33 +00:00
65252df4f6 C++20 fixes 2022-03-28 12:32:29 +00:00
ba0306e5ce Fix build with Server 10.7 and newer. Its kinda hack, but works, can be reverted, when server fix thier code 2022-03-16 15:43:02 +00:00
53b9a2a0f9 MCOL-4580 extent elimination for dictionary-based text/varchar types
The idea is relatively simple - encode prefixes of collated strings as
integers and use them to compute extents' ranges. Then we can eliminate
extents with strings.

The actual patch does have all the code there but miss one important
step: we do not keep collation index, we keep charset index. Because of
this, some of the tests in the bugfix suite fail and thus main
functionality is turned off.

The reason of this patch to be put into PR at all is that it contains
changes that made CHAR/VARCHAR columns unsigned. This change is needed in
vectorization work.
2022-03-02 23:53:39 +03:00
3919c541ac New warnfixes (#2254)
* Fix clang warnings

* Remove vim tab guides

* initialize variables

* 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length

* Fix ISO C++17 does not allow 'register' storage class specifier for outdated bison

* chars are unsigned on ARM, having  if (ival < 0) always false

* chars are unsigned by default on ARM and comparison with -1 if always true
2022-02-17 13:08:58 +03:00
cad6736d64 enum for SIMD out of ifdef 2022-02-11 18:18:23 +03:00