1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00
Commit Graph

56 Commits

Author SHA1 Message Date
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
56f2346083 Remove windows ifdefs 2023-03-02 15:59:42 +00:00
06fa57966b Fix typo 2022-09-30 18:26:37 +03:00
680633a350 Fix another 0 count error in dropValue 2022-09-30 18:26:37 +03:00
e7cab8445c Fix the 0 count problem 2022-09-30 18:26:37 +03:00
14810d87ba Put Welford's online algorithm everywhere 2022-09-30 18:26:37 +03:00
14b976991b Remade dropValue 2022-09-30 18:26:37 +03:00
6ffa0000da Online algorithm for regr_sxy 2022-09-30 18:26:37 +03:00
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
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
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
04752ec546 clang format apply 2022-01-21 16:43:49 +00:00
01f3ceb437 replace header guards with #pragma once 2022-01-21 15:24:58 +00:00
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
a2f441cd9c moda returned local object pointer (#2089) 2021-08-18 11:41:07 -05:00
d6e88cd82e MCOL-4693 ColumnStore MTR tests: FUNCTION mcs192_db.CORR does not exist 2021-04-22 18:29:08 +04:00
362bfcd15e MCOL-4361 Replace pow(10.0, (double)scale) expressions with a static dictionary lookup. 2021-04-09 12:41:04 +04:00
ca7a310309 MCOL-4629 Add a helper method mcsv1_UDAF::toDouble() 2021-03-23 13:23:48 +04:00
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
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
129d5b5a0f MCOL-4174 Review/refactor frontend/connector code 2020-11-18 13:53:15 +00:00
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
638202417f MCOL-4171 2020-11-18 13:52:19 +00:00
1c74f80d76 MCOL-4136 This patch makes an explicit dependency on generated errorids.h 2020-08-05 12:22:50 +00:00
4f5b56b492 MCOL-4042 cleanup after MODA 2020-06-05 11:52:44 -05:00
98abf95eae MCOL-3991 MCS is now single package and properly uninstalls 2020-05-12 13:36:24 +00:00
d66972d09b MCOL-3837 Optimize the regr_sxx, sxy and syy code a bit 2020-02-25 14:31:44 -06:00
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
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
c0a5b2bc4d Merge pull request #911 from dhall-MariaDB/MCOL-3518
Mcol 3518
2019-10-17 10:53:25 +03:00
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
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
c5cc5f20c9 MCOL-3518 Set number of decimals for regr_avgx and regr_avgy in init. 2019-10-16 09:42:25 -05:00
c7d594304b MCOL-3503 Use long double arithmetic for tie breaking to avoid integer truncation 2019-10-11 12:05:13 -05:00
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
baf31b64fc MCOL-3505 Add moda to build and mysql.func 2019-09-30 14:16:08 -05:00
cbef44a0be MCOL-3503 add MODA aggregate function 2019-09-27 12:22:44 -05:00
3fef0f21d3 Remove vpj files
They shouldn't be here
2019-09-05 17:38:03 +01:00
a09a9d5d0f Mass substitution 'Corporaton' -> 'Corporation' 2019-08-07 14:43:25 -05:00
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
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
b38f192e2e MCOL-1985 Don't change umber of decimals if DECIMAL_NOT_SPECIFIED 2019-04-18 13:31:16 -05:00
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
16a6a0a27c MCOL-1983 Use long double for internal calculations of regr_*** functions. 2019-01-21 14:39:51 -06:00
eb75d3cd7e MCOL-1983 Reject non-numeric arguments for regr_*** functions that require numeric 2019-01-02 10:31:53 -06:00
e8208d1690 Merge branch 'MCOL-1981' into MCOL-1983 2018-12-13 13:46:12 -06:00
86ebce7b39 MCOL-1981 regr_avgx and regr_avgy should return NULL if count is zero 2018-12-10 11:42:01 -06:00
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
ed43876695 MCOL-1793 Refactor to handle another edge case. Also fix CORR and reset 2018-11-28 15:49:34 -06:00