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

120 Commits

Author SHA1 Message Date
c5b9ae11e5 MCOL-1822 add LONG DOUBLE support 2019-01-29 09:55:43 -06:00
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
82bd9e29f5 Merge branch 'develop-1.1' into 1.1-merge-up-2018-12-20b 2018-12-20 20:55:00 +00:00
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
443a2867c4 MCOL-1385 Initial 10.3 support 2018-08-02 14:55:01 +01:00
77b52a6a32 MCOL-1446 CS sorting direction aligned with the server`s. 2018-07-03 19:55:30 +03:00
1a582eed4a Merge branch 'develop-1.1' into 1.1-merge-up-20180509-a2 2018-05-09 09:20:55 +01:00
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
01446d1e22 Reformat all code to coding standard 2017-10-26 17:18:17 +01:00
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
e49edf19c8 MCOL-523 set copyright notices 2017-08-03 11:36:19 -05:00
bc2a4e7795 MCOL-523 Add UDAF and UDAnF SDK 2017-08-02 11:22:07 -05:00
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
b1d04c04fb MCOL-267 Fix LONGBLOB issues
* Set max column length to a little under 2.1GB in DDL
* Fix token edge case
* Re-write RowGroup string handling to take more than 64KB in one string
2017-03-21 17:22:31 +00:00
093aa377e5 MCOL-267 multi-block support for PrimProc and bulk
* Adds multi-block bulk write support
* Adds PrimProc multi-block read support
* Allows the functions length() and hex() to work with BLOB columns
2017-03-20 18:32:24 +00:00
27e5995cd3 MCOL-267 Add basic engine support
This patch adds enough support so that cross engines joins with blob
columns in the foreign engines will work. The modifications are as
follows:

* Add CrossEngine support for non-NULL-terminated (binary) data
* Add row data support for blobs (similar to varbinary)
* Add engine support for writing out blob data correctly to the storage
engine API
* Re-enable blob support in the engine plugin
2017-03-17 09:27:50 +00:00
a1eb952332 MCOL-352 Fix VARCHAR with no NUL
It is possible to have a VARCHAR column that isn't NUL terminated, an
example of this is a union of two CHAR columns. So the length should
always act as a terminator when there is no NUL.
2016-10-26 17:07:15 +01:00
55858d9eb0 MCOL-5 - chnage for ubunut build 2016-07-11 17:15:16 -05:00
b1b60065d9 build fails with boost linking errors 2016-06-03 13:55:09 +03:00
f6afc42dd0 the begginning 2016-01-06 14:08:59 -06:00