1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-08 14:22:09 +03:00
Commit Graph

6336 Commits

Author SHA1 Message Date
Leonid Fedorov
e4ed920812 Merge pull request #2281 from drrtuy/vscode-gitignore
Vscode gitignore
2022-02-22 15:32:22 +03:00
Roman Nozdrin
e35ed08098 Another portion of vscode-specific dynamic files/paths to ignore 2022-02-22 12:26:05 +00:00
Roman Nozdrin
2d4b3a8d0d Merge pull request #2277 from mariadb-corporation/bootstrap-centos
Bootstrap centos
2022-02-22 12:48:31 +02:00
Roman Nozdrin
1b95061731 Merge pull request #2274 from mariadb-corporation/openssl3
OpenSSL 3 support for Columnstore
2022-02-22 11:04:32 +02:00
benthompson15
4b412d4e09 MCOL-4940: test case for ROUND fix (#2271) 2022-02-21 16:09:31 -06:00
Leonid Fedorov
45733c421a openSUSE bootstrap fix 2022-02-21 15:11:31 +03:00
Leonid Fedorov
0b0efe3386 Centos Bootstrap fixes 2022-02-21 14:19:19 +03:00
Leonid Fedorov
b5ccd52c09 OpenSSL 3 support for Columnstore 2022-02-18 14:07:23 +00:00
Roman Nozdrin
3ad3e4a9c5 Merge pull request #2275 from mariadb-corporation/arm-arn-fix
chars are unsigned on arm by default
2022-02-18 15:52:47 +02:00
Leonid Fedorov
6b1c696991 chars are unsigned on arm y default 2022-02-17 23:18:27 +00:00
Roman Nozdrin
9a0bfa012d Merge pull request #2273 from mariadb-corporation/bootstrap_imporve
Some bootstrap refines
2022-02-17 19:09:13 +02:00
Leonid Fedorov
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
Leonid Fedorov
29752afc77 Some bootstrap refines 2022-02-17 09:50:51 +00:00
Roman Nozdrin
15a87ee510 Merge pull request #2257 from tntnatbry/MCOL-4957
MCOL-4957 Fix performance slowdown for processing TIMESTAMP columns.
2022-02-16 19:46:57 +02:00
Roman Nozdrin
11945d7346 Merge pull request #2266 from mariadb-corporation/try-to-fix-gcc-12
MCOL-4962 fixing GCC12 compilation complains about wrong return type
2022-02-16 18:00:20 +02:00
Leonid Fedorov
757aa0bd73 Bootstrap (#2264)
Development bootstrap script re-factoring patch
2022-02-16 18:56:21 +03:00
Leonid Fedorov
9b686c04e1 wrong return type 2022-02-15 14:23:08 +00:00
Roman Nozdrin
c186449388 Merge pull request #2260 from mariadb-corporation/armfix
fix arm build with enum KIND
2022-02-15 16:05:29 +03:00
Gagan Goel
973e5024d8 MCOL-4957 Fix performance slowdown for processing TIMESTAMP columns.
Part 1:
 As part of MCOL-3776 to address synchronization issue while accessing
 the fTimeZone member of the Func class, mutex locks were added to the
 accessor and mutator methods. However, this slows down processing
 of TIMESTAMP columns in PrimProc significantly as all threads across
 all concurrently running queries would serialize on the mutex. This
 is because PrimProc only has a single global object for the functor
 class (class derived from Func in utils/funcexp/functor.h) for a given
 function name. To fix this problem:

   (1) We remove the fTimeZone as a member of the Func derived classes
   (hence removing the mutexes) and instead use the fOperationType
   member of the FunctionColumn class to propagate the timezone values
   down to the individual functor processing functions such as
   FunctionColumn::getStrVal(), FunctionColumn::getIntVal(), etc.

   (2) To achieve (1), a timezone member is added to the
   execplan::CalpontSystemCatalog::ColType class.

Part 2:
 Several functors in the Funcexp code call dataconvert::gmtSecToMySQLTime()
 and dataconvert::mySQLTimeToGmtSec() functions for conversion between seconds
 since unix epoch and broken-down representation. These functions in turn call
 the C library function localtime_r() which currently has a known bug of holding
 a global lock via a call to __tz_convert. This significantly reduces performance
 in multi-threaded applications where multiple threads concurrently call
 localtime_r(). More details on the bug:
   https://sourceware.org/bugzilla/show_bug.cgi?id=16145

 This bug in localtime_r() caused processing of the Functors in PrimProc to
 slowdown significantly since a query execution causes Functors code to be
 processed in a multi-threaded manner.

 As a fix, we remove the calls to localtime_r() from gmtSecToMySQLTime()
 and mySQLTimeToGmtSec() by performing the timezone-to-offset conversion
 (done in dataconvert::timeZoneToOffset()) during the execution plan
 creation in the plugin. Note that localtime_r() is only called when the
 time_zone system variable is set to "SYSTEM".

 This fix also required changing the timezone type from a std::string to
 a long across the system.
2022-02-14 14:12:27 -05:00
Roman Nozdrin
a15eef06ab Merge pull request #2261 from mariadb-corporation/debian-control-10.8
deb dependency 10.8
2022-02-13 18:26:33 +03:00
mariadb-RomanNavrotskiy
d8751adf2a deb dependency 10.8 2022-02-12 21:33:30 +02:00
Leonid Fedorov
cad6736d64 enum for SIMD out of ifdef 2022-02-11 18:18:23 +03:00
David Hall
27dea733c5 MCOL4841 dev port run large join without OOM 2022-02-09 17:33:55 -06:00
David Hall
d30e140dc3 Merge branch 'develop' of github.com:mariadb-corporation/mariadb-columnstore-engine into develop 2022-02-08 14:48:41 -06:00
Leonid Fedorov
f67a37bcae Merge pull request #2247 from drrtuy/bootstrap-script
build dir clean-up and initial MCS bootstrap script version to simpli…
2022-02-08 17:38:15 +03:00
Roman Nozdrin
8ba4920b32 build dir clean-up and initial MCS bootstrap script version to simplify onboarding 2022-02-08 17:14:49 +03:00
David Hall
c4db823ba7 Merge branch 'develop' of github.com:mariadb-corporation/mariadb-columnstore-engine into develop 2022-02-07 12:20:17 -06:00
Roman Nozdrin
bbef475598 Merge pull request #2249 from drrtuy/MCOL-4809-float-develop
MCOL-4809 This patch adds support for float data types filtering and …
2022-02-04 19:58:28 +03:00
benthompson15
64a6b8a041 MCOL-4965: upgrade breaks trying to use deprecated autoConfigure executable. (#2243) 2022-02-03 16:41:43 -06:00
Roman Nozdrin
b5d500e97b MCOL-4094 shell test argument quotation fix (#2246)
Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>
2022-02-03 16:14:47 -06:00
Roman Nozdrin
c79dfc4925 MCOL-4809 This patch adds support for float data types filtering and scanning vectorization 2022-02-03 16:38:56 +00:00
Roman Nozdrin
5f948bce52 Merge pull request #2235 from mariadb-corporation/valut_mirror
Replace mirror to vault due end of life of Centos8
2022-02-03 16:56:06 +03:00
Leonid Fedorov
bbd609585f Replace mirror to vault due end of life of Centos8 2022-02-01 21:25:51 +00:00
benthompson15
36775168d3 MCOL-4940: getLongDoubleVal was not handling all colDataType correctly (#2229) 2022-01-31 13:46:13 -06:00
Roman Nozdrin
a65b03e222 Merge pull request #2137 from mariadb-corporation/clang-format
Introduced clang-format
2022-01-24 17:32:44 +03:00
Leonid Fedorov
04752ec546 clang format apply 2022-01-21 16:43:49 +00:00
Leonid Fedorov
6b6411229f build fixes 2022-01-21 16:34:04 +00:00
Leonid Fedorov
5af2e70712 circular header fixe 2022-01-21 15:24:58 +00:00
Leonid Fedorov
01f3ceb437 replace header guards with #pragma once 2022-01-21 15:24:58 +00:00
Leonid Fedorov
ab449ebcc0 .clang-format 2022-01-21 15:24:58 +00:00
Roman Nozdrin
489ae80b56 Merge pull request #2223 from drrtuy/MDEV-27519-crc32-dev
MDEV-27519 CRC32() upon Columnstore table returns a wrong value
2022-01-21 17:27:22 +03:00
Marko Mäkelä
15da99477e MDEV-27519 CRC32() upon Columnstore table returns a wrong value
Func_crc32::getIntVal(): Support the 2-ary CRC32() variant (MDEV-27208).
Also, do not assume that the string contains no NUL bytes.
2022-01-21 09:35:19 +00:00
Roman Nozdrin
cc850bfe08 Merge pull request #2221 from mariadb-corporation/develop-10.8
upd branch mapping: add 10.8
2022-01-19 21:42:22 +03:00
mariadb-RomanNavrotskiy
121c359238 upd branch mapping: add 10.8 2022-01-19 13:29:46 +02:00
Roman Nozdrin
91b38d279d Merge pull request #2217 from drrtuy/develop-version-8
Bumped VERSION to 8.1.1
2022-01-18 12:48:30 +03:00
Roman Nozdrin
f58c930e92 Bumped VERSION to 8.1.1 2022-01-18 08:35:09 +00:00
Roman Nozdrin
7cfcdf365d Merge pull request #2211 from drrtuy/MCOL-4899-dev
MCOL-4899 MCS now applies a correct collation running IN for characte…
2022-01-06 21:08:11 +03:00
Roman Nozdrin
29f3fea118 Merge pull request #2213 from tntnatbry/MCOL-4936
MCOL-4936 Disable binlog for DML statements.
2022-01-06 13:17:29 +03:00
Roman Nozdrin
05897948e4 MCOL-4899 MCS now applies a correct collation running IN for character data types 2022-01-05 12:00:01 +00:00
Gagan Goel
195425924d MCOL-4936 Disable binlog for DML statements.
DML statements executed on the primary node in a ColumnStore
cluster do not need to be written to the primary's binlog. This
is due to ColumnStore's distributed storage architecture.

With this patch, we disable writing to binlog when a DML statement
(INSERT/DELETE/UPDATE/LDI/INSERT..SELECT) is performed on a ColumnStore
table. HANDLER::external_lock() calls are used to
  1. Turn OFF the OPTION_BIN_LOG flag
  2. Turn ON the OPTION_BIN_TMP_LOG_OFF flag
in THD::variables.option_bits during a WRITE lock call.

THD::variables.option_bits is restored back to the original state
during the UNLOCK call in HANDLER::external_lock().

Further, isDMLStatement() function is added to reduce code verbosity
to check if a given statement is a DML statement.

Note that with this patch, not writing to primary's binlog means
DML replication from a ColumnStore cluster to another ColumnStore
cluster or to another foreign engine will not work.
2022-01-04 17:31:59 +00:00