1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-06-10 17:41:44 +03:00
Commit Graph

99 Commits

Author SHA1 Message Date
b6424480c0 MCOL-1408 Fix HWM calculation for DML & API
HWM for DML and API was being calculated using the first column in a
table instead of the smallest column. This shifts the calculation to the
correct column.
2018-05-29 21:21:38 +01:00
d010397be6 MCOL-1197 Make -c work in cpimport
It turns out -c wasn't actually connected to anything and now with have
BLOB/TEXT it is pretty useful. If -c is set to < 1MB then 1MB is used,
otherwise it will use the selected buffer size.
2018-05-09 14:52:42 +01:00
ae04b8a687 Merge pull request #438 from mariadb-corporation/MCOL-1323
MCOL-1323 cpimport Splitter has incorrect SIGPIPE mapping
2018-04-10 10:55:56 -04:00
dbcbd6c7e7 MCOL-1323 cpimport Splitter has incorrect SIGPIPE mapping 2018-04-04 12:34:17 -05:00
2b944ebe2c Merge branch 'develop-1.1' into MCOL-1160 2018-01-30 15:32:25 -06:00
63f8e1ce71 MCOL-1176 Fix API extent rollover
When the API inserts data into ColumnStore which will roll over into a
new extent that data wasn't being put into the new extent and corruption
occured. This patch now tracks the additional data and inserts it into
the new extent. It also makes sure the LBIDs are stored so that they are
correctly committed.
2018-01-30 11:46:47 +00:00
6211372f61 MCOL-1160 Track and flush dictionary blocks
When bulk write API is used dictionary blocks that are written to needs
flushing in PrimProc. This patch tracks the blocks and flushes them.
2018-01-23 21:17:33 +00:00
5d9f9c819b Merge branch 'develop-1.0' into 1.1-merge-up-20180118 2018-01-18 16:28:08 +00:00
c31c836352 MCOL-1085 Add crash dump to daemons
This patch adds an automated crash dump which logs in
/var/log/mariadb/columnstore/trace/ when one of the ColumnStore daemons
crashes.
2018-01-03 09:20:09 +00:00
8babe4a35d Merge branch 'develop-1.0' into 1.0-merge-up 2017-12-12 10:01:14 +00:00
34799d8d30 MCOL-994 handle a second abbreviated extent in case it moved dbroots because of redistribute remove. 2017-12-07 10:49:51 -06:00
37f673d121 Merge branch 'develop-1.0' into 1.0-merge-up 2017-11-30 15:09:11 +00:00
3d5bd3809c MCOL-444 Truncate UTF8 correctly
cpimport would truncate UTF8 data half way through a character which
would cause problems for functions using that data. This patch
calculates the correct truncation point when inserting the data.
2017-11-29 10:43:57 +00:00
21ca6ca42f MCOL-1021 Fix dictionary de-duplication cache
The signatures were getting destroyed whilst processing before being
used in the dictionary de-duplication cache making the cache full of
empty strings. This fix resets the signature after insertion for the
cache.

This fix also lets the signature cache be read when there is 1000
entries in it.
2017-11-09 17:28:21 +00:00
7aa588f523 MCOL-984 Fix API bulk insert rowID/HWM calulation
The rowID and therefore HWM for an insert was being calculated based on
the first column. If there are smaller columns in the table these will
insert in the middle of blocks instead of creating new blocks. This means
that we would no longer be crash safe and PrimProc gets very confused until
a cache flush.

We now use the smallest column to calculate the rowID and HWM increment
(as cpimport does).
2017-10-26 11:19:41 +01:00
1dc0ea5fb4 MCOL-786 Redistribute: Round robin target dbroots 2017-10-05 15:05:44 -05:00
de919c7f05 MCOL-786 Redistribute: Round robin target dbroots 2017-09-18 12:49:43 -05:00
f8f6f8bdde Fix write API char < 5
We need to cast to a 64bit int, not a size based int.
2017-09-13 17:19:00 +01:00
401e257df3 MCOL-879 Fix QueryStats linking issues
With 1.1 we have removed libdrizzle and used MariaDB's client library
instead for both CrossEngine and QueryStats. Unfortunately MariaDB 10.2
has two client libraries which have different structs with the same
name. When QueryStats was running inside the ColumnStore plugin this
symbol conflict was causing a crash.

The server's built-in client API has several different and several
missing functions so some additions to sm.cpp were made to fill the
gaps.

This patch does the following:

* Make sure that libmariadb is only linked to executables, not the
ColumnStore Plugin (to avoid symbol conflicts). Note that all
executables that link to CrossEngine and/or QueryStats need to link to
libmariadb to avoid missing symbol issues.
* Use the server's built-in client API for QueryStats when run in the
plugin
* Replace missing server built-in client API calls in sm.cpp (this is
for QueryStats and CrossEngine to keep the dynamic linker happy)
* Fixes issue where using 'localhost' as the MariaDB Server hostname
would fail in QueryStats.
2017-08-18 10:16:52 +01:00
3330495a2e MCOL-777 Cleanup source
Clean out autotools and some other things from the source tree.
2017-08-07 15:59:56 +01:00
bc2a4e7795 MCOL-523 Add UDAF and UDAnF SDK 2017-08-02 11:22:07 -05:00
17660aaa54 MCOL-769 Fix data casting issues
Several typos corrupting data, a cleaner method used now
2017-06-27 16:56:01 +01:00
60694a7b72 MCOL-769 Add WE command to get LBIDs written to 2017-06-21 22:39:59 +01:00
736826cbdf MCOL-769 Make sure system catalog is versioned
Otherwise bad things can happen
2017-06-21 10:05:14 +01:00
4cca5fa7fa MCOL-769 Much higher performance bulk insert
Use void* pointers instead of boost::any with lots of copies
2017-06-20 19:08:48 +01:00
44977a8c6b MCOL-769 Add autocommit to condition 2017-06-16 17:55:44 +01:00
e8581e12d3 MCOL-769 Don't use version buffer in I_S mode
We don't need the version buffer in bulk write I_S mode since auto
commit will be on and we use the first empty block.
2017-06-16 17:29:08 +01:00
cb52f1a712 MCOL-769 fix column values
They weren't being reset between columns
2017-06-15 10:24:59 +01:00
8a9c58cf6b MCOL-769 Add new binary bulk insert command
For use with mcsapi and maybe INSERT...SELECT and LDI
2017-06-13 13:19:01 +01:00
cced9222e1 MCOL-710 Fix ALTER TABLE ADD COLUMN for TEXT/BLOB
The column fill didn't detect that this was a TEXT/BLOB column.
2017-05-10 12:03:21 +01:00
a48174de23 MCOL-455: fix crash caused by rewind of unopened redistribute plan file during display when no partitions have been planned to be moved. 2017-04-21 09:48:34 -05:00
e1a71a5628 Merge pull request #154 from mariadb-corporation/MCOL-670
MCOL-670 Fix UPDATE with BLOB/TEXT
2017-04-19 16:56:06 -05:00
785e6c91bd MCOL-670 Fix UPDATE with BLOB/TEXT
* Don't cache > 8000 bytes during update
* Fix PrimProc case where token is used more than once
2017-04-19 22:45:23 +01:00
f251ebccb2 MCOL-669 TEXT cpimport fixes
* 64KB TEXT column had off-by-one length pointer counting
* TEXT I_S/LDI was looping where it shouldn't causing pointer issues
* TEXT data type wasn't fully understood by cpimport
2017-04-19 14:11:21 +01: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
b7a01ce02e MCOL-267 Add blob support for INSERT_SELECT
* Note there is a 1MB buffer limit, rows longer than 512KB will fail (2x
due to hex of blob data)
* cpimport needs to use hex of blob data
2017-03-23 14:04:14 +00:00
1892ac8681 MCOL-267 Bulk write & PrimProc fixes 2017-03-20 21:26:53 +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
aea729fe7d MCOL-267 DML support
* DML writes for multi-block dictionary (blob) now works
* PrimProc fixed so that the first block in multi-block is read
correctly
* Performance optimisation (removed string copy into stack) for new
dictionary entries
2017-03-18 14:31:29 +00:00
c08d03fba4 MCOL-267 Make BLOB DDL/DML work
Currently limited to 8KB inserts.
2017-03-17 12:10:02 +00:00
82c383ac20 MCOL-353 Fix lag at end of cpimport
The end of a cpimport adds a delay which is 1 second multiplied by the
number of PMs. This in-turn is multipled up with the number of
connections/threads causing a long delay when you have several PMs.

The delay is not required as we already have a 20ms delay and we will
re-enter the recv() if there is no data and we are still connected.
2017-03-07 21:29:39 +00:00
80b4d7ee36 MCOL-553 Improve error handling for ulimit
Now sends an error to the error log and aborts postConfigure
2017-02-21 21:10:57 +00:00
739f61a1ef MCOL-553 Error if we can't set file limits
Especially for non-root installs. Otherwise we could be in for some pain
later...
2017-02-08 17:13:30 +00:00
90ba63b929 MCOL-455 spell check 2017-01-20 10:40:58 -06:00
d054d0edc7 MCOL-455 spell check 2017-01-20 10:37:43 -06:00
72436e1d57 MCOL-455: fix crash caused by rewind of unopened redistribute plan file during display when no partitions have been planned to be moved. 2017-01-20 10:20:09 -06:00
faea63b9cb MCOL-455: fix crash caused by rewind of unopened redistribute plan file during display when no partitions have been planned to be moved. 2017-01-20 10:10:24 -06:00
4163f94976 MCOL-353 Fix lag at end of cpimport
The end of a cpimport adds a delay which is 1 second multiplied by the
number of PMs. This in-turn is multipled up with the number of
connections/threads causing a long delay when you have several PMs.

The delay is not required as we already have a 20ms delay and we will
re-enter the recv() if there is no data and we are still connected.
2017-01-17 10:25:59 +00:00
ffcfc41563 MCOL-507 Further ExeMgr performance improvements
This does the following:

* Switch resource manager to a singleton which reduces the amount of
times the XML data is scanned and objects allocated.
* Make the I_S tables use the FE implementation of the system catalog
* Make the I_S.columnstore_columns table use the RID list cache
* Make the extentmap pre-allocate a vector instead of many small allocs
2017-01-16 12:33:27 +00:00
ae630b3375 Merge pull request #89 from mariadb-corporation/MCOL-455
MCOL-455 Change resistribute database logic to move all segment files…
2017-01-09 19:57:04 +00:00