1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-13 05:41:48 +03:00
Commit Graph

66 Commits

Author SHA1 Message Date
d35002fb65 MCOL-4263 return int for func_floor on datetime
For TIMESTAMP, it should do similar. However, it didn't work. For some reason, MDB has the function set as DATETIME, which for cs, isn't the same thing. Added a kludge to ha_mcs_execplan.cpp to handle it.
2020-12-16 16:23:21 -06:00
a159f8a0b6 MCOL-4188 Regression fixes for MCOL-641.
1. Add wide decimal support to AggregateColumn::evaluate
and TreeNode::getDecimalVal().
2. Use the pm aggregate attributes to determine um aggregate
attributes in TupleAggregateStep::prep2PhasesAggregate.
2020-11-30 13:49:05 -05:00
129d5b5a0f MCOL-4174 Review/refactor frontend/connector code 2020-11-18 13:53:15 +00:00
1f4a781704 MCOL-641 Fixes for arithmetic operations.
1. Perform type promotion to wide decimal if the result
   of an arithmetic operation has a precision > 18.
2. Only set the decimal width of an arithmetic operation to wide
   if both the LHS and RHS of the operation are decimal types.
2020-11-18 13:52:20 +00:00
8de9764f84 MCOL-4172 Add support for wide-DECIMAL into statistical aggregate and regr_* UDAF functions
The patch fixes wrong results returned when multiple UDAF exist in projection

aggregate over wide decimal literals now works
2020-11-18 13:52:20 +00:00
6aea838360 MCOL-641 Add support for functions (Part 2). 2020-11-18 13:51:55 +00:00
e88cbe9bc1 MCOL-641 Simple aggregates support: min, max, sum, avg for wide-DECIMALs. 2020-11-18 13:51:25 +00:00
cfe35b5c7f MCOL-641 Add support for functions (Part 1). 2020-11-18 13:51:25 +00:00
554c6da8e8 MCOL-641 Implement int128_t versions of arithmetic operations and add unit test cases. 2020-11-18 13:47:45 +00:00
b5534eb847 MCOL-641 Refactored MultiplicationOverflowCheck but it still has flaws.
Introduced fDecimalOverflowCheck to enable/disable overflow check.

Add support into a FunctionColumn.

Low level scanning crashes on medium sized data sets.
2020-11-18 13:47:45 +00:00
74b64eb4f1 MCOL-641 1. Add support for int128_t in ParsedColumnFilter.
2. Set Decimal precision in SimpleColumn::evaluate().
3. Add support for int128_t in ConstantColumn.
4. Set IDB_Decimal::s128Value in buildDecimalColumn().
5. Use width 16 as first if predicate for branching based on decimal width.
2020-11-18 13:47:45 +00:00
0ff0472842 MCOL-641 sum() now works with DECIMAL(38) columns.
TupleAggregateStep class method and buildAggregateColumn() now properly set result data type.

doSum() now handles DECIMAL(38) in approprate manner.

Low-level null related methods for new binary-based datatypes now handles magic values for
binary-based DT.
2020-11-18 13:47:01 +00:00
54c152d6c8 MCOL-641 This commit introduces templates for DataConvert and RowGroup methods. 2020-11-18 13:47:01 +00:00
b25fee320a Remove variable-length arrays (-Wvla) 2020-11-17 15:03:10 +03:00
35c4b66a67 MCOL-4144 Enable lower_case_table_names
Create tables and schemas with lower case name only if the flag is set.
During operations, convert to lowercase in plugin. Byt the time a query gets to ExeMgr, DDLProc etc., everything must be lower case if the flag is set, and undisturbed if not.
2020-09-24 15:21:13 -05:00
a117786027 MCOL-4282 Enable Select Handler for Prepared Statements
This patch enables select handler for executing prepared
statements. Most importantly, we are now activating a
persistent arena which will allocate any new items in a
permanent MEMROOT for prepared statements and stored procedures.
Refer to JOIN::optimize_inner() for details.

In processWhere(), we now use SELECT_LEX::prep_where in case
we are executing a prepared statement, as this is where the saved
WHERE clause is stored for prepared statement processing.

In addition, we also disable derived handler for prepared
statements.
2020-09-11 16:35:51 -04:00
a35be51cc6 Merge pull request #1433 from dhall-MariaDB/MCOL-3464
MCOL-3464 don't dereference a NULL String.
2020-09-09 12:25:20 -04:00
890846fa8a MCOL-3464 don't dereference a NULL String. 2020-09-04 16:31:20 -05:00
a7fef967c4 MCOL-4108 For functions not found, send not supported error 2020-09-04 15:27:47 -05:00
03c50eabee Revert "MCOL-3827 Optimize out sort on SubQuery in Select" 2020-08-19 19:23:55 -04:00
f1759e6560 Merge pull request #1367 from dhall-MariaDB/MCOL-3827
MCOL-3827 Optimize out sort on SubQuery in Select
2020-08-18 14:54:36 -04:00
e7b8abfdb9 MCOL-3827 Optimize out sort on SubQuery in Select 2020-08-17 14:40:22 -05:00
478426c8bf MCOL-3814 add back lower to viewName assignment 2020-08-12 10:00:04 -05:00
d840fab5a3 Merge pull request #1309 from dhall-MariaDB/MCOL-4100
MCOL-4100 Use correct collation for certain functions
2020-06-29 10:32:01 -05:00
2ba9263df4 Silence -Werror=implicit-fallthrough compiler errors - Patch from Monty.
The patch also fixes some potential bugs due to missing break
statements.
2020-06-26 12:32:57 -04:00
3f15ed1303 MCOL-4100 Use correct collation for certain functions
LOCATE, INSTR, STRCMP and FIND_IN_SET
2020-06-24 15:32:22 -05:00
5d6dc97aad Merge pull request #1254 from mariadb-corporation/columnstore_cache
Columnstore cache
2020-06-15 14:26:43 +03:00
f9078efbc6 MCOL-3536 Collation 2020-06-08 17:57:37 -05:00
d289c30521 MCOL-3536 Collation 2020-06-08 17:19:07 -05:00
1a5c6910da Make changes based on feedback to PR #1254 for the cache. 2020-06-08 14:11:30 -04:00
1d5e820e97 Merge branch 'develop' into MCOL-3536
Conflicts:
	CMakeLists.txt
2020-06-04 16:22:59 -05:00
889094a23d MCOL-3536 Collation 2020-06-03 19:43:53 -05:00
e671b1d1e2 1. Some fixes to the cache interface code.
2. Set a Columnstore_cache table as a non-foreign engine table in isMCSTable().
2020-06-03 15:20:03 -04:00
78ac310e42 MCOL-3536 Collation 2020-06-01 15:08:15 -05:00
01ff2652a6 MCOL-4023 Pushdown WHERE conditions for UPDATE/DELETE.
For certain queries, such as:
  update cs1 set i = 41 where i = 42 or (i is null and 42 is null);
the SELECT_LEX.where does not contain the required where conditions.
Server sends the where conditions in the call to cond_push(), so
we are storing them in a handler data member, condStack, and later
push them down to getSelectPlan() for UPDATES/DELETEs.
2020-06-01 11:03:42 -04:00
a43de9d536 Merge branch 'develop' into MCOL-3536 2020-05-28 14:20:32 -05:00
06e50e0926 MCOL-3536 collation 2020-05-26 12:42:11 -05:00
1f3d1e6fd6 MCOL-3536 collation 2020-05-14 16:02:49 -05:00
90692c8cc2 MCOL-3813 Count with view is incorrect 2020-05-09 01:03:52 +00:00
c957048a51 MCOL-3757 Correct overwrite of MCOL-3903
This line for MCOL-3757 is incorrect given MCOL-3903 and it breaks things
2020-04-22 15:02:47 -05:00
f3a71199b8 Merge branch 'develop' into MCOL-3757-1.5 2020-04-21 13:39:52 -05:00
2954764104 Merge pull request #1141 from mariadb-corporation/MCOL-3903_1_5
Mcol 3903 1 5
2020-04-20 21:50:36 -04:00
6087b61e3b MCOL-3757 Test for LIMIT in correlated subqueries
The if() had been changed to something that didn't work. Changed it back
2020-04-20 17:20:26 -05:00
fa7bc6117f MCOL-3949 type_handler change in server 2020-04-17 13:02:24 -05:00
e7bc7e9313 MCOL-3924 Use the first parse error found
Often, after an error is found, it cascades into a bunch of errors, and each overwrites the previous. This sometimes obfuscates the true problem.
2020-04-09 15:30:44 -05:00
e6d1aa27f4 MCOL-3903 10.5 allows engines to process LIMIT and OFFSET on their own. 2020-04-08 13:41:30 +00:00
6ea30f64fd MCOL-3903 Fix the fail in expBetween(BETWEEN in projection wasn't
processed as expected.)
2020-04-07 09:17:05 +00:00
ab2003baaa MCOL-3903 Enable Select Handler to run query part of INSERT..SELECT.
Original SH implementation sends the result set back to the client
thus it can't be used in INSERT..SELECT, SELECT INTO OUTFILE,CREATE
TABLE AS SELECT etc.
CLX-77 feature has been backported into MDB to enable SH to run
query part of the mentioned queries.
2020-04-07 09:17:05 +00:00
457ec0d483 Updates to plugin code based on recent changes in the server 10.5 branch. 2020-03-12 00:42:16 +00:00
52dec05a52 Merge pull request #1075 from pleblanc1976/2020-3-1.4-to-1.5
2020 3 1.4 to 1.5
2020-03-02 09:11:00 -06:00