1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-05-27 01:57:30 +03:00

24 Commits

Author SHA1 Message Date
Ravi Prakash
5df447b6ec Fix MCOL-1635 where an "insert into table select query" crashes the server. This happens
for a MEDIUMBLOB column type.
2018-08-14 11:59:09 -07:00
Andrew Hutchings
854d32560a MCOL-1008 Fix bad length on bulk DML insert
If a VARCHAR was defined as less than 255 characters and a data via LDI
or INSERT...SELECT was > 127 characters the length field would contain a
negative number.

In 1.0.11 and 1.1.0 this was not a problem because we cast the negative
back again. With MCOL-877 we stoped doing the double-cast. This patch
casts properly the first time.
2017-11-11 09:31:09 +00:00
Andrew Hutchings
1b17175d3b MCOL-877 Fix I_S / LDI cpimport escaping
Backslashes need escaping otherwise they are not sent to cpimport
correctly.
2017-09-19 15:47:27 -05: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
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
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
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
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
5571481957 MCOL-457 Fix insert...select NULL bitmap
When a table has 8 columns that could be NULL and a NOT NULL column
after the NULLable columns the check to see if we have gone over the
NULL bitmap byte limit is run prematurely trigging an error.

This patch moves the check to only run when we are looking at NULLable
columns.
2016-12-09 10:36:42 +00:00
Andrew Hutchings
4fc7fa12cd MCOL-129 INSERT/UPDATE strict mode support
This changes the warning for truncation to the correct MariaDB error
code (1264).

In addition it passes the strict mode up into the DML class to roll back
correctly.

It also sets the abort_on_warning flag for updates as this isn't set on
the rnd_init phase but is needed for strict mode to work.
2016-11-04 14:06:00 +00:00
Andrew Hutchings
5fad418309 MCOL-341 Fix DATETIME2 support in INSERT...SELECT
DATETIME2 has a variable pack length but we were using a constant length
of 8 if the value was NULL. This messed up the offset for the next
column.
2016-10-03 15:51:47 +01:00
Andrew Hutchings
b5d4e02b21 MCOL-173 Fix null handling for bulk inserts
When infinidb_use_import_for_batchinsert is enabled the NULL handling
for the batch insert was incorrect. This is due to an off-by-one on the
NULL bitmap. This also affects INSERT...SELECT.
2016-09-09 16:09:47 +01:00
David Hall
8364c9da52 MCOL-281 LDI using cpimport pads char column values with spaces
Use new logic to find actual data length
2016-09-07 12:13:22 -05:00
Andrew Hutchings
25851df89d Add support for zero date separate to NULL
NULL is now pushed through the MariaDB storage engine plugin down to the
insert processing. A '0000-00-00' date is now a separate value to NULL.

This is more in-line with MariaDB's handling.
2016-08-30 16:26:36 +01:00
david hill
e9d96ddc85 copyright additions 2016-06-01 20:03:20 -05:00
david hill
3a6d4c3fd2 Revert "copyright name change"
This reverts commit 7000f6e4f2eadf5bafccf7b459b3a3eff229d426.
2016-06-01 17:54:28 -05:00
david hill
7000f6e4f2 copyright name change 2016-06-01 14:54:11 -05:00
David Hall
e28242a885 MCOL-43 - Function Join Fails. Added support for MYSQL_TYPE_DATETIME2 2016-05-16 15:39:38 -05:00
David Hall
9d5f9bbd43 Convert some more error codes 2016-02-19 13:47:10 -06:00
David Hall
357cba722c Change error codes to match MariaDB's new scheme 2016-02-17 10:09:40 -06:00
David Hall
3b730e08f8 Change HA_ERR_INTERNAL_ERROR to ER_INTERNAL_ERROR to match MariaDB
Remove nightly queries from the code base
2016-02-13 14:51:34 -06:00
David Hall
e4c7f2292c Remove some files that shouldn't be in version control (If you need them, I still have them).
Some changes needded to build debug
2016-02-08 13:54:26 -06:00
David Hall
1bd427486c Updated with latest InfiniDB Develop (4.6.6) 2016-01-14 10:27:21 -06:00
david hill
f6afc42dd0 the begginning 2016-01-06 14:08:59 -06:00