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

1737 Commits

Author SHA1 Message Date
dhall-InfiniDB
c620185d0e Merge pull request #175 from mariadb-corporation/MCOL-657-1.0
MCOL-657 Support the <=> operator
2017-05-09 09:49:18 -05:00
Andrew Hutchings
4f3968fb36 MCOL-657 Support the <=> operator
This converts <=> into "a = b OR (a IS NULL AND b IS NULL)"
2017-05-09 12:00:06 +01:00
Andrew Hutchings
e58333d4f2 MCOL-657 Support the <=> operator
This converts <=> into "a = b OR (a IS NULL AND b IS NULL)"
2017-05-09 11:57:28 +01:00
Andrew Hutchings
122dbdcbb1 MCOL-656 Fix LIKE on non-dict CHAR/VARCHAR
The LIKE part of the query for non-dict CHAR/VARCHAR was converted to an
INT based on the length of the column. So on a 2 byte CHAR a LIKE of
'%05%' was truncated to '%0' which is a very different query. We should
not cast this to INT because we could use a LIKE of > 8 bytes on a
non-dict column. This patch turns LIKE into an expressionStep which
cater for longer strings rather than a simpleFilter.
2017-05-09 10:28:12 +01:00
Andrew Hutchings
a6a02642ca MCOL-656 Fix LIKE on non-dict CHAR/VARCHAR
The LIKE part of the query for non-dict CHAR/VARCHAR was converted to an
INT based on the length of the column. So on a 2 byte CHAR a LIKE of
'%05%' was truncated to '%0' which is a very different query. We should
not cast this to INT because we could use a LIKE of > 8 bytes on a
non-dict column. This patch turns LIKE into an expressionStep which
cater for longer strings rather than a simpleFilter.
2017-05-09 10:23:20 +01:00
Andrew Hutchings
dc4f38a877 MCOL-686 Fix BETWEEN performance
BETWEEN was executing as a function on each row which meant that extent
elimination couldn't happen. We now execute as a predicate function
instead.
2017-05-08 21:07:39 +01:00
Andrew Hutchings
82c983ec62 MCOL-701 stop join on BLOB columns
Joins on BLOB columns aren't yet possible due to string pointers used.
This gives a meaningful error for it.
2017-05-05 12:40:24 +01:00
dhall-InfiniDB
1c2a8fccf3 Merge pull request #164 from mariadb-corporation/MCOL-697
MCOL-697 Limit the return length for LONGBLOB
2017-05-03 17:18:49 -05:00
Andrew Hutchings
e03267ae4b MCOL-697 Limit the return length for LONGBLOB
For LONGBLOB the string return length was 4GB for functions which got
converted to -1 and then to 20. This patch sets it to just under 2GB
which we use for LONGBLOB everywhere else.
2017-05-03 21:30:25 +01:00
dhall-InfiniDB
cb788c0be2 Merge pull request #163 from mariadb-corporation/MCOL-697
MCOL-697 Remove 64KB VARCHAR response limit
2017-05-03 09:43:29 -05:00
Andrew Hutchings
de06c48b6c MCOL-697 Remove 64KB VARCHAR response limit
This was a hard coded limit due to StringStore not being able to handle
more than this. It restricts hex() unnecessarily and is now redundant.
2017-05-03 08:07:56 +01:00
dhall-InfiniDB
d98d40bdb4 Merge pull request #160 from mariadb-corporation/MCOL-686
MCOL-686 Fix BETWEEN performance
2017-05-02 17:10:34 -05:00
Andrew Hutchings
715a514f15 Merge branch 'MCOL-597' into develop 2017-04-27 17:38:57 +01:00
Andrew Hutchings
057f731713 MCOL-686 Fix BETWEEN performance
BETWEEN was executing as a function on each row which meant that extent
elimination couldn't happen. We now execute as a predicate function
instead.
2017-04-27 17:32:19 +01:00
Andrew Hutchings
30d8baf9f7 Merge branch 'MCOL-597' into develop 2017-04-26 15:58:28 +01:00
dhall-InfiniDB
94c3a47797 Merge pull request #158 from mariadb-corporation/MCOL-683
MCOL-683 Fix nested ADDDATE and DATE_FORMAT
2017-04-26 09:43:11 -05:00
Andrew Hutchings
f5881ce6dd MCOL-683 Fix nested ADDDATE and DATE_FORMAT
MariaDB sends us a UTF8 length which we shortern because we think this
is a microsecond length. We need to keep this length.
2017-04-25 23:47:04 +01:00
Andrew Hutchings
fac819b81c MCOL-683 Fix nested ADDDATE and DATE_FORMAT
MariaDB sends us a UTF8 length which we shortern because we think this
is a microsecond length. We need to keep this length.
2017-04-25 23:40:39 +01:00
David Hall
f6caa88703 MCOL-597 merge with 10.2.5 2017-04-25 16:49:32 -05:00
Andrew Hutchings
a2f919fdd9 MCOL-677 Fix incompatible join detection
If two tables have multiple joins and one of them was compatible then
the incompatible join detection would fail.

This patch moves the incompatible join detection so that every join is
checked. It also removes the incompatible join detection from
expressionstep as this is redundant and was causing some valid quries to
fail.
2017-04-25 13:09:19 +01:00
Andrew Hutchings
f66a39ebfe Merge branch 'develop' into MCOL-597 2017-04-21 17:09:31 +01:00
David Hall
b9d06e2bf2 MCOL-597 some clean up and make Release builds work 2017-04-21 10:38:51 -05:00
David Hall
b15f79e8ce MCOL-597 Fix up Windows Functions 2017-04-21 10:38:44 -05:00
David Hall
324a9fd215 MCOL-597 Fix up Windows Functions 2017-04-21 10:38:44 -05:00
David Hall
3055964ddc MCOL-597 stabilization 2017-04-21 10:38:44 -05:00
David Hall
12acd033fb MCOL-597 Take Window Functions just to get a compile. No other changes were needed. 2017-04-21 10:38:44 -05:00
dhall-InfiniDB
f240c89faf Merge pull request #156 from mariadb-corporation/MCOL-671
MCOL-671 Fix TEXT/BLOB single row SELECT WHERE
2017-04-21 10:06:34 -05:00
David Hall
b070ef3217 MCOL-597 some clean up and make Release builds work 2017-04-21 09:48:59 -05:00
David Hall
d531796bf2 MCOL-597 Fix up Windows Functions 2017-04-21 09:47:56 -05:00
David Hall
d7da34c249 MCOL-597 Fix up Windows Functions 2017-04-21 09:47:56 -05:00
David Hall
a3c4503bc9 MCOL-597 stabilization 2017-04-21 09:47:56 -05:00
David Hall
f9e5b7b507 MCOL-597 Take Window Functions just to get a compile. No other changes were needed. 2017-04-21 09:47:56 -05:00
Andrew Hutchings
6128293ad3 MCOL-671 Fix TEXT/BLOB single row SELECT WHERE
pDictionaryScan won't work for BLOB/TEXT since it requires searching the
data file and rebuilding the token from matches. The tokens can't be
rebuild correctly due the bits in the token used for block counts. This
patch forces the use of pDictionaryStep instead for WHERE conditions.

In addition this patch adds support for TEXT/BLOB in various parts of
the job step processing. This fixes things like error 202 during an
UPDATE with a join condition on TEXT/BLOB columns.
2017-04-21 11:21:59 +01:00
Andrew Hutchings
944d76445b MCOL-673 Fix I_S/LDI for larger BLOBs
BLOBs that are longer than half the maximum length of the column would
be turned into a negative length due to signed int casting. This would
cause them to turn into NULL inserts. Unsigned now used.
2017-04-20 19:29:41 +01:00
dhall-InfiniDB
57af5d898f Merge pull request #153 from mariadb-corporation/MCOL-669
MCOL-669 TEXT cpimport fixes
2017-04-19 15:19:09 -05:00
Andrew Hutchings
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
dhall-InfiniDB
70d3226009 Merge pull request #146 from mariadb-corporation/MCOL-529
MCOL-529 Pool DBRM connections
2017-04-18 09:57:55 -05:00
Andrew Hutchings
28fe2c0b70 MCOL-664 Add function support for TEXT
For the initial BLOB/TEXT pull request we put them in the same bucket as
VARBINARY, forcing many functions to be disabled. This patch enables the
same TEXT function support as VARCHAR.
2017-04-15 07:22:05 +02:00
Andrew Hutchings
f64dd0d602 MCOL-529 Pool DBRM connections
DBRM connections are reused so that we don't have a huge amount of
TIME_WAIT sockets when there are large amounts of DML. Also applied to
i_s.columnstore_files
2017-04-14 14:16:25 +01:00
Andrew Hutchings
830b24c1fa MCOL-529 Pool DBRM connections
DBRM connections are reused so that we don't have a huge amount of
TIME_WAIT sockets when there are large amounts of DML. Also applied to
i_s.columnstore_files
2017-04-14 14:13:15 +01:00
Andrew Hutchings
b60c45a968 MCOL-653 Revert SUM(1) behaviour
SUM(1) behaviour was changed as part of MCOL-301. But the original
behaviour was correct.
2017-03-31 21:48:56 +01:00
Andrew Hutchings
8baf0590a4 MCOL-653 Revert SUM(1) behaviour
SUM(1) behaviour was changed as part of MCOL-301. But the original
behaviour was correct.
2017-03-31 21:47:12 +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
dhall-InfiniDB
99b62cf97b Merge pull request #141 from mariadb-corporation/MCOL-267
MCOL-267 Add BLOB/TEXT support
2017-03-23 12:19:40 -05:00
Andrew Hutchings
530cc94915 MCOL-267 Minor fixups
Fix things found by David Hall
2017-03-23 17:14:00 +00:00
Andrew Hutchings
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
Andrew Hutchings
6841b261a3 MCOL-605 Fix multi-node "Unkown error"
The string stream which builds up the PM details wasn't cleared on each
run. This moves the creation of the string stream up to where it is
needed so a clean one is used each time.
2017-03-22 17:48:27 +00:00
Andrew Hutchings
6ab434e708 MCOL-605 Fix multi-node "Unkown error"
The string stream which builds up the PM details wasn't cleared on each
run. This moves the creation of the string stream up to where it is
needed so a clean one is used each time.
2017-03-22 17:45:45 +00:00
Andrew Hutchings
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
Andrew Hutchings
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