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

295 Commits

Author SHA1 Message Date
6e41b41637 MCOL-4472 Fix up floor() for the new format MariaDB 10.5
In 105, MariaDB expects a new format from floor()
2021-01-08 15:00:31 -06:00
aa5211f192 MCOL-4479 Imported couple functions from boost::math to remove libquadmath dependency 2020-12-30 10:34:50 +00:00
d35002fb65 MCOL-4263 return int for func_floor on datetime
For TIMESTAMP, it should do similar. However, it didn't work. For some reason, MDB has the function set as DATETIME, which for cs, isn't the same thing. Added a kludge to ha_mcs_execplan.cpp to handle it.
2020-12-16 16:23:21 -06:00
069b74563f Move Functor::timeZone() call that utilizes a lock into a block where
timezone is really used
2020-12-07 14:35:30 +00:00
4900559545 MCOL-4323: use vlarray.h 2020-12-02 14:13:05 -06:00
3e9b7b3401 Initial commit for Encode/Decode. 2020-12-01 12:39:56 -06:00
494bde61e1 MCOL-4409 Moved static Decimal conversion methods into VDecimal class
MCOL-4409 This patch combines VDecimal and Decimal and makes
IDB_Decimal an alias for the result class

MCOL-4409 More boilerplate reduction in Func_mod

Removed couple TSInt128::toType() methods
2020-11-30 12:08:52 +00:00
2ea73846b9 MCOL-4422 Remove mariadb.h and my_sys.h dependency from collation.h 2020-11-30 14:26:35 +04:00
454ec4be99 Merge pull request #1613 from tntnatbry/MCOL-641-alter-table-fix
MCOL-641 Fix alter table add wide decimal column.
2020-11-26 18:17:01 +03:00
c5d4a918ee MCOL-4188 Regression fixes for MCOL-641.
1. In TupleAggregateStep::configDeliveredRowGroup(), use
jobInfo.projectionCols instead of jobInfo.nonConstCols
for setting scale and precision if the source column is
wide decimal.

2. Tighten rules for wide decimal processing. Specifically:
  a. Replace (precision > INT64MAXPRECISION) checks with
     (precision > INT64MAXPRECISION && precision <= INT128MAXPRECISION)
  b. At places where (colWidth == MAXDECIMALWIDTH) is not enough to
     determine if a column is wide decimal or not, also add a check on
     type being DECIMAL/UDECIMAL.
2020-11-24 20:15:33 -05:00
995cadef2d MCOL-641 Fix alter table add wide decimal column.
This patch also removes CalpontSystemCatalog::BINARY and
ddlpackage::DDL_BINARY that were added during the initial
stages of the work on MCOL-641.
2020-11-20 19:49:54 -05:00
ba4156fe13 Merge pull request #1607 from drrtuy/MCOL-4394
MCOL-4394 __float128 related code had been moved into a separate file
2020-11-20 11:50:54 +03:00
820703d2d0 Merge pull request #1568 from dhall-MariaDB/MCOL-4255-dev
MCOL-4255 dev fix ROUND(datecolumn)
2020-11-19 18:19:07 -05:00
1b7fea9a12 MCOL-4255 dev fix ROUND(datecolumn)
The behavior of Server changed
2020-11-19 17:10:40 -06:00
178be69bc4 MCOL-4394 __float128 related code had been moved into a separate file
Trim to double and to long double conversions for Decimal
2020-11-19 12:08:18 +00:00
aa44bca473 A pack of fixes for compilation errors and warnings for all platforms
Add libdatatypes.so into debian packaging
2020-11-19 10:21:45 +00:00
58495d0d2f MCOL-4387 Convert dataconvert::decimalToString() into VDecimal and TSInt128 methods 2020-11-18 13:53:16 +00:00
007b8a5082 MCOL-4188 Fix regressions in CEIL()/CHAR() for narrow decimals.
In addition, a regression in a WHERE clause with a WF field
as the LHS and an addition operation on two WF fields on the RHS
is also fixed. The issue was SimpleColumn::getDecimalVal() was
setting precision = 19, with the value of one of the operands of the
addition operation being set in VDecimal::value instead of
VDecimal::s128Value. addSubtractExecute() in mcs_decimal.cpp makes the
assumption that if precision > 18 and precision <= 38, we need to
fetch the wide s128Value, not the narrow value field. So we are
fixing the precision set in SimpleColumn::getDecimalVal().
2020-11-18 13:53:16 +00:00
3eb26c0d4a MCOL-4313 Introduced TSInt128 that is a storage class for int128
Removed uint128 from joblist/lbidlist.*

Another toString() method for wide-decimal that is EMPTY/NULL aware

Unified decimal processing in WF functions

Fixed a potential issue in EqualCompData::operator() for
    wide-decimal processing

Fixed some signedness warnings
2020-11-18 13:53:15 +00:00
129d5b5a0f MCOL-4174 Review/refactor frontend/connector code 2020-11-18 13:53:15 +00:00
8de9764f84 MCOL-4172 Add support for wide-DECIMAL into statistical aggregate and regr_* UDAF functions
The patch fixes wrong results returned when multiple UDAF exist in projection

aggregate over wide decimal literals now works
2020-11-18 13:52:20 +00:00
6aea838360 MCOL-641 Add support for functions (Part 2). 2020-11-18 13:51:55 +00:00
bd0d5af123 Merge fixes. 2020-11-18 13:51:26 +00:00
a7fcf39f2a MCOL-641 Fixed group_concat for narrow-DECIMALs. 2020-11-18 13:51:26 +00:00
3d94ec1568 MCOL-641 Followup on functions commit. 2020-11-18 13:51:25 +00:00
cfe35b5c7f MCOL-641 Add support for functions (Part 1). 2020-11-18 13:51:25 +00:00
b09f3088ca MCOL-641 Initial version of Math operations for wide decimal. 2020-11-18 13:47:44 +00:00
238386bf63 MCOL-641 Replaced IDB_Decima.__v union with int128_t attribute.
Moved all tests into ./test

Introduced ./datatypes directory
2020-11-18 13:47:44 +00:00
97ee1609b2 MCOL-641 Replaced NULL binary constants.
DataConvert::decimalToString, toString, writeIntPart, writeFractionalPart are not templates anymore.
2020-11-18 13:47:44 +00:00
de85e21c38 MCOL-641 This commit cleans up Row methods and adds couple UT for Row. 2020-11-18 13:47:02 +00:00
98213c0094 MCOL-641 Addition now works for DECIMAL columns with precision > 18. 2020-11-18 13:47:01 +00:00
32f6167067 MCOL-641 Work of Ivan Zuniga on basic read and write support for Binary16 2020-11-18 13:47:00 +00:00
b25fee320a Remove variable-length arrays (-Wvla) 2020-11-17 15:03:10 +03:00
0e29b0b0f9 Fix -Wtype-limits 2020-11-17 15:03:10 +03:00
35c4b66a67 MCOL-4144 Enable lower_case_table_names
Create tables and schemas with lower case name only if the flag is set.
During operations, convert to lowercase in plugin. Byt the time a query gets to ExeMgr, DDLProc etc., everything must be lower case if the flag is set, and undisturbed if not.
2020-09-24 15:21:13 -05:00
e44d487011 MCOL-4099 fix range check 2020-08-28 13:46:21 -05:00
de3b2452a1 MCOL-4099 allow insert on first or last char 2020-08-28 10:37:57 -05:00
791ff2bea4 MCOL-4236 DATE is still returned as INT 2020-08-19 14:35:09 -05:00
6075aa337c MCOL-4236 Change ceil(datetime) to return datetime type 2020-08-19 14:29:06 -05:00
7e868bc588 add dependency for generated header files errorids.h messageids.h patch made by Ben. 2020-07-10 18:38:49 +00:00
76cc777204 Merge pull request #1317 from dhall-MariaDB/MCOL-4125
MCOL-4125 CHAR must ignore NULL parameters
2020-06-30 10:56:45 -05:00
1d9b9a1bc8 MCOL-4125 CHAR must ignore NULL parameters 2020-06-29 11:41:59 -05:00
e94306a8d8 Merge pull request #1308 from dhall-MariaDB/MCOL-4099
MCOL-4099 Fix up first char insertion
2020-06-29 10:34:41 -05:00
d840fab5a3 Merge pull request #1309 from dhall-MariaDB/MCOL-4100
MCOL-4100 Use correct collation for certain functions
2020-06-29 10:32:01 -05:00
2ba9263df4 Silence -Werror=implicit-fallthrough compiler errors - Patch from Monty.
The patch also fixes some potential bugs due to missing break
statements.
2020-06-26 12:32:57 -04:00
3f15ed1303 MCOL-4100 Use correct collation for certain functions
LOCATE, INSTR, STRCMP and FIND_IN_SET
2020-06-24 15:32:22 -05:00
9bd4255021 MCOL-4099 Fix up first char insertion 2020-06-24 15:18:03 -05:00
eac7dab096 MCOL-4030: first commit of warning removals unneed const and missing virtual dtors. 2020-06-23 13:51:36 -05:00
5f4aaffd5c Merge pull request #1298 from dhall-MariaDB/MCOL-2221
MCOL-2221 Terminate the buffer
2020-06-19 17:38:35 -05:00
1499433043 MCOL-2221 Terminate the buffer 2020-06-19 17:33:45 -05:00