1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-04-18 21:44:02 +03:00

148 Commits

Author SHA1 Message Date
David Hall
a7fef967c4 MCOL-4108 For functions not found, send not supported error 2020-09-04 15:27:47 -05:00
Gagan Goel
03c50eabee
Revert "MCOL-3827 Optimize out sort on SubQuery in Select" 2020-08-19 19:23:55 -04:00
Gagan Goel
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
David Hall
e7b8abfdb9 MCOL-3827 Optimize out sort on SubQuery in Select 2020-08-17 14:40:22 -05:00
David Hall
478426c8bf MCOL-3814 add back lower to viewName assignment 2020-08-12 10:00:04 -05:00
Patrick LeBlanc
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
Gagan Goel
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
David Hall
3f15ed1303 MCOL-4100 Use correct collation for certain functions
LOCATE, INSTR, STRCMP and FIND_IN_SET
2020-06-24 15:32:22 -05:00
Roman Nozdrin
5d6dc97aad
Merge pull request #1254 from mariadb-corporation/columnstore_cache
Columnstore cache
2020-06-15 14:26:43 +03:00
David Hall
f9078efbc6 MCOL-3536 Collation 2020-06-08 17:57:37 -05:00
David Hall
d289c30521 MCOL-3536 Collation 2020-06-08 17:19:07 -05:00
Gagan Goel
1a5c6910da Make changes based on feedback to PR #1254 for the cache. 2020-06-08 14:11:30 -04:00
David Hall
1d5e820e97 Merge branch 'develop' into MCOL-3536
Conflicts:
	CMakeLists.txt
2020-06-04 16:22:59 -05:00
David Hall
889094a23d MCOL-3536 Collation 2020-06-03 19:43:53 -05:00
Gagan Goel
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
David Hall
78ac310e42 MCOL-3536 Collation 2020-06-01 15:08:15 -05:00
Gagan Goel
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
David Hall
a43de9d536 Merge branch 'develop' into MCOL-3536 2020-05-28 14:20:32 -05:00
David Hall
06e50e0926 MCOL-3536 collation 2020-05-26 12:42:11 -05:00
David Hall
1f3d1e6fd6 MCOL-3536 collation 2020-05-14 16:02:49 -05:00
Jose
90692c8cc2 MCOL-3813 Count with view is incorrect 2020-05-09 01:03:52 +00:00
David Hall
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
David.Hall
f3a71199b8
Merge branch 'develop' into MCOL-3757-1.5 2020-04-21 13:39:52 -05:00
Gagan Goel
2954764104
Merge pull request #1141 from mariadb-corporation/MCOL-3903_1_5
Mcol 3903 1 5
2020-04-20 21:50:36 -04:00
David Hall
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
David Hall
fa7bc6117f MCOL-3949 type_handler change in server 2020-04-17 13:02:24 -05:00
David Hall
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
Roman Nozdrin
e6d1aa27f4 MCOL-3903 10.5 allows engines to process LIMIT and OFFSET on their own. 2020-04-08 13:41:30 +00:00
Roman Nozdrin
6ea30f64fd MCOL-3903 Fix the fail in expBetween(BETWEEN in projection wasn't
processed as expected.)
2020-04-07 09:17:05 +00:00
Roman Nozdrin
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
Gagan Goel
457ec0d483 Updates to plugin code based on recent changes in the server 10.5 branch. 2020-03-12 00:42:16 +00:00
Patrick LeBlanc
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
Roman Nozdrin
e0cb60dcd2 Merge pull request #1024 from LinuxJedi/collate_warn
MCOL-3721 Allow collate and warn on ORDER BY
2020-02-28 16:19:36 -05:00
Gagan Goel
f27cb8a21f Merge pull request #1012 from dhall-MariaDB/MCOL-3662
MCOL-3662 Restore error message for multi parameter aggregates save for UDAnF and GROUP_CONCAT
2020-02-28 13:58:39 -05:00
Gagan Goel
42adfb60e5 Merge pull request #1017 from dhall-MariaDB/MCOL-3632
MCOL-3632 Restore error message for ref item type
2020-02-28 13:58:34 -05:00
jmrojas2332
426d77b54f MCOL-3485 Fix ORDER BY not working with multiple aggregates of same type in SELECT 2020-02-27 21:26:36 +00:00
jmrojas2332
aa1d8944ce MCOL-2139 syntax update 2020-02-03 20:49:02 +00:00
jmrojas2332
9fbfb63b85 MCOL-2139 syntax update based on feedback 2020-02-03 20:13:55 +00:00
jmrojas2332
f1285dd79e MCOL 2139 Fix subquery not being filtered when using view 2020-02-03 15:42:57 +00:00
Andrew Hutchings
a959aad92d MariaDB 10.5 Compatibility
Several changes have happened in MariaDB 10.5, most notably:

* Information Schema table definitions have changed
* More things use LEX_CSTRING

This fixes all the compile issues
2020-01-13 10:47:14 -08:00
Andrew Hutchings
57724e5515
Merge pull request #953 from drrtuy/MCOL-3602_MCOL-3593_3
Selected optimizer rewrites addition.
2019-11-25 21:50:38 +00:00
Roman Nozdrin
aff40f0dbc
Merge pull request #949 from tntnatbry/fix-bitcount
Implement bit_count() distributed function and handle hexadecimal string literals in buildReturnedColumn().
2019-11-25 21:51:44 +03:00
Roman Nozdrin
3fabf01e93 MCOL-3593 Disabled full optimizer run and enabled copy-pasted simplify_joins.
Disabled 4th if block in buildOuterJoin to handle non-optimized MDB query
    structures.

    Broke getSelectPlan into pieces: processFrom, processWhere.

MCOL-3593 UNION processing depends on two flags isUnion that comes as
arg of getSelectPlan and unionSel that is a local variable in
getSelectPlan. Modularization of getSelectPlan broke the mechanizm.
This patch is supposed to partially fix it.

MCOL-3593 Removed unused if condition from buildOuterJoin that allows
unsupported construct subquery in ON expression.
Fixed an improper if condition that ignors tableMap entries w/o condition
in external_lock thus external_lock doesn't clean up when the query
finishes.
Fixed wrong logging for queries processed in tableMode. Now rnd_init
properly sends queryText down to ExeMgr to be logged.

MCOL-3593 Unused attribute FromSubQuery::fFromSub was removed.
 getSelectPlan has been modularized into: setExecutionParams,
 processFrom, processWhere. SELECT, HAVING, GROUP BY, ORDER BY
 still lives in getSelectPlan.
Copied optimization function simplify_joins_ into our pushdown
 code to provide the plugin code with some rewrites from MDB it
 expects.
The columnstore_processing_handlers_fallback session variable
 has been removed thus CS can't fallback from SH to partial
 execution paths, e.g. DH, GBH or plugin API.

MCOL-3602 Moved MDB optimizer rewrites into a separate file.

Add SELECT_LEX::optimize_unflattened_subqueries() call to fix IN
 into EXISTS rewrite for semi-JOINs with subqueries.

disable_indices_for_CEJ() add index related hints to disable
 index access methods in Cross Engine Joins.

create_SH() now flattens JOIN that has both physical tables and
 views. This fixes most of views related tests in the regression.
2019-11-25 10:03:32 -06:00
Gagan Goel
2e16fe674c 1. Implement bit_count() distributed function.
2. Handle hexadecimal string literals in buildReturnedColumn().
2019-11-22 18:02:47 -05:00
Gagan Goel
a76ceb5aa0 Get the associated string values for charset()/collation() functions applied to a field. 2019-11-22 01:34:29 +00:00
David Hall
11f194b5fe MCOL-3448 Corrected datatype in predicate for RowItem
RowItem compares, such as (c1,c2) IN ((v11, v21), (v12, v22)) gave bad answers due to a typo getting the wrong datatype.
2019-11-13 21:27:24 +00:00
Roman Nozdrin
7b5e5f0eb6 MCOL-894 Upmerged the fist part of the patch into develop.
MCOL-894 Add default values in Compare and CSEP ctors to activate UTF-8 sorting
    properly.

MCOL-894 Unit tests to build a framework for a new parallel sorting.

MCOL-894 Finished with parallel workers invocation.
     The implementation lacks final aggregation step.

MCOL-894 TupleAnnexStep's init and destructor are now parallel execution aware.

    Implemented final merging step for parallel execution finalizeParallelOrderBy().

    Templated unit test to use it with arbitrary number of rows, threads.

Reuse LimitedOrderBy in the final step

MCOL-894 Cleaned up finalizeParallelOrderBy.

MCOL-894 Add and propagate thread variable that controls a number of threads.

    Optimized comparators used for sorting and add corresponding UTs.

    Refactored TupleAnnexStep::finalizeParallelOrderByDistinct.

    Parallel sorting methods now preallocates memory in batches.

MCOL-894 Fixed comparator for StringCompare.
2019-11-05 15:23:43 +03:00
Gagan Goel
c8df46ed26 Replace ha_calpont with ha_mcs in the source code and filenames in the plugin code. 2019-10-11 17:33:43 +00:00