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

268 Commits

Author SHA1 Message Date
David Hall
f1b908abeb MCOL-2091 Special UDAF reset code for multi-distinct queries 2019-04-11 15:44:46 -05:00
David Hall
5f76cee5f4 MCOL-2267 allow for long double in row::equals() 2019-04-02 11:36:56 -06:00
Andrew Hutchings
064d2ee9e4 Merge branch 'develop-1.2' into develop-merge-up-20190328 2019-03-28 15:09:21 +00:00
David Hall
3f2c753947 MCOL-1822-c final checkin 2019-03-05 09:33:39 -06:00
David Hall
cf056e42ac Merge branch 'develop-1.2' into MCOL-1822-c 2019-02-27 13:20:45 -06:00
David Hall
c654e8621e MCOL-1822 interim checkin 2019-02-27 13:09:37 -06:00
David Hall
a2aa4b8479 MCOL-1822 Intermediate checkin. DISTINCT not working. 2019-02-25 14:54:46 -06:00
Andrew Hutchings
a955b56f4d Merge branch 'develop-1.2' into develop-merge-up-20190218 2019-02-18 15:55:11 +00:00
David Hall
c5b9ae11e5 MCOL-1822 add LONG DOUBLE support 2019-01-29 09:55:43 -06:00
Roman Nozdrin
6d65b13852 MCOL-901 Significanlty reduced memory consumption for group_concat().
RowGroup default constructor allocates memory too generously.

    Removed commented code from groupconcat.cpp.
2019-01-29 16:02:37 +03:00
Gagan Goel
d1ada75395 MCOL-270 Add support for MEDIUMINT data type 2018-12-30 19:13:16 -05:00
Roman Nozdrin
35a17a87c4 MCOL-1829 Subquery with limited order by could potentially return onordered set.
There were two code mistakes: Eq::operator() always returned true for
	any pair and Hasher::operator() always returned 0 as a key.
2018-12-26 10:39:32 +03:00
Andrew Hutchings
82bd9e29f5 Merge branch 'develop-1.1' into 1.1-merge-up-2018-12-20b 2018-12-20 20:55:00 +00:00
Andrew Hutchings
e4ee1095de Merge branch 'develop-1.1' into 1.1-merge-up-2018-12-20 2018-12-20 20:37:24 +00:00
Andrew Hutchings
7989ccefe0 MCOL-2018 Fix array bounds issue
StringStore NULL check includes a check for _CpNuLl_ in the
StringStore. This is a case should never happen but we keep it just in
case.

Unfortunately this check was skipping 4*8 bytes instead of just 4 bytes.
This is definitely bad behaviour but it could cause an out-of-bounds read
based crash.
2018-12-12 18:06:09 +00:00
David Hall
9c1bc910a5 MCOL-1793, fix REGR_SLOPE calculations, change scale to DECIMAL_NOT_SPECIFIED (variable length) for most REGR_*** functions. 2018-11-20 16:29:17 -06:00
David Hall
d930a1e322 MCOL-521 Some more fixes for multi-parm aggregates. Add regr slope 2018-09-25 16:31:10 -05:00
David Hall
3fac7b1e19 MCOL-521 more multi-param work with constant NULL 2018-09-13 14:12:10 -05:00
Andrew Hutchings
580a3ec123 MCOL-1647 Fix TIME regressions
Fixes the following:

* Read past buffer end in intToDatetime / intToTime
* Allow intToTime to convert datetime
* Allow intToTime to convert shortened time values
* Allow stringToTime to convert datetime and int time values
* Fix saturation / bad values in intToTime and stringToTime
* Fix TIME return in STR_TO_DATE()
* Fix NULL return on type inequality for TIMEDIFF()
* Fix zero day calculation error in ADDTIME()/SUBTIME()
* Fix DATETIME to int calculation error in aggregate bit operations
* Make the new harderning flags optional with -DSECURITY_HARDENED_NEW
2018-08-17 07:55:51 +01:00
Andrew Hutchings
443a2867c4 MCOL-1385 Initial 10.3 support 2018-08-02 14:55:01 +01:00
Roman Nozdrin
bd641301da Merge pull request #504 from mariadb-corporation/1.1-merge-up-20180621
Merge develop-1.1 into develop
2018-07-04 22:52:04 +03:00
Roman Nozdrin
77b52a6a32 MCOL-1446 CS sorting direction aligned with the server`s. 2018-07-03 19:55:30 +03:00
Andrew Hutchings
8c90419852 Fix merge and coding style issues 2018-06-22 15:31:31 +01:00
David Hall
ea70806e93 MCOL-1201 Add support for UDAF multiple parm constants 2018-06-05 14:10:04 -05:00
David Hall
ec3a3846c3 MCOL-1201 manual rebase with develop. Obsoletes branch MCOL-1201 2018-06-05 14:06:58 -05:00
David Hall
06e9772310 MCOL-1201 some fixes from testing 2018-06-05 13:54:17 -05:00
David Hall
6fa7dded6f MCOL-1201 manual rebase with develop. Obsoletes branch MCOL-1201 2018-06-05 13:54:17 -05:00
Andrew Hutchings
1a582eed4a Merge branch 'develop-1.1' into 1.1-merge-up-20180509-a2 2018-05-09 09:20:55 +01:00
Andrew Hutchings
ac3e702a3e MCOL-1396 Allow StringStore to hold more than 2GB
StringStore originally worked by returning a 32bit pointer to a memory
location and storing the length with that pointer. This allowed 4GB to
be stored in 64KB blocks. With 1.1 we used the high bit to signify a
TEXT/BLOB string of > 64KB reducing the max capacity to 2GB but without
any bounds checking.

So, if you went over the 2GB mark the getter would think you are trying
to get a long string instead of a short one and come up empty. It would
then return NULL.

This patch uses 64bit memory points still retaining the high bit to
signify long strings. It also now stores the length with the string
rather than with the pointer to allow the full 64bits for pointers.

It also adds a bounds check for small strings.
2018-05-08 19:38:06 +01:00
Andrew Hutchings
c40903de9b MCOL-392 Apply astyle
Make this branch apply our style guidelines
2018-05-01 09:52:26 +01:00
Andrew Hutchings
dba04e8b72 MCOL-392 Fix cpimport and >8bit positive hour 2018-04-30 09:42:41 +01:00
Andrew Hutchings
edb2e2f36d MCOL-392 Fix negative time handling 2018-04-30 09:42:41 +01:00
Andrew Hutchings
3c1ebd8b94 MCOL-392 Add initial TIME datatype support 2018-04-30 09:42:41 +01:00
Andrew Hutchings
59d0a45da3 Merge branch 'develop-1.1' into 1.1-merge-up 2017-12-12 20:26:00 +00:00
Andrew Hutchings
addd719524 MCOL-1083 Fix NULL row init for TEXT/BLOB
We should have been initalizing TEXT/BLOB 8 byte tokens for NULL,
instead we were initializing the entire length of the TEXT/BLOB which
can do a lot of damage.
2017-12-06 17:08:08 +00:00
Andrew Hutchings
01446d1e22 Reformat all code to coding standard 2017-10-26 17:18:17 +01:00
David Hall
9b6accbdea MCOL-926 Handle NULLs better for UDAF 2017-10-04 11:15:39 -05:00
David Hall
9e841bdc6c MCOL-926 Handle duplicate function detection for UDAF 2017-10-02 15:08:32 -05:00
David Hall
a0b30f904c MCOL-523 Remove un-implemented functions finish(), getRowCnt(), and getRowsInPartition(). 2017-09-07 16:02:36 -05:00
Andrew Hutchings
3f040173d2 MCOL-874 StringStore Mk.3
StringStore as a vector of std::string had a performance regressions and
a rare crash.

This new version of StringStore restores the original StringStore with
the 64KB limitation and adds another vector to store strings that won't
fit into the small string storage.
2017-08-14 21:47:04 +01:00
David Hall
4eafaa8682 MCOL-869 UDAF with other aggregate gives wrong answer 2017-08-11 12:46:19 -05:00
Andrew Hutchings
16ecfb9d6c MCOL-858 Preserve NULs in StringStore deserialize
The fix for MCOL-838 broke VARBINARY as it truncated on the first NUL on
StringStore deserialize. This fix uses append() to force a copy instead
whilst preserving length.

This fixes test012
2017-08-07 19:56:52 +01:00
Andrew Hutchings
3330495a2e MCOL-777 Cleanup source
Clean out autotools and some other things from the source tree.
2017-08-07 15:59:56 +01:00
David Hall
a27d29c909 MCOL-523 std::string can't be SMALL_POLICY in static_any 2017-08-04 12:32:30 -05:00
David Hall
e49edf19c8 MCOL-523 set copyright notices 2017-08-03 11:36:19 -05:00
David Hall
b401a9293c MCOL-523 Add back in initial reset for UDAF calls without GROUP BY 2017-08-02 14:57:07 -05:00
David Hall
bc2a4e7795 MCOL-523 Add UDAF and UDAnF SDK 2017-08-02 11:22:07 -05:00
Andrew Hutchings
cc1cbaa160 MCOL-838 Enforce copy of string in StringStore
Since we aren't using C++11 the deserialize was doing using reference
counts for string copy which occasionally caused a use after free.
2017-07-31 06:38:21 +01:00
Andrew Hutchings
83331f4fa7 MCOL-712 Support TEXT for GROUP BY
Add missing support
2017-05-11 10:32:29 +01:00
Andrew Hutchings
e9db44424c MCOL-642 Separate TEXT from BLOB
* TEXT and BLOB now have separate identifiers internally
* TEXT columns are identified as such in system catalog
* cpimport only requires hex input for BLOB, not TEXT
2017-03-27 21:36:27 +01:00