Gagan Goel
7d3d828790
MCOL-641 This commit fixes regression introduced by an earlier
...
commit for group_concat() on a narrow decimal field.
2020-11-18 13:52:20 +00:00
Roman Nozdrin
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
Roman Nozdrin
f7002e20b5
::writeRow now treats WR_BINARY as int128 for 16 bytes DT only
...
WF avg uses const & as arguments types
Removed BINARY from DDL parser
2020-11-18 13:52:20 +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
c4d8516a47
MCOL-4171 Window functions with decimal(38)
2020-11-18 13:52:19 +00:00
Gagan Goel
62c1c1e0e2
Remove hi_val/lo_val data members from EMCasualPartition_struct
...
and use the union members instead.
2020-11-18 13:52:19 +00:00
Roman Nozdrin
1588ebe439
MCOL-641 Clean up primitives code
...
Add int128_t support into ByteStream
Fixed UTs broken after collation patch
2020-11-18 13:52:19 +00:00
David Hall
638202417f
MCOL-4171
2020-11-18 13:52:19 +00:00
Gagan Goel
d3bc68b02f
MCOL-641 Refactor initial extent elimination support.
...
This commit also adds support in TupleHashJoinStep::forwardCPData,
although we currently do not support wide decimals as join keys.
Row estimation to determine large-side of the join is also updated.
2020-11-18 13:52:19 +00:00
Roman Nozdrin
ca53b6348a
MCOL-641 A bit lost during rebase
2020-11-18 13:51:55 +00:00
Gagan Goel
6aea838360
MCOL-641 Add support for functions (Part 2).
2020-11-18 13:51:55 +00:00
Roman Nozdrin
bd0d5af123
Merge fixes.
2020-11-18 13:51:26 +00:00
Roman Nozdrin
a61c190668
MCOL-641 Remove memset from group_concat.
2020-11-18 13:51:26 +00:00
Roman Nozdrin
778ff607c8
MCOL-641 This commit disables length estimation for DECIMALs.
2020-11-18 13:51:26 +00:00
Roman Nozdrin
a7fcf39f2a
MCOL-641 Fixed group_concat for narrow-DECIMALs.
2020-11-18 13:51:26 +00:00
Roman Nozdrin
f63611c422
MCOL-641 This commit adds support for group_concat w/o ORDER BY.
...
Small refactoring in Row methods.
2020-11-18 13:51:26 +00:00
Roman Nozdrin
21a41738e1
MCOL-641 Simple aggregates works with GROUP BY column keys.
...
Fixed constant colump copy for binary columns in TNS.
2020-11-18 13:51:26 +00:00
Roman Nozdrin
e88cbe9bc1
MCOL-641 Simple aggregates support: min, max, sum, avg for wide-DECIMALs.
2020-11-18 13:51:25 +00:00
Roman Nozdrin
3d94ec1568
MCOL-641 Followup on functions commit.
2020-11-18 13:51:25 +00:00
Gagan Goel
cfe35b5c7f
MCOL-641 Add support for functions (Part 1).
2020-11-18 13:51:25 +00:00
Gagan Goel
554c6da8e8
MCOL-641 Implement int128_t versions of arithmetic operations and add unit test cases.
2020-11-18 13:47:45 +00:00
Roman Nozdrin
b5534eb847
MCOL-641 Refactored MultiplicationOverflowCheck but it still has flaws.
...
Introduced fDecimalOverflowCheck to enable/disable overflow check.
Add support into a FunctionColumn.
Low level scanning crashes on medium sized data sets.
2020-11-18 13:47:45 +00:00
Gagan Goel
74b64eb4f1
MCOL-641 1. Add support for int128_t in ParsedColumnFilter.
...
2. Set Decimal precision in SimpleColumn::evaluate().
3. Add support for int128_t in ConstantColumn.
4. Set IDB_Decimal::s128Value in buildDecimalColumn().
5. Use width 16 as first if predicate for branching based on decimal width.
2020-11-18 13:47:45 +00:00
Roman Nozdrin
0bd172cd6e
MCOL-641 The fix to support recent changes in 10.5.1.
2020-11-18 13:47:44 +00:00
Roman Nozdrin
b09f3088ca
MCOL-641 Initial version of Math operations for wide decimal.
2020-11-18 13:47:44 +00:00
Gagan Goel
62d0c82d75
MCOL-641 1. Templatized convertValueNum() function.
...
2. Allocate int128_t buffers in batchprimitiveprocessor if
a query involves wide decimal columns.
2020-11-18 13:47:44 +00:00
Gagan Goel
9b714274db
MCOL-641 1. Minor refactoring of decimalToString for int128_t.
...
2. Update unit tests for decimalToString.
3. Allow support for wide decimal in TupleConstantStep::fillInConstants().
2020-11-18 13:47:44 +00:00
Roman Nozdrin
2e8e7d52c3
Renamed datatypes/decimal.* into csdecimal to avoid collision with MDB.
2020-11-18 13:47:44 +00:00
Roman Nozdrin
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
Gagan Goel
824615a55b
MCOL-641 Refactor empty value implementation in writeengine.
2020-11-18 13:47:44 +00:00
Roman Nozdrin
97ee1609b2
MCOL-641 Replaced NULL binary constants.
...
DataConvert::decimalToString, toString, writeIntPart, writeFractionalPart are not templates anymore.
2020-11-18 13:47:44 +00:00
drrtuy
b29d0c9daa
MCOL-641 Changed the hint to search for GTest headers.
...
This commit introduces DataConvert UTs.
DataConvert::decimalToString now can negative values.
Next version for Row::toString(), applyMapping UT checks.
Row:equals() is now wide-DECIMAL aware.
2020-11-18 13:47:02 +00:00
Roman Nozdrin
de85e21c38
MCOL-641 This commit cleans up Row methods and adds couple UT for Row.
2020-11-18 13:47:02 +00:00
Gagan Goel
b07db9a8f4
MCOL-641 Basic support for updates.
2020-11-18 13:47:01 +00:00
Roman Nozdrin
31d597d87e
MCOL-641 This commit enables CS to return a warning on non-supported ZEROFILL
...
keyword.
The change potentially replaces tabs with spaces in the bison's ddl.y file.
2020-11-18 13:47:01 +00:00
drrtuy
2eb5af1d24
MCOL-641 This commit adds support for SIGNED and ZEROFILL keywords in
...
CREATE TABLE. ZEROFILL is dummy though.
There is a new file with column width utilities.
Array access was replaced by a variable that is calculated only once in
TupleJoiner::updateCPData.
2020-11-18 13:47:01 +00:00
Gagan Goel
93170c3b31
MCOL-641 Basic support for multi-value inserts, and deletes.
2020-11-18 13:47:01 +00:00
Gagan Goel
55afcd8890
MCOL-641 Basic extent elimination support for Decimal38.
2020-11-18 13:47:01 +00:00
drrtuy
84f9821720
MCOL-641 Switched to DataConvert static methods in joblist code.
...
Replaced BINARYEMPTYROW and BINARYNULL values. We need to have
separate magic values for numeric and non-numeric binary types
b/c numeric cant tolerate losing 0 used for magics previously.
atoi128() now parses minus sign and produces negative values.
RowAggregation::isNull() now uses Row::isNull() for DECIMAL.
2020-11-18 13:47:01 +00:00
drrtuy
0ff0472842
MCOL-641 sum() now works with DECIMAL(38) columns.
...
TupleAggregateStep class method and buildAggregateColumn() now properly set result data type.
doSum() now handles DECIMAL(38) in approprate manner.
Low-level null related methods for new binary-based datatypes now handles magic values for
binary-based DT.
2020-11-18 13:47:01 +00:00
drrtuy
98213c0094
MCOL-641 Addition now works for DECIMAL columns with precision > 18.
2020-11-18 13:47:01 +00:00
drrtuy
54c152d6c8
MCOL-641 This commit introduces templates for DataConvert and RowGroup methods.
2020-11-18 13:47:01 +00:00
drrtuy
0c67b6ab50
MCOL-641 atoi128 now correctly processes decimal point and - signs.
...
There are multiple overloaded version of the low level DML write methods to
push down CSC column type. WE needs the type to convert values correctly.
Replaced WE_INT128 with CSC data type that is more informative.
Removed commented and obsolete code.
Replaced switch-case blocks with oneliners.
2020-11-18 13:47:01 +00:00
Gagan Goel
49a5573418
MCOL-641 Basic support for filtering operations for Decimal38.
2020-11-18 13:47:00 +00:00
Gagan Goel
77e1d6abe3
Basic SELECT support for Decimal38
2020-11-18 13:47:00 +00:00
Roman Nozdrin
c9f42fb5cc
MCOL-641 PoC version for DECIMAL(38) using BINARY as a basis.
2020-11-18 13:47:00 +00:00
Gagan Goel
32f6167067
MCOL-641 Work of Ivan Zuniga on basic read and write support for Binary16
2020-11-18 13:47:00 +00:00
Alexey Antipovsky
ede047f0fa
Fix warnings on CentOS7
2020-11-17 15:03:10 +03:00
Alexey Antipovsky
98b94c0280
Remove deprecated boost::timer
...
Change the only one actual timer to std::chrono::steady_clock
2020-11-17 15:03:10 +03:00
Alexey Antipovsky
c896a50a5d
Add copy assign operator (-Wdeprecated-copy)
2020-11-17 15:03:10 +03:00