1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-08 14:22:09 +03:00
Commit Graph

1621 Commits

Author SHA1 Message Date
Roman Nozdrin
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
Andrew Hutchings
9d83b49fca MCOL-104 First pass of InfiniDB rename in code 2019-08-12 09:41:28 +01:00
Andrew Hutchings
82f5a985a0 MCOL-2219 Remove unused lexer patterns 2019-08-12 08:50:47 +01:00
Andrew Hutchings
7af9771319 Merge branch 'develop' into develop-merge-up-20190729 2019-08-09 14:01:11 +01:00
Andrew Hutchings
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
Patrick LeBlanc
a09a9d5d0f Mass substitution 'Corporaton' -> 'Corporation' 2019-08-07 14:43:25 -05:00
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
Andrew Hutchings
e9a4412346 MCOL-2219 Fix space handling in DDL parser
Allow non-alphanumeric character after space in column names.
2019-08-01 18:20:13 +01: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
David Hall
765d1d38d4 MCOL-174 Handle quoted numerics 2019-07-31 13:58:50 -05:00
Andrew Hutchings
83a8924229 Fix namespace and class changes 2019-07-29 13:48:28 +01:00
Andrew Hutchings
811909aa72 Merge branch 'develop-1.2' into develop-merge-up-20190729 2019-07-29 12:19:26 +01:00
David Hall
78eb20ef4e MCOL-1559 remove the #define POSIX_REGEX and thus the use of regexec. Fix up the code changing #ifdef _MSC_VER to #ifdef POSIX_REGEX, where it applies to regexec. 2019-07-24 12:59:59 -05:00
David Hall
41b7560b65 Merge branch 'develop-1.2' into MCOL-1559 2019-07-23 10:21:23 -05:00
David Hall
05726a9da2 MCOL-1559 Allow for the special case where LIKE is used on CHAR fields 2019-07-22 17:51:26 -05:00
David Hall
c683b6bfc0 MCOL-3404 Revert experimental changes from MCOL-3343 2019-07-16 18:19:03 -05:00
David Hall
cd79a42ec1 MCOL-3404 Back out experimental changes from MCOL-3343 2019-07-16 17:14:17 -05:00
Andrew Hutchings
a627611378 Revert "MCOL-2243 Only set length and dec when dec is zero"
This reverts commit b05c4e8df4.
2019-07-11 13:32:44 +01:00
Andrew Hutchings
6219486607 MCOL-3399 Fix VARCHAR LDI length processing
Accidentally passed the wrong number of bytes when processing the row
provided in LDI. Revert the buf increment code.
2019-07-10 11:09:40 +01:00
David Hall
b3df052b9f MCOL-1559 only trim on spaces, not on tabs. Don't ask me why that is. 2019-07-05 12:53:01 -05:00
David Hall
db597e914b Merge branch 'develop-1.2' into MCOL-1559 2019-07-03 11:20:39 -05:00
David Hall
5993176839 MCOL-1559 add in trim for compare 2019-07-03 11:18:23 -05:00
David Hall
474039b6cf MCOL-1559 trim strings before compare on equal operator 2019-06-27 10:18:10 -05:00
Andrew Hutchings
9c4ac78105 MCOL-2225 Make cross-engine step use backticks
If an InnoDB table has spaces in the column names the cross engine step
would fail. This patch wraps quotes around the table and column names to
support this use case.
2019-06-26 07:50:17 +01:00
David.Hall
5bb388842c Merge pull request #794 from mariadb-corporation/MCOL-3391
MCOL-3391 Fix columnstore_upgrade unicode support
2019-06-25 15:40:56 -05:00
David.Hall
206de40664 Merge pull request #788 from mariadb-corporation/develop-1.2-merge-up-20190619
MCOL-3388 Merge develop-1.1 into develop-1.2
2019-06-25 15:31:56 -05:00
Andrew Hutchings
089ec7d4dc MCOL-3391 Fix columnstore_upgrade unicode support
The columnstore_upgrade() procedure would break on utf8 table names.
This patch fixes that.
2019-06-25 17:15:30 +01:00
David Hall
567de10204 Merge branch 'develop-1.2' into MCOL-1559
Conflicts:
	dbcon/execplan/predicateoperator.h
2019-06-24 17:08:33 -05:00
David Hall
2255d41eaf MCOL-3343 Error when no group by for unaggregated fields in window functions. 2019-06-20 15:54:05 -05:00
David Hall
4cf2c37c18 MCOL-3343 Handle windowfunction <arithmetic op> simple column 2019-06-20 09:24:58 -05:00
Andrew Hutchings
cddb776bd4 Merge branch 'develop-1.1' into develop-1.2-merge-up-20190619 2019-06-19 18:34:43 +01:00
David Hall
b2cfcc249e Merge branch 'develop-1.2' into MCOL-3343 2019-06-18 12:17:32 -05:00
Andrew Hutchings
b05c4e8df4 MCOL-2243 Only set length and dec when dec is zero
Length and dec for columns only needs to be set when it is the result of
a function. Otherwise it could lead to odd side-effects in MariaDB.
2019-06-18 16:13:50 +01:00
David.Hall
a97a2c1add Merge pull request #778 from davidjmott/branches/davidjmott/MCOL-3353
fix to possible memory corruption
2019-06-17 10:53:19 -05:00
Andrew Hutchings
7d22a5945c MCOL-1989 Fix view in view subquery outer join
A view calling a view as part of a subquery outer join was not getting
the view name for the derived table columns. Which caused ColumnStore to
think it was joining outside of the view and triggered a missing column
error.

This fix adds the view name from the subquery if one cannot be obtained
from the field object.
2019-06-14 15:52:30 +01:00
David Hall
ea6592ea08 MCOL-3343 Try adding aggregate result to jobInfo.nonConstDelCol vector 2019-06-12 14:20:52 -05:00
Andrew Hutchings
e3cd205388 MCOL-1968 Fix UTF char/varchar min/max handling
If the first byte of a char/varchar was > 0x80 then it will break the
min/max values for an extent during cpimport. This patch makes the
min/max compare unsigned and only switches to signed when storing.

In addition send all the LDI / INSERT...SELECT data to cpimport, not
truncated. Let cpimport figure out the truncation point.
2019-06-11 10:37:04 +01:00
Andrew Hutchings
f8b834c8ec Merge pull request #777 from mariadb-corporation/MCOL-3304
MCOL-3304 During prepAggregate, if you set type to LONGDOUBLE, set sc…
2019-06-10 14:02:09 +01:00
Andrew Hutchings
5e4f1b9933 Merge branch 'develop' into MCOL-265 2019-06-10 13:58:03 +01:00
David Mott
fff18e0dd4 fix to possible memory corruption 2019-06-03 03:36:48 -05:00
Andrew Hutchings
dd3df5328c Merge pull request #776 from mariadb-corporation/MCOL-3239
MCOL-3239 CS pushes relevant filter predicates into derived tables.
2019-05-31 11:29:58 +01:00