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

1187 Commits

Author SHA1 Message Date
Andrew Hutchings
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
David Hall
5f828fbc36 MCOL-480 remove the annoying warning log message. This code path is normal and shouldn't log anyything. 2017-03-14 14:29:11 -05:00
david hill
2d8797f2bd change snmpmanager to alarmmanager 2017-03-14 09:07:23 -05:00
David Hall
88a372c671 MCOL-513 Use vector ref for join to prevent vector copy. 2017-02-20 11:45:29 -06:00
David Hall
def06be564 MCOL-513 Use vector ref for join to prevent vector copy. 2017-02-20 11:43:46 -06:00
David Hall
59f984c3ca MCOL-513 Comment spelling 2017-02-17 10:45:59 -06:00
David Hall
87a679e6eb MCOL-513 use a single funcor per thread. ThreadPool was doing one at a time anyway, but in a convpluted way that made it easier to add more if wanted. But it was expensive. Cleanup and polish. 2017-02-17 09:46:42 -06:00
David Hall
e09b7e10c5 MCOL-513 Threadpool to unlimited threads when queuesize = 0. Idle down after 10 minutes 2017-02-13 11:56:28 -06:00
David Hall
c2344accc9 MCOL-513 clean up and test thread pool for ExeMgr 2017-02-09 18:00:00 -06:00
David Hall
29785cf202 MCOL-480 remove the annoying warning log message. This code path is normal and shouldn't log anyything. 2017-02-09 18:00:00 -06:00
Andrew Hutchings
00adccdcaa MCOL-317 Fix out of tree builds
Make linking with libmysqlclient work with out of tree builds
2017-02-09 18:00:00 -06:00
Andrew Hutchings
babaac8172 MCOL-317 Remove libdrizzle
This switches to MariaDB's client library instead of libdrizzle for
Cross Engine and query stats.

It also switches to unbuffered result sets.
2017-02-09 17:58:54 -06:00
David Hall
55d006de1a MCOL-513 use thread pool for jobsteps 2017-02-03 15:25:21 -06:00
Andrew Hutchings
186ce365eb MCOL-318 Use OS version of Snappy
This patch strips out our old version of Snappy and uses the OS version
instead. All our supported OSes have the latest version of Snappy in
their base repositories.
2017-02-03 15:22:59 -06:00
David Hall
94b9d8aed2 MCOL-513 Optimize by replacing make_pair with a struct 2017-02-02 11:45:04 -06:00
David Hall
b6321935fb MCOL-513 fix a couple bugs in threadpool join() Add a test program 2017-02-02 11:32:56 -06:00
David Hall
c4742b8363 MCOL-513 Modify ThreadPool to have a join() method 2017-02-02 11:32:40 -06:00
dhall-InfiniDB
37fb55c8e2 Merge pull request #97 from mariadb-corporation/MCOL-507
MCOL-507 Further ExeMgr performance improvements
2017-01-16 08:17:53 -06:00
Andrew Hutchings
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
Andrew Hutchings
2f3937ac7e MCOL-505 Performance improvements to ExeMgr
This fix improves the performance of ExeMgr by doing the following:

* Significantly reduces the amount of time the xml configuration is
scanned
* Uses a much faster way to determine the CPU core count
* Reduces the amount of times certain allocations are executed
* Rowgroup pre-allocates vectors for 1024 rows

This improves performance for the first query of a connection and the
performance for smaller result sets. It may well improve performance in
other areas too.
2017-01-12 16:58:16 +00:00
dhall-InfiniDB
e5a831d20e Merge pull request #84 from mariadb-corporation/MCOL-389
MCOL-389 Add int/string handling for mod()
2016-12-28 10:04:22 -06:00
Andrew Hutchings
69305d3521 MCOL-315 Fully remove our libxml source
We already use the OS library with our headers, we are just lucky this
has worked so far. This patch removes the source and switches the the OS
headers instead.
2016-12-19 19:18:00 +00:00
Andrew Hutchings
0df1a5189f MCOL-389 Add int/string handling for mod()
Func_mod uses double instead of int for char casting. This patch adds int
handling and uses it where appropriate.
2016-12-19 15:06:04 +00:00
Andrew Hutchings
e090917ca0 MCOL-471 Fix GCC 6.3 support
isnan requires std:: namespace
2016-12-16 10:07:32 +00:00
Andrew Hutchings
b3a227099f MCOL-433 Fix cross engine buffer underrun
If there is only one packet in the buffer it is possible that the read
doesn't contain the whole packet, the resulting in the buffer pointer
going less than 0 and bad things happening.
2016-12-03 09:46:03 +00:00
David Hall
127180220b MCOL-307 merge with develop 2016-12-01 10:06:32 -06:00
Andrew Hutchings
f586f3b46a MCOL-423 Fixes to I_S tables
Fixes the following:

* Compression ratio calculation was incorrect
* Possible issues due to system catalog thread ID usage
* Compressed file size data count was leaking many FDs when the table
  wasn't compressed
* Compressed file size data count was allocating random large amounts
  of RAM and then leaking it when the table wasn't compressed
2016-11-29 10:45:38 +00:00
Andrew Hutchings
3b1de94cd8 MCOL-406 Improved Information Schema
* Add INFORMATION_SCHEMA.COLUMNSTORE_FILES which contains information
  about files
* Remove file information from COLUMNSTORE_EXTENTS (due to above)
* Hide columns with Object ID < 3000 (internal columns)
* Fix bad calculation in data_size columns
* Fix minor memory leak
* Add compressedSize() function to IDBFileSystem to get the used file
  size for a compressed file
* Add columnstore_info schema with utility stored procedures to access
  the information_schema tables
2016-11-23 22:11:26 +00:00
David Hall
61404b0f47 MessageID 104 is used during install. It needs a parameter. 2016-11-14 14:21:33 -06:00
Ben Thompson
42cd203265 MCOL-372: Modify condition which message is logged. Before was logging once a second on every timeout. 2016-11-09 13:13:42 -06:00
David Hall
0368dd487a MCOL-153 Add UDF function calgetsqlcount() which will display the number of sql statements active and the number waiting. 2016-10-27 15:49:01 -05:00
Andrew Hutchings
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
david hill
d94c9f1e4e merge mcol-251 into develop 2016-10-11 15:27:20 -05:00
david hill
ed3bc28171 added copyright headers 2016-10-11 10:02:01 -05:00
Andrew Hutchings
e3edadc9c9 Merge pull request #37 from mariadb-corporation/MCOL-98
MCOL-98
2016-10-11 09:37:14 +00:00
Ben Thompson
e9ae596dab MCOL-98: Div actually returns Null and does not throw and error. Removed unneeded includes. 2016-10-11 02:20:46 -05:00
david hill
897d8d3f3d change snmp to alarm 2016-10-10 17:46:24 -05:00
Ben Thompson
d0e9cde782 MCOL-98: Added error message for functions returning out of range values. 2016-10-10 16:52:47 -05:00
dhall-InfiniDB
23b195a438 Merge pull request #34 from mariadb-corporation/MCOL-347
MCOL-347 Fix NULLIF() for DATETIME with DATE
2016-10-04 15:23:06 -05:00
dhall-InfiniDB
84d4ccfdd2 Merge pull request #31 from mariadb-corporation/MCOL-328-mk2
MCOL-328 Fix func float -> str conversion
2016-10-04 12:43:08 -05:00
Andrew Hutchings
0d292e2b78 MCOL-347 Fix NULLIF() for DATETIME with DATE
Comparing DATETIME with DATE compared two different date int formats
2016-10-04 17:23:10 +01:00
Andrew Hutchings
9606375939 MCOL-289 Fix MCOL(0) handling
Now throws an error instead of returning NULL to align with MariaDB
2016-10-03 22:27:30 +01:00
Andrew Hutchings
0da005ddae MCOL-328 Fix func float -> str conversion
Functions such as reverse() that do float/double to string conversion
use printf's %g to do it. Unfortunately this adds a '+' symbol before
the exponent symbol. MariaDB doesn't do this.

This patch builds the string in a way that does not have that problem,
it resembles the way it is done elsewhere in the codebase.
2016-10-03 21:03:07 +01:00
Andrew Hutchings
256c87c6f9 MCOL-326 Fix negative rand seeding
Needs to be using 32bit ints to fully behave like MariaDB
2016-10-03 16:09:11 +01:00
Andrew Hutchings
bc6298c92f MCOL-333 Fix subtime() for saturated values
In MariaDB (unlike MySQL) max/min time values include msec of 999999.
This means that subtime() with saturated values can be off by one
second.

For this calculation I have modified add_time (which also does
subtime()) to have a saturated value including 999999 msec. This fixes
the subtime test in the regression suite.
2016-09-30 14:47:54 +01:00
Ben Thompson
12516d93a7 MCOL-331: Fix position range check 2016-09-29 14:41:53 -05:00
Andrew Hutchings
52c0f79fcf MCOL-330 Fix datetime to int conversion
Datetime has internal int value which is very different to MySQL's int
value. This patch differentiates between the two and also fixes a column
width issue which appeared once the datetime handling was fixed.
2016-09-29 17:27:52 +01:00
dhall-InfiniDB
964ad342e7 Merge pull request #22 from mariadb-corporation/MCOL-332
MCOL-332 Fix MONTHNAME() cast to double
2016-09-27 14:42:20 -05:00
dhall-InfiniDB
7482b544c0 Merge pull request #21 from mariadb-corporation/MCOL-329
MCOL-329
2016-09-27 14:37:51 -05:00
Andrew Hutchings
35fab05207 MCOL-332 Fix MONTHNAME() cast to double
Should return 0 to match MariaDB
2016-09-27 18:23:22 +01:00