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

66 Commits

Author SHA1 Message Date
12cb5201ac MCOL-2178 Separate ha_mcs_pushdown.cpp compilation.
Set a proper type for string literals on ConstantColumn ctor
to fix the regression produced by MCOL-174.

Removed OPTIMIZER_SWITCH_EXISTS_TO_IN b/c MDB produces
unsupported optimization with it and CS couldn't create
ExistsFilter.
2019-10-07 03:12:37 -05:00
4f86b0f909 Fix develop build breakages 2019-08-29 09:44:14 +01:00
973b80dbbc Merge pull request #820 from mariadb-corporation/MCOL-3424
MCOL-3424 Fix handler API breakage for write_row()
2019-08-14 16:46:20 +03:00
f64db01d81 Merge pull request #822 from mariadb-corporation/remove-infinidb
Fix hton usage
2019-08-14 16:44:13 +03:00
ad355dc771 Fix hton usage 2019-08-14 14:03:23 +01:00
fd5233f070 MCOL-3424 Fix handler API breakage for write_row()
The MariaDB handler API changed for write_row(). The 'buf' parameter is
now a 'const'. This meant that our implementation didn't match the
virtual call so ours was no longer called. This implemented the 'const'.
2019-08-13 14:18:59 +01:00
b1bc995420 Merge branch 'develop' into remove-infinidb 2019-08-13 12:32:01 +03:00
196a50ef11 Merge pull request #815 from pleblanc1976/corporaton
Mass substitution 'Corporaton' -> 'Corporation'
2019-08-13 08:34:39 +01:00
f0c83a4a1f MCOL-2178 Enable GBH by default.
We preserve union related condition blocks until UNION-capable smart handler.

    Removed a number of commented code blocks.

    Add projection list REAL and TIME constants, e.g
        SELECT TIME'10:20:30',  TIMESTAMP'2001-01-01 10:20:30',  DATE'2001-01-01' FROM cs1;

    Marked potentially useless block in ORDER BY processing for future removal.

    Removed string variables used for reconstructed query in the pre-1.4 fork.

    Removed cp_get_plan().

    GBH doesn't step in if SH processes the query.

    All smart handlers now correctly processes impossible WHERE and HAVING.
2019-08-12 21:02:32 +03:00
9d83b49fca MCOL-104 First pass of InfiniDB rename in code 2019-08-12 09:41:28 +01:00
7b006b6e74 MCOL-104 Remove InfiniDB Engine
Remove the InfiniDB engine which is a duplicate of the ColumnStore
engine.
2019-08-09 11:51:55 +01:00
a09a9d5d0f Mass substitution 'Corporaton' -> 'Corporation' 2019-08-07 14:43:25 -05:00
1c460f3ba5 MCOL-2178 Cleanup of MIGR:: singleton from the plugin code.
Disable SP execution by the smart handlers for now.

    Add session variables to Enable/Disable select/derived/group_by
    handlers. Defaulted to Enable.
2019-08-04 21:50:50 -04:00
d62b66ecf7 parse_item() in execplan code now always get an actual GWI structure
to avoid accedental crashes.

Add check for Conversion of Big IN Predicates Into Subqueries optimization
conditions.

Enabled derivedTableOptimization() for group by and derived handlers.

Disabled Conversion of Big IN Predicates Into Subqueries optimization.

Disabled most of optimizer_flags for now.

RowGroup + operator now correctly sets useStringTable flag that
instructs code to check StringStore instead of plain data buffer.
2019-08-01 14:29:55 -04:00
7d5275e1bd MCOL-2178 CS now doesn't initiate a scan when MDB explicitly set scan to false in rnd_init().
sortItemIsInGroupRec() now has a base case for Item_Field and this prevents unbound recursion.

    Fixes fromSub() call with incorrect number of arguments.

    CS now doesn't ask for statistics unless a user explicitly asks for it using calsettrace().
2019-08-01 14:29:55 -04:00
3074b6c4b3 MCOL-2178 Functions with constant args are processed by CS now.
Fix crash in ha_calpont_impl_close_connection()

    Fix leak in ci.tableMap.

    Removed extra returns in pushdown_init to avoid crashes.

    create_select_handler now detects INSERT..SELECT.

    buildConstColFromFilter now uses any kind of filter to supply
    relevant columns.

    Remove strings used by vtable redo phase.

    Make FromSubQuery aware of Pushdown handlers.

    Changed debug_walk to work around changed Item framework.

    Temporary disabled derived handler and unsupported features checks.
2019-08-01 14:09:35 -04:00
c297ceb6c1 MCOL-2178 Connector code now uses separate hton for columnstore engine.
CS now uses hton->close_connection() method to release all FEP
    connections from MDB to ExeMgr.

    Refactor fetchNextRow() to remove decimal and double precision
    changes.
2019-08-01 14:09:35 -04:00
cd72326c4d MCOL-2178 Introduced a dummy replacement for a infinidb_table.
Used Item attribute getters introduced by 10.4

    Make changes to support Item::CONST_ITEM introduced by 10.4
    as a replacement for INT_,REAL_,STRING_ ITEM.

    Replaced QT_INFINIDB_DERIVED and similar flags
    with correponded flags for Item->print().

    Replaced or commented out infinidb_ variable names with columnstore_
    where applicable.
2019-08-01 14:09:35 -04:00
2071716ebd MCOL-2121 New derived_handler(MDEV-17096) infrastructure.
Renamed isInfiniDB() into isMCSTable

    Changed getSelectPlan() to reuse it with derived and
        other handler types.

    Separate pushdown handlers methods and functions.

    Removed vcxproj files from the source.

    Added fix for MCOL-2166.

    Merged with MCOL-2121
2019-08-01 12:54:17 -04:00
287b2ba7bd MCOL-3247 CS uses thread plugin variables since MCOL-1101 that aren't
good for transmiting cal_connection_info to handler::close_connection().
This variables are then erased in THD::cleanup() and the cal_connection_info
is replaced in handler::delete_table with an empty structure.
handler::close_connection() recevies cal_connection_info with empty cal_conn_hndl.
This patch uses THD::ha_data that is supposed to be used in such occasions.
2019-04-15 19:31:12 +03:00
064d2ee9e4 Merge branch 'develop-1.2' into develop-merge-up-20190328 2019-03-28 15:09:21 +00:00
eef813982c MCOL-2165 This disables correlated subqueries processing in group_by_nahdler
handing the query back to the server.
2019-02-22 19:04:45 +03:00
06696f596a MCOL-1101 Add plugin variables to replace the legacy system vars.
Legacy system vars with names infinidb_* was preserved for
    backward compatibility and they will be used if
    columnstore_use_legacy_vars variable is set.

    Remove unused structure and plugin variable.
2019-02-18 16:13:50 +03:00
d22183e195 MCOL-1101 Move client UDFs into a separate file.
Remove rmParms from ha_calpont_impl.cpp
2019-02-13 22:09:55 +03:00
ca0240037a FE connection info structure migration.
Replaced INFINIDB_VTABLE.cal_conn_info with a plugin thread variable.
	Fixed query_string memory deallocation crash at plugin_thdvar_cleanup.
2019-02-13 22:09:55 +03:00
971055a473 MCOL-1101. PoC for INFINIDB_VTABLE and thd variables migration to plugin sys variables. 2019-02-13 22:09:55 +03:00
ffb3a68a86 MCOL-1716 Disable GROUP BY handler for queries with NOT IN and correlated subquery. 2018-11-25 12:24:38 +03:00
3bf269b3f7 MCOL-1519 GROUP BY handler now uses an appropriate SELECT_LEX structure.
Before that handler used an outter query SELECT_LEX that could give
	incorrect information for subquery.
2018-11-20 13:44:47 +03:00
77e3349b06 MCOL-1519 The GROUP BY unsupported feature check returns false positive that disables GROUP BY handler. 2018-11-19 22:41:17 +03:00
d95d2d7601 MCOL-1519 The server won`t use GROUP BY handler in queries with:
unsupported JOIN types
	impossible HAVING
	impossible WHERE
2018-11-14 17:50:02 +03:00
5821a71072 MCOL-1717 GROUP BY handler now processes only relevant queries. 2018-09-12 14:08:35 +03:00
62f296b443 MCOL-1510 Make changes to allow aggregations as function arguments when build in release mode. See also MDEV-16842. 2018-08-30 16:59:41 +03:00
443a2867c4 MCOL-1385 Initial 10.3 support 2018-08-02 14:55:01 +01:00
cdd9bed1ae MCOL-1510 GROUP BY supports functions with aggregation funcs as arguments in projections, e.g. sum(i)+1. 2018-07-03 18:22:13 +03:00
b6941d5ba3 MCOL-1456 GROUP BY handler doesn`t process queries in autoswitch mode. 2018-06-20 21:04:55 +03:00
1a582eed4a Merge branch 'develop-1.1' into 1.1-merge-up-20180509-a2 2018-05-09 09:20:55 +01:00
720e1d91b9 MCOL-1052 WIP Clean up the code. 2018-04-11 16:15:12 +03:00
ba38e392fc MCOL-1052 WIP Uses item_ptr instead of auxilary vector; Changes fetchNextRow() interface and remove unused funcs; Uncomment extra checks in ha_calpont_impl_group_by_init(). 2018-04-11 15:52:26 +03:00
5a0ff2bb60 MCOL-1052 WIP group_by_handler processes agg functions in ORDER BY now. debug_walk() outputs information about extended SELECT list items. 2018-04-10 18:55:19 +03:00
05bca5382d MCOL-1052 WIP HAVING filter works. Decline non GROUP BY fields not presented in the ORDER BY list with error. 2018-04-10 04:27:08 +03:00
617ff85b94 MCOL-1052 WIP Working with HAVING over agg functions problem. 2018-04-05 17:20:26 +03:00
78aeedb162 MCOL-1052 WIP Process UNION subqueries separetely. 2018-04-02 15:03:59 +03:00
d562caecba MCOL-1052 Generate and send CSEP to and receive set data from ExeMgr. 2018-03-31 22:38:18 +03:00
fa4067b6f0 MCOL-1052 Generate execution plan for a aggregated function query call. 2018-03-27 18:37:00 +03:00
cff504c8bf MCOL-1052. init_scan() initial implementation. 2018-03-22 17:12:56 +03:00
a03ecb7a8e MCOL-1052. The handler returns fixed value. 2018-03-19 20:45:21 +03:00
e14b327a57 MCOL-1052: Skeleton for group_by_handler for CS. 2018-03-17 14:06:23 +03:00
0d7c0f7ae4 Merge branch 'develop-1.1' into dev-merge-up-20180202 2018-02-02 14:53:36 +00:00
bea47cc657 MCOL-939 Moved columnstore version information to columnstoreversion.h for 1.1.X 2017-12-12 22:53:33 +03:00
01446d1e22 Reformat all code to coding standard 2017-10-26 17:18:17 +01:00