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

57 Commits

Author SHA1 Message Date
Aleksei Antipovskii
0ab03c7258 chore(codestyle): mark virtual methods as override 2025-02-21 20:01:34 +04:00
Sergey Zefirov
b53c231ca6 MCOL-271 empty strings should not be NULLs (#2794)
This patch improves handling of NULLs in textual fields in ColumnStore.
Previously empty strings were considered NULLs and it could be a problem
if data scheme allows for empty strings. It was also one of major
reasons of behavior difference between ColumnStore and other engines in
MariaDB family.

Also, this patch fixes some other bugs and incorrect behavior, for
example, incorrect comparison for "column <= ''" which evaluates to
constant True for all purposes before this patch.
2023-03-30 21:18:29 +03:00
Leonid Fedorov
56f2346083 Remove windows ifdefs 2023-03-02 15:59:42 +00:00
mariadb-AndreyPiskunov
06fa57966b Fix typo 2022-09-30 18:26:37 +03:00
mariadb-AndreyPiskunov
680633a350 Fix another 0 count error in dropValue 2022-09-30 18:26:37 +03:00
mariadb-AndreyPiskunov
e7cab8445c Fix the 0 count problem 2022-09-30 18:26:37 +03:00
mariadb-AndreyPiskunov
14810d87ba Put Welford's online algorithm everywhere 2022-09-30 18:26:37 +03:00
mariadb-AndreyPiskunov
14b976991b Remade dropValue 2022-09-30 18:26:37 +03:00
mariadb-AndreyPiskunov
6ffa0000da Online algorithm for regr_sxy 2022-09-30 18:26:37 +03:00
david.hall
05bdddf3a9 MCOL-5092 addendum modify moda() mtr tests with order by
fix an issue in moda() evaluate for string types
2022-08-15 15:50:15 -05:00
Sergei Golubchik
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
David.Hall
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
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
04752ec546 clang format apply 2022-01-21 16:43:49 +00:00
Leonid Fedorov
01f3ceb437 replace header guards with #pragma once 2022-01-21 15:24:58 +00:00
Leonid Fedorov
5c5f103f98 MCOL-4839: Fix clang build (#2100)
* Fix clang build

* Extern C returned to plugin_instance

Co-authored-by: Leonid Fedorov <l.fedorov@mail.corp.ru>
2021-08-23 10:45:10 -05:00
Leonid Fedorov
a2f441cd9c moda returned local object pointer (#2089) 2021-08-18 11:41:07 -05:00
Alexander Barkov
d6e88cd82e MCOL-4693 ColumnStore MTR tests: FUNCTION mcs192_db.CORR does not exist 2021-04-22 18:29:08 +04:00
Alexander Barkov
362bfcd15e MCOL-4361 Replace pow(10.0, (double)scale) expressions with a static dictionary lookup. 2021-04-09 12:41:04 +04:00
Alexander Barkov
ca7a310309 MCOL-4629 Add a helper method mcsv1_UDAF::toDouble() 2021-03-23 13:23:48 +04:00
David Hall
af20387985 MCOL-4516 check for var_pop < 0
In some cases, because of rounding error, var_pop will evaluate to some value just less than 0. We check for this and force to round to 0.
2021-03-09 13:36:10 -06:00
Roman Nozdrin
2c36eedb2b MCOL-4466 regr_count() and distinct_count() now use long long for counters and for a type cast to/from boost::any 2020-12-22 15:53:06 +00:00
Alexander Barkov
129d5b5a0f MCOL-4174 Review/refactor frontend/connector code 2020-11-18 13:53:15 +00:00
Roman Nozdrin
1c3a34a3d0 Dataconvert::decimalToString badly fails w/o 20th member of mcs_pow_10 so I returned it
WF::percentile runtime threw an exception b/c of wrong DT deduced from its argument

Replaced literals with constants

Tought WF_sum_avg::checkSumLimit to use refs instead of values
2020-11-18 13:52:20 +00:00
David Hall
638202417f MCOL-4171 2020-11-18 13:52:19 +00:00
Roman Nozdrin
1c74f80d76 MCOL-4136 This patch makes an explicit dependency on generated errorids.h 2020-08-05 12:22:50 +00:00
David Hall
4f5b56b492 MCOL-4042 cleanup after MODA 2020-06-05 11:52:44 -05:00
Jose
98abf95eae MCOL-3991 MCS is now single package and properly uninstalls 2020-05-12 13:36:24 +00:00
David Hall
d66972d09b MCOL-3837 Optimize the regr_sxx, sxy and syy code a bit 2020-02-25 14:31:44 -06:00
Andrew Hutchings
7489d0bfd0 MCOL-3625 Rename packages
Rename packages to MariaDB-columnstore-engine, MariaDB-columnstore-libs
and MariaDB-columnstore-platform.

Also add the "columnstore-" prefix the the components so that MariaDB's
packaging system understands then and add a line to include them in
MariaDB's packaging.

In addition
* Fix S3 building for dist source build
* Fix Debian 10 dependency issue
* Fix git handling for dist builds
* Add support for MariaDB's RPM building
* Use MariaDB's PCRE and readline
* Removes a few dead files
* Fix Boost noncopyable includes
2019-12-04 11:04:39 +00:00
Andrew Hutchings
8ab9ebb0f4 MCOL-3606 Make ColumnStore use generic paths
ColumnStore now uses standard bin/lib paths for pretty much everything.
Data path is now hard-coded to /var/lib/columnstore.

This patch also:

* Removes v1 decompression
* Removes a bunch of unneeded files
* Removes COLUMNSTORE_INSTALL_DIR / $INSTALLDIR
* Makes my.cnf.d work for all platforms (MCOL-3558)
* Changes configcpp to use recursive mutex (fixes possible config write deadlock)
* Fixes MCOL-3599 Fix regr functions, The library was installed in the wrong location
* Fixes a bunch of Ubuntu packaging issues
* Changes the binary names of several of the executables so as not to
clash with potential executables from other packages
2019-11-09 16:53:05 +00:00
Roman Nozdrin
c0a5b2bc4d Merge pull request #911 from dhall-MariaDB/MCOL-3518
Mcol 3518
2019-10-17 10:53:25 +03:00
David Hall
788d5b4abc Revert "Revert "MCOL-3518 Set number of decimals for regr_avgx and regr_avgy in init.""
This reverts commit d0bb6fddbc.
2019-10-16 10:16:42 -05:00
David Hall
d0bb6fddbc Revert "MCOL-3518 Set number of decimals for regr_avgx and regr_avgy in init."
This reverts commit c5cc5f20c9.
2019-10-16 10:08:47 -05:00
David Hall
c5cc5f20c9 MCOL-3518 Set number of decimals for regr_avgx and regr_avgy in init. 2019-10-16 09:42:25 -05:00
David Hall
c7d594304b MCOL-3503 Use long double arithmetic for tie breaking to avoid integer truncation 2019-10-11 12:05:13 -05:00
Andrew Hutchings
986e5412e0 Fix abs() usage for Ubuntu 18.04
abs(unsigned long long) is not a thing so Ubuntu 18.04 compiling fails.
Using std::fabs() instead which handles this better (casts as double).
2019-10-07 09:26:18 +01:00
David Hall
baf31b64fc MCOL-3505 Add moda to build and mysql.func 2019-09-30 14:16:08 -05:00
David Hall
cbef44a0be MCOL-3503 add MODA aggregate function 2019-09-27 12:22:44 -05:00
Andrew Hutchings
3fef0f21d3 Remove vpj files
They shouldn't be here
2019-09-05 17:38:03 +01:00
Patrick LeBlanc
a09a9d5d0f Mass substitution 'Corporaton' -> 'Corporation' 2019-08-07 14:43:25 -05:00
David Mott
4b9d046c6e Fully resolve potentially ambiguous symbols by removing using namespace statements from headers which have a cascading effect. This causes potential behavior changes when switching to c++11 since symbols can be exported from std and boost while both have been imported into the global namespace. 2019-04-29 01:21:15 -05:00
David Hall
2b9f54d682 MCOL-1985 Server set decimal count for UDF based on both parameters. This doesn't work for regr_avgx and regr_avgy, which only care about one of them. Do our best to handle it reasonably. Still gives unlimited decimals for InnoDB when the unused parameter is not numeric. 2019-04-23 15:41:20 -05:00
David Hall
b38f192e2e MCOL-1985 Don't change umber of decimals if DECIMAL_NOT_SPECIFIED 2019-04-18 13:31:16 -05:00
David Hall
c17e32d5e0 MCOL-1985 Modify regrmysql to use long double where practical and to use the latest algorithms for regr_xxx functions. 2019-04-15 16:36:27 -05:00
David Hall
16a6a0a27c MCOL-1983 Use long double for internal calculations of regr_*** functions. 2019-01-21 14:39:51 -06:00
David Hall
eb75d3cd7e MCOL-1983 Reject non-numeric arguments for regr_*** functions that require numeric 2019-01-02 10:31:53 -06:00
David Hall
e8208d1690 Merge branch 'MCOL-1981' into MCOL-1983 2018-12-13 13:46:12 -06:00
David Hall
86ebce7b39 MCOL-1981 regr_avgx and regr_avgy should return NULL if count is zero 2018-12-10 11:42:01 -06:00
David Hall
0cef3bf31c MCOL-1983 Have regr_intercept, regr_slope and regr_r2 return NULL for 1 or 0 rows in set 2018-11-29 13:31:12 -06:00