1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-12-20 01:42:27 +03:00
Commit Graph

173 Commits

Author SHA1 Message Date
Andrew Hutchings
e9aff27e59 MCOL-1116 Fix I_S.CS_FILES for missing dbroot
If a dbroot is missing/offline mysqld would crash on
information_schema.columnstore_files due to not catching an exception.
This patch now catches the exception.
2017-12-15 20:33:07 +00:00
david hill
44c06f2cc3 MCOL-1106 - increased mysqld startup timeouts 2017-12-12 16:32:49 -06:00
Andrew Hutchings
b657938709 MCOL-1068 Improve compression_ratio() procedure
* Uncompressed columns caused a miscalculation for compression ratio
* We now show a ratio such as 2:1 rather than a percentage
* compressed_data_size instead of file_size is used to show the
compression of actual data, ignoring the pre-allocated segment
2017-12-01 19:32:35 +00:00
Andrew Hutchings
d60bc999c6 MCOL-1029 Skip cached conditions
Cached conditions are things like (TRUE OR FALSE). They don't actually
add any value to the query and were breaking our working stack trying to
process them.
2017-11-20 16:06:21 +00:00
Andrew Hutchings
766f0b812b 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:34:35 +00:00
Andrew Hutchings
929d0d3fe7 MCOL-1016 Fix I_S calculations
* COLUMNSTORE_EXTENTS data_size now shows the total size on the highest
segment of an extent file. It also shows 0 bytes if HWM is zero so that
if there is more than one segment it doesn't show 8192 bytes for the
lower segments.
* COMPRESSION_RATIO was missing some data and using compressed data size
instead of file size (which is probably more realistic).
2017-11-07 08:28:29 +00:00
David Hall
16990c8e03 MCOL-985 Add return code test after call to buildReturnedColumn 2017-10-24 13:47:41 -05:00
Andrew Hutchings
3b4da1999d MCOL-973 Fix DOUBLE typecast crash
DOUBLE typecast was not supported and the failure detection caused a
crash.

This patch adds support for DOUBLE typecast and fixes the crash caused
when a non-supported function is detected as part of an arithmatic.
2017-10-20 12:42:40 +03:00
Andrew Hutchings
fa1b487bcd MCOL-877 Fix I_S / LDI cpimport escaping
Backslashes need escaping otherwise they are not sent to cpimport
correctly.
2017-09-15 11:19:26 +01:00
David.Hall
e6d8584eea Merge pull request #200 from mariadb-corporation/MCOL-674
MCOL-674 Fix subquery in UPDATE
2017-07-11 09:42:23 -05:00
Andrew Hutchings
f3f830a9ca Support ORDER BY NULL 2017-07-11 15:14:24 +01:00
Andrew Hutchings
14771bd941 MCOL-674 Fix subquery in UPDATE
When some subquery changes were made over a year ago the flag to state
that an UPDATE subquery was not constant data was accidentally commented
out. This brings it back in again.
2017-07-11 13:55:22 +01:00
david hill
84741a7eb2 MCOL-472 - additional tweak to full shutdown both mysql processes 2017-06-13 09:51:46 -05:00
david hill
2dd99eabf7 MCOL-472 - fix the force shutdown command 2017-06-12 16:29:49 -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
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
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
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
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
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
dhall-InfiniDB
c12b587d0d Merge pull request #133 from mariadb-corporation/MCOL-605-1.0
MCOL-605 limit connections for I_S table
2017-03-07 16:01:20 -06:00
Andrew Hutchings
b55c526a5d MCOL-605 limit connections for I_S table
I_S.COLUMNSTORE_FILES now caches a connection per dbroot instead of
using a connection per file.
2017-03-07 21:16:41 +00:00
Andrew Hutchings
052f8d0249 MCOL-533 fix units for table_usage
The fix for MCOL-533 accidentally removed units processing
2017-03-07 21:10:47 +00:00
Andrew Hutchings
e9c5d86c15 MCOL-533 Add lock to table_usage
Calling from multiple connections simultaneously is bad. This adds a
lock preventing that.
2017-03-07 21:10:00 +00:00
Andrew Hutchings
9985bb0647 MCOL-533 fix the table_usage() procedure
The old procedure could be wildly incorrect when there were multiple
extents for a dictionary column.

The new one uses tables so that columnstore_files doesn't get
hammered too hard. They can't be temporary tables due to the reuse
restriction on temporary tables.
2017-03-07 21:09:29 +00:00
David Hill
b4061cd4cc MCOL-552 2017-02-28 10:46:13 -06:00
Andrew Hutchings
a89ab2f2bf MCOL-454 Fix HWM edge case
Sometimes block offset can be > 0 but HWM can be 0 this causes a
calculation error in the DATA_SIZE field of I_S.columnstore_extents
2017-01-19 16:45:10 +00:00
Andrew Hutchings
641fd2bfe2 MCOL-494 Don't try to process BLOB/TEXT
It is possible for a BLOB/TEXT column to appear in a cross engine join.
This causes an ExeMgr crash later during execution. For now this patch
disable BLOB/TEXT support.
2017-01-10 07:33:00 -06:00
Andrew Hutchings
bb800e4771 MCOL-477 Change autoincrement on ALTER TABLE
This patch allows the following syntax to change the current
autoincrement value for the table:

ALTER TABLE table_name COMMENT='autoincrement=value';

Where "value" is the new integer to be used.
2017-01-05 15:03:54 +00:00
Andrew Hutchings
98f92d53b2 MCOL-301 Fix nested arithmatic in aggregate
Arithmatic on two functions inside an aggregate function caused an error
due to the function not being parsed correctly. This fix parses the
function for the arithmatic.
2016-12-16 21:42:52 +00:00
Andrew Hutchings
5376d4b290 MCOL-301 fix SUM() with constants
If SUM() has constants return the MAX() instead of constant * rows.
2016-12-15 17:13:02 +00:00
Andrew Hutchings
025838629b MCOL-454 I_S.COLUMNSTORE_FILES multi-node
I_S.COLUMNSTORE_FILES returned bad filenames and NULL file sizes when
there are multiple nodes in a ColumnStore cluster

It adds an extra message call to the WriteEngine to get the file size
for that file. The I_S function will figure out which WriteEngine to
communicate with and get the file size details from it.
2016-12-14 16:55:03 +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
ef3a655f84 MCOL-406 More fixes to stored procs
* Fix infinite loop problem when there are no ColumnStore tables
* Make table_usage('schema', NULL) work
2016-12-07 09:12:51 +00:00
Andrew Hutchings
6efe906972 MCOL-406 add table_usage() schema input
table_usage() is now called using:

* table_usage(NULL, NULL) - all tables
* table_usage(NULL, 'table') - match tables with the name 'table' in all
schemas
* table_usage('schema', 'table') - match a specific schema and table
combination
2016-12-06 20:10:07 +00:00
dhall-InfiniDB
d4a601b4fb Merge pull request #68 from mariadb-corporation/MCOL-442
MCOL-442 Allow default zero date/datetime
2016-12-06 12:26:09 -06:00
Andrew Hutchings
fe381ab07c MCOL-442 Allow default zero date/datetime
Remove the hard-coded restriction in the DDL code, it isn't needed any
more
2016-12-06 15:47:33 +00:00
Andrew Hutchings
e2771c246b MCOL-406 Add schema to table_usage()
Schema name should be included in results
2016-12-06 12:59:43 +00: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
Andrew Hutchings
874596c6cd MCOL-309 Implement Information Schema tables
This patch does the following:

* Fix a year storage issue in the datestamp for the columnstore tables
  metadata table (note that any previous tables will still have the
  incorrect year stored).
* Expose the table creation date in CalpontSystemCatalog::getTables()
* Add an INFORMATION_SCHEMA table listing the tables in ColumnStore
  (similar to systable)
* Add an INFORMATION_SCHEMA table listing the columns in ColumnStore
  (similar to syscolumn)
* Add an INFORMATION_SCHEMA table listing the extents in ColumnStore
  (similar to the editem tool but with additional file information)
* Modifies the build system and scripts to support the new tables
2016-11-14 15:44:20 +00:00
Andrew Hutchings
14a9581bb6 MCOL-385 Fix crash observed with 10.1.19 merge
Appears to be a regression introduced in MCOL-361 which was causing a
segault with bug3670.negative.sql
2016-11-07 21:04:26 +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
dhall-InfiniDB
059a158837 Merge pull request #49 from mariadb-corporation/MCOL-263
MCOL-263: throw different error message on load data infile if column…
2016-11-03 09:39:40 -05:00
Ben Thompson
39c3cabb7c MCOL-263: throw different error message on load data infile if columnstore suspendDatabaseWrite is enabled 2016-11-02 17:34:46 -05:00
David Hall
086a98794e MCOL-361 String::c_ptr() can cause a realloc and break things. Remove all uses of c_ptr to String objects from the server. 2016-11-01 16:07:13 -05:00
David Hall
ab5afda7c4 MCOL-121 reverse the disabling client progress reports. 2016-10-31 14:06:10 -05: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
dhall-InfiniDB
6694bc3d16 Merge pull request #44 from mariadb-corporation/MCOL-344
Add better cache explanations to debug_walk. This is debug only.
2016-10-27 15:42:00 -05:00
David Hall
331dfd3a4c Add better cache explanations to debug_walk. This is debug only. 2016-10-27 15:39:50 -05:00