1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2026-10-23 21:49:05 +03:00
Commit Graph

101 Commits

Author SHA1 Message Date
Patrick LeBlanc
2bbc8b81d2 MCOL-3251. Changed the sig of buildOidFileName as per feedback. 2020-03-17 14:51:10 -04:00
Patrick LeBlanc
c4c77ebd8a MCOL-3251
Moved the new logic into we_fileop to maintain existing encapsulation.
2020-03-13 16:02:08 -04:00
Patrick LeBlanc
be398541d2 MCOL-3251. Bad file-not-found error msg from PrimProc
Wrote a different method for PrimProc to use to get filenames.
2020-03-13 16:02:02 -04:00
David.Hall
914f6ea0fc Merge pull request #948 from LinuxJedi/fix-code-errors
MCOL-3621 Fix a few cppcheck issues
Conflicts:
	dbcon/execplan/calpontsystemcatalog.h
	storage-manager/src/SMLogging.cpp
	utils/dataconvert/dataconvert.cpp
	utils/dataconvert/dataconvert.h
	writeengine/bulk/we_colbuf.cpp
2020-02-19 18:00:57 -05:00
Roman Nozdrin
afea63b9a4 Merge pull request #1036 from dhall-MariaDB/MCOL-3663
MCOL-3663 revert to using posix regex for LIKE
2020-02-11 20:44:55 +03:00
David Hall
46e993cba5 MCOL-3663 revert to using posix regex for LIKE 2020-02-10 11:31:44 -06:00
Patrick LeBlanc
5ec2156178 Mass 'Corporaton' -> 'Corporation' substitution in 1.2. 2020-02-10 10:55:43 -05:00
Andrew Hutchings
b2aad72ecc Revert "MCOL-1734 This patch fixes the error for NOT IN + subquery when outer query"
This reverts commit f463679085.
2019-12-18 15:11:30 +02:00
drrtuy
f463679085 MCOL-1734 This patch fixes the error for NOT IN + subquery when outer query
has NULLs in a key column.
 The if statement that decides whether to add the Row into a result set
 or not has a logic error thus produces false positives for the case
 described in MCOL-1734.
2019-12-04 12:27:59 +03:00
David Hall
78eb20ef4e MCOL-1559 remove the #define POSIX_REGEX and thus the use of regexec. Fix up the code changing #ifdef _MSC_VER to #ifdef POSIX_REGEX, where it applies to regexec. 2019-07-24 12:59:59 -05:00
David Hall
b3df052b9f MCOL-1559 only trim on spaces, not on tabs. Don't ask me why that is. 2019-07-05 12:53:01 -05:00
David Hall
474039b6cf MCOL-1559 trim strings before compare on equal operator 2019-06-27 10:18:10 -05:00
Andrew Hutchings
9390ee05fb Revert "MCOL-1559 Some string trailing blank stuff"
This reverts commit e5d76e142b.
2019-05-23 13:49:08 +01:00
Roman Nozdrin
7e2cb05624 MCOL-537 There are no CS-specific warnings building with gcc 8.2. 2019-05-07 16:00:05 +03:00
Roman Nozdrin
9dc33c4e82 Another try to cope with warnings under gcc 8.2. 2019-04-29 11:05:03 +03:00
David Hall
e5d76e142b MCOL-1559 Some string trailing blank stuff 2019-03-28 15:25:49 -06:00
Roman Nozdrin
a0b3424603 MCOL-2244 Columnstore execution threads now have names describe
the threads operation. This should simplify CPU bottlenecks troubleshooting.
2019-03-15 14:34:01 +03:00
David Hall
176ef2f2c1 MCOL-1793 Add udafContext to the copy constructor of WindowFunctionColumn. 2018-11-23 12:42:29 -06:00
Patrick LeBlanc
63bdf451c5 MCOL-1847. Now parsing NumBlocksPct with Config::fromText(). 2018-11-20 13:49:04 -06:00
Patrick LeBlanc
de9dc56f21 MCOL-1847. Made the field parsing a little more paranoid. 2018-11-20 13:00:36 -06:00
Patrick LeBlanc
9363504dd4 MCOL-1847. Addressed feedback from Daniel.
Instead of a seperate param for cache size, we decided
to allow an override of the NumBlocksPct param instead.
If NumBlocksPct ends in an 'm' or a 'g', it will be interpreted
as megabytes or gigabytes instead of a %age.
2018-11-20 12:49:32 -06:00
Patrick LeBlanc
a4f4580f03 Fixed a typo.
Somehow deleted a '}' right before the last commit.  :P
2018-11-19 14:37:39 -06:00
Patrick LeBlanc
39e784abd2 MCOL-1847. Added a config param for PM cache size.
New param is 'NumBlocksInMB', which will be the size
of the block cache in MB.
2018-11-19 14:32:14 -06:00
david hill
101b36acb6 Merge branch 'develop' into MCOL-520 2018-10-08 14:23:48 -05:00
Andrew Hutchings
3fffc75d86 Fix brace merge issue 2018-10-05 21:48:51 +01:00
Andrew Hutchings
f1f13a09d1 Merge branch 'develop-1.1' into 1.1-merge-up-2018-10-05 2018-10-05 18:40:07 +01:00
David Hill
4e6e5647ef MCOL-520 2018-09-21 10:40:05 -05:00
Andrew Hutchings
24c5e93756 MCOL-1737 Add debug logging options for LRU cache
This adds options which are user enabled to debug the LRU cache inside
ColumnStore. Specifically cache flushing.

It adds the following:
* PrimProc flush information when SIGUSR2 mode is enabled
* cpimport dictionary flush information when -d2 is used
* WriteEngineServer DML flush information to STDERR
2018-09-21 09:50:10 +01:00
Andrew Hutchings
03da6df473 Merge branch 'develop-1.1' into 1.1-merge-up-20180817 2018-08-17 16:17:13 +01:00
Andrew Hutchings
4f6949835d MCOL-1037 Fix race condition in FIFO buffer
The FIFO buffer could get data in next() whilst a data swap is happening
due to a rare race condition. This patch adds mutexes around the parts
that could race.

The observed effect of this race was during a complex aggregate query
the results would occasionally be incorrect.

In addition this fixes a race condition in PrimProc's regex processor.
2018-07-11 15:32:27 +01:00
Andrew Hutchings
9e3f92b6a3 MCOL-1330 Make debug flag let valgrind work
Add a '-d' flag to WriteEngine, ExeMgr and PrimProc to let valgrind work
with them.
2018-06-25 15:10:28 +01:00
Andrew Hutchings
8c90419852 Fix merge and coding style issues 2018-06-22 15:31:31 +01:00
Andrew Hutchings
7ca289ded9 Merge branch 'develop-1.1' into 1.1-merge-up-20180621 2018-06-22 14:51:20 +01:00
Andrew Hutchings
40405c792a MCOL-1474 Add error handling to PTP
PriorityThreadPool didn't have very good error handling. If something
failed it would just ignore whatever was being processed. This could
lead to a query continuing without retreiving all of the required data.

This patch adds error handling, sending a message back to the client
and a log message. It also destroys and recreates the pool thread.
2018-06-14 16:28:06 +01:00
David Hall
ea70806e93 MCOL-1201 Add support for UDAF multiple parm constants 2018-06-05 14:10:04 -05:00
Andrew Hutchings
3c1ebd8b94 MCOL-392 Add initial TIME datatype support 2018-04-30 09:42:41 +01:00
Andrew Hutchings
280dcb44bf Merge branch 'develop-1.1' into dev-merge-up-20180409 2018-04-09 19:15:18 +01:00
Andrew Hutchings
44c7693d48 MCOL-1246 Fix typo in boost call 2018-03-09 15:21:53 +00:00
Andrew Hutchings
fa3574b6b1 MCOL-1246 Make matching SQL-92 compliant(ish)
SQL-92 basically specifies for a NOPAD collation that only space should
be ignored for matches. Tabs and other whitespace are handled
differently. We don't fully support collations yet so we assume the
defaults.
2018-03-09 13:08:09 +00:00
Andrew Hutchings
905ce2ce8b MCOL-1246 Fix for non-DSS step
For TEXT columns (and some other scenarios) we don't do a DSS step to
scan dictionaries and do it directly in the BPS step instead. This patch
applies the previous fix to this case too.
2018-03-09 11:14:33 +00:00
Andrew Hutchings
17e954db7d MCOL-1246 Fix string matching for whitespace
For equality string matches other engines ignore trailing whitespace
(this does not apply to LIKE matches). So we should do the same. This
patch trims whitespace for MIN/MAX extent elimination checks, fixed
width columns and dictionary columns during equality matches against
constants (SELECT * FROM t1 WHERE b = 'ABC').
2018-03-07 16:56:42 +00:00
Andrew Hutchings
0d7c0f7ae4 Merge branch 'develop-1.1' into dev-merge-up-20180202 2018-02-02 14:53:36 +00:00
Andrew Hutchings
5d9f9c819b Merge branch 'develop-1.0' into 1.1-merge-up-20180118 2018-01-18 16:28:08 +00:00
Andrew Hutchings
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
Andrew Hutchings
01446d1e22 Reformat all code to coding standard 2017-10-26 17:18:17 +01:00
Andrew Hutchings
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
Andrew Hutchings
05d934f0ab MCOL-744 Fix BPP mutex crash
Whilst very rare we can hit a case where we attempt to unlock objLock
when it is already unlocked. With the Boost version in Ubuntu 16.04 this
triggers an abort() effectively crashing PrimProc.

In this patch we switch to a pthread mutex instead which does not have
this limitation. At a later date we can look into refactoring how BPP
and this mutex works.
2017-08-11 07:21:37 +01:00
Andrew Hutchings
fa17a98d60 MCOL-744 Fix BPP mutex crash
Whilst very rare we can hit a case where we attempt to unlock objLock
when it is already unlocked. With the Boost version in Ubuntu 16.04 this
triggers an abort() effectively crashing PrimProc.

In this patch we switch to a pthread mutex instead which does not have
this limitation. At a later date we can look into refactoring how BPP
and this mutex works.
2017-08-11 07:17:07 +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
f2e7feffd6 Merge pull request #224 from mariadb-corporation/MCOL-857-1.1
MCOL-857 Fix thread leak on ByteStream exception
2017-08-03 12:40:14 -05:00