1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-10-24 10:12:58 +03:00
Commit Graph

134 Commits

Author SHA1 Message Date
Gagan Goel
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
Roman Nozdrin
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
Roman Nozdrin
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
Roman Nozdrin
a9c72675ba MCOL-2178 Fixed MDB crash with setError() operating with empty gwi.
FromSubQuery() is no pushdown aware.

    Actualize OUTER_JOIN_DEBUG section in ha_calpont_execplan.cpp
    to be used with 10.4.

    Enabled derivedTableOptimization() for select handler.
2019-08-01 14:29:55 -04:00
Roman Nozdrin
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
Roman Nozdrin
b4d1cbc529 MCOL-2178 upstream merge forces to add explicit namespaces.
Add a magic value check to avoid cleanup procedures only
    if needed.
2019-08-01 14:09:35 -04:00
Roman Nozdrin
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
Roman Nozdrin
5409eed6f5 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.

    Fixed an impossible precision typo.
2019-08-01 14:09:35 -04:00
Roman Nozdrin
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
Roman Nozdrin
6fd5b2f22d MCOL-2178 Merging with 10.4
SELECT_LEX had been moved in THD so changed all references.
        Avoid writing CS decimal scales into MDB decimal fields
            d-only dec attribute. WIP
        Replaced infinidb_vtable with a singleton MIGR.
        Merged with MCOL-2121.
        Added new wsrep include paths needed by UDaF code.
        Removed .vcxproj from Connector code.
2019-08-01 12:54:17 -04:00
Roman Nozdrin
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
Andrew Hutchings
5e4f1b9933 Merge branch 'develop' into MCOL-265 2019-06-10 13:58:03 +01:00
Roman Nozdrin
e12a2acd53 MCOL-537 Regression test doesn't tolerate 'failed' in stderr, stdout.
I reformulate the messages.

    Changed version in preprocessor conditions to avoid compilation
    warnings in Debian 9.

    Disabled sign-compare check for generated files in DML/DDL.
2019-05-20 18:30:52 +03:00
Andrew Hutchings
020b211bb7 Merge branch 'develop-1.2' into develop-merge-up-20190514 2019-05-14 13:58:33 +01:00
Roman Nozdrin
9dc33c4e82 Another try to cope with warnings under gcc 8.2. 2019-04-29 11:05:03 +03:00
David Mott
4b9d046c6e Fully resolve potentially ambiguous symbols by removing using namespace statements from headers which have a cascading effect. This causes potential behavior changes when switching to c++11 since symbols can be exported from std and boost while both have been imported into the global namespace. 2019-04-29 01:21:15 -05:00
Andrew Hutchings
291fbac506 Fix merge issue 2019-04-25 10:51:02 +01:00
Andrew Hutchings
784bbe09d4 Merge branch 'develop-1.2' into develop-merge-up-20190425 2019-04-25 10:27:59 +01:00
Gagan Goel
e89d1ac3cf MCOL-265 Add support for TIMESTAMP data type 2019-04-23 00:00:09 -04:00
Roman Nozdrin
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
Andrew Hutchings
f9f966fe96 MCOL-593 Add optional MariaDB replication support
This patch will allow MariaDB replication into UM1 when enabling the
following is added to the SystemConfig section of Columnstore.xml:

<ReplicationEnabled>Y</ReplicationEnabled>

The intended use case is to replication from an InnoDB MariaDB server
into ColumnStore. You would need to create the tables on the ColumnStore
slave as "ColumnStore" and the same tables in the master as InnoDB.

At the moment the use case is narrow and could be prone to problems so
this will use the hidden flag until we can improve it.
2019-04-15 14:45:34 +01:00
Roman Nozdrin
34b1d44563 MCOL-3247 Add two utility functions to simplify the code:
to log the messages and to forcely close the FEP connection.
2019-04-15 12:37:04 +03:00
Andrew Hutchings
064d2ee9e4 Merge branch 'develop-1.2' into develop-merge-up-20190328 2019-03-28 15:09:21 +00:00
David Hall
3f2c753947 MCOL-1822-c final checkin 2019-03-05 09:33:39 -06:00
David Hall
c654e8621e MCOL-1822 interim checkin 2019-02-27 13:09:37 -06:00
David Hall
a2aa4b8479 MCOL-1822 Intermediate checkin. DISTINCT not working. 2019-02-25 14:54:46 -06:00
Andrew Hutchings
baf07211f9 Merge pull request #698 from drrtuy/MCOL-1101
MCOL-1101 Replace system variables with plugin variables where possible.
2019-02-19 10:48:56 +00:00
Roman Nozdrin
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
Roman Nozdrin
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
Roman Nozdrin
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
Roman Nozdrin
971055a473 MCOL-1101. PoC for INFINIDB_VTABLE and thd variables migration to plugin sys variables. 2019-02-13 22:09:55 +03:00
David Hall
c5b9ae11e5 MCOL-1822 add LONG DOUBLE support 2019-01-29 09:55:43 -06:00
Gagan Goel
d1ada75395 MCOL-270 Add support for MEDIUMINT data type 2018-12-30 19:13:16 -05:00
Andrew Hutchings
61579c7177 Revert "MCOL-1624 mcssystemready() does more testing"
This reverts commit 00ce77b742.
2018-11-24 21:52:33 +00:00
Andrew Hutchings
00ce77b742 MCOL-1624 mcssystemready() does more testing
Now checks if system catalog exists and if we can query the system
catalogue in FE mode (and therefore tests ExeMgr and PrimProc).
2018-11-22 21:58:03 +00:00
Andrew Hutchings
f134f05771 Merge pull request #603 from mariadb-corporation/MCOL-1642
MCOL-1642 Add SQL command that shows Primary Front-End MariaDB Column…
2018-11-09 08:14:31 +00:00
David Hall
f34fa290b5 MCOL-1642 Add SQL command that shows Primary Front-End MariaDB ColumnStore Module 2018-11-01 11:04:41 -05:00
Patrick LeBlanc
f3ce845842 MCOL-520. Fixed several instances where we were using a too-new
contructor to ifstream.
2018-10-10 14:58:50 -05:00
David Hill
b7b98a3e1a MCOL-520 2018-09-25 11:32:56 -05:00
David Hill
72f514ca54 MCOL-520 2018-09-21 14:44:12 -05:00
Roman Nozdrin
18143ecaee MCOL-1052 Remove unused symbols. 2018-09-17 16:18:54 +03:00
Roman Nozdrin
aa11707585 MCOL-1052 ExeMgr now logs original queries processed by GROUP BY handler. 2018-09-17 16:17:11 +03:00
Roman Nozdrin
1d0488df33 MCOL-1601 GROUP BY supports subqueries in HAVING(derived tables processed by the server.) 2018-09-17 16:15:10 +03:00
Roman Nozdrin
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
Andrew Hutchings
03da6df473 Merge branch 'develop-1.1' into 1.1-merge-up-20180817 2018-08-17 16:17:13 +01:00
Andrew Hutchings
52082ebfd5 MCOL-1653 Fix namespace issue
Boost is taken out of global namespace to fix a conflict with MariaDB
10.3. This broke to_string in CentOS. Explicit namespace now used.
2018-08-15 08:30:02 +01:00
Andrew Hutchings
443a2867c4 MCOL-1385 Initial 10.3 support 2018-08-02 14:55:01 +01:00
Andrew Hutchings
4a3f8b77c2 Merge pull request #519 from drrtuy/MCOL-1510
MCOL-1510 GROUP BY handler doesn't support operations on aggregate functions when projecting columns.
2018-07-18 09:34:13 +01:00
Roman Nozdrin
1995e92788 MCOL-1527 CEJ DML statements now return correct number of affected rows. 2018-07-17 20:17:51 +03:00
Roman Nozdrin
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