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

3637 Commits

Author SHA1 Message Date
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
e768a6c5ce MCOL-179 Don't round before divide for DIV. Mimic InnoDB behavior. 2019-07-31 15:03:12 -05:00
David Hall
81e745256b MCOL-174 Replace custom helpers::power() with standard pow(). helpers::power() breaks with #dec > 9 2019-07-31 14:49:31 -05:00
Patrick LeBlanc
05e636b4a5 Fixed a bug in new ownership stuff. Not sure why this didn't happen
everytime.  When called through the dtor, a fcns param is a reference
to a thing it deletes, so segfault.  But only sometimes.
2019-07-31 14:16:50 -05:00
David Hall
765d1d38d4 MCOL-174 Handle quoted numerics 2019-07-31 13:58:50 -05:00
Andrew Hutchings
1b9d10c84e Merge pull request #807 from mariadb-corporation/MCOL-1559
Mcol 1559
2019-07-31 14:33:34 +01:00
Patrick LeBlanc
dfbac2d2a5 Fixed a linker error when doing a release build. 2019-07-31 07:55:46 -05:00
Patrick LeBlanc
be3cfb73d3 Re downloading to a tmp path. Made cache correctly ignore the tmp path,
and added error checking to the move op.  It's working here.
2019-07-31 07:35:20 -05:00
Patrick LeBlanc
978e3d7448 Made Downloader download to a tmp path in the same prefix, then
move it to the cache directory on success.
2019-07-30 17:21:33 -05:00
Patrick LeBlanc
99f8a4feb7 Update storage-manager ref. 2019-07-30 16:47:46 -05:00
David Hall
5266d7dc61 MCOL-1559 don't use facet compare if no trailing whitspcae 2019-07-30 15:46:49 -05:00
Patrick LeBlanc
1c5979576e Merging the prefix-ownership feature.
Squashed commit of the following:

commit 4a4c3dab2e6acf942bbdfd4d760c000bc9cbfc6a
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Tue Jul 30 10:50:08 2019 -0500

    Standardized a couple status msgs.

commit 1b76f7e6411424c9633dcd4ebe7f61e9fce2f0ac
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Tue Jul 30 09:19:31 2019 -0500

    Fixed the thread-joining-itself problem.

commit 4fdb79e87496eab64c4c5af72321bc57423297ba
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Mon Jul 29 17:15:05 2019 -0500

    Checkpointing.  Need to release ownership differently, realized
    I have 1 thread trying to join itself.

commit 04d0183735e9697d76a2472c6135d90755ca61b5
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Mon Jul 29 16:12:33 2019 -0500

    Checkpointing a whole lot of fixes.  test000 works here.

commit 72e9c998c62b095cad1cf33f885f6c7697bde214
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Fri Jul 26 16:29:15 2019 -0500

    Checkpointing.  Started debugging.  Several small fixes.  Doesn't work yet.

commit ab728e1481debec94d676e697954b1d164302a0c
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Fri Jul 26 13:15:47 2019 -0500

    Checkpointing.  Got everything to build.

commit a2c6d07cdc12c45530c1d5cf4205d3aee8738d80
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Fri Jul 26 12:59:26 2019 -0500

    Checkpointing.  Got the library to build.

commit 9f6bf19a64f512e17e6139b0fc04850cdcdb3b3a
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Fri Jul 26 12:24:46 2019 -0500

    Checkpointing.  Still WIP.  Feature touches everything.

commit a79ca8dc88a99f812432d5dca34ed54474df1933
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Thu Jul 25 16:38:20 2019 -0500

    Checkpointing more changes.

commit a9e81af3e4e00f8a3d30b3796a2c3aa94c04f7c0
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Thu Jul 25 15:07:44 2019 -0500

    Checkpointing changes to the other classes that need to be aware
    of separately managed prefixes.

commit d85dfaa401b49a7bb714701649dec303eb7c068c
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Wed Jul 24 14:24:23 2019 -0500

    Added the new class to CMakeLists.

commit 66d6d550b13be94ada107311574378bd848951cd
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Wed Jul 24 14:23:49 2019 -0500

    Checkpointing.  Got the new class to build except for a
    to-be-implemented fcn in Cache.

commit e1b62dba7f05b37b9f12681a53d6632c6ce66d54
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Wed Jul 24 14:23:09 2019 -0500

    Added some documentation to the object_size param.

commit e671cf37c49ed084fbdec1bac50fbaa5ad7c43f9
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Wed Jul 24 10:34:54 2019 -0500

    Checkpointing a new class to manage ownership of prefixes.

commit e5f234ff4c05b5157d37fa17c44d7f626f5e4eb3
Author: Patrick LeBlanc <patrick.leblanc@mariadb.com>
Date:   Tue Jul 23 15:36:48 2019 -0500

    Fixed some copy/paste typos in Metadatafile config err msgs.
2019-07-30 10:51:05 -05:00
Patrick LeBlanc
303d182d5c Removed a couple unused SM config params. Added retry loop
to getting a connection.
2019-07-29 14:44:18 -05:00
Patrick LeBlanc
00158c86ec Minor improvement to what determines whether a file is 'local'
or on some 'other' kind of filesystem.
2019-07-29 14:41:23 -05:00
Patrick LeBlanc
8190e44d1f Fixed an old bug in the HDFS code in the BRM. Journal file supposed
to be opened for appending.
2019-07-29 14:26:13 -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
Patrick LeBlanc
5f43f55ea5 Changed a bunch of file perms. Source files don't need exec perms. 2019-07-23 13:20:08 -05:00
David Hall
41b7560b65 Merge branch 'develop-1.2' into MCOL-1559 2019-07-23 10:21:23 -05:00
David Hall
ed469f7d59 Merge branch 'develop-1.2' of https://github.com/mariadb-corporation/mariadb-columnstore-engine into develop-1.2 2019-07-22 17:53:06 -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
Patrick LeBlanc
fa1ad8faca Made procmon touch the journal file using idb file ops. Not sure
why this is necessary for load_brm to work.
2019-07-22 17:04:41 -05:00
Patrick LeBlanc
f6b464f490 A couple more hacks in procmgr. 2019-07-22 16:44:01 -05:00
Patrick LeBlanc
094e5b554a Changed debugging outputs. 2019-07-22 16:25:31 -05:00
Patrick LeBlanc
45d4a7536b Need to make it eat a trailing \n char. 2019-07-22 14:47:04 -05:00
Patrick LeBlanc
1f09c533d5 more debugging printouts 2019-07-22 14:12:41 -05:00
Patrick LeBlanc
ee81f96f4a More debugging printouts. 2019-07-22 13:31:02 -05:00
Patrick LeBlanc
9f93844772 Still debugging brm transfer stuff. Added some debugging printouts. 2019-07-22 10:39:17 -05:00
Patrick LeBlanc
e8dd6443d6 Replaced some of the shell stuff it was doing with IDB FS fcns.
Still debugging...
2019-07-22 09:58:10 -05:00
Patrick LeBlanc
9daa44efa1 Made procmgr init the IDB* stuff. 2019-07-19 17:08:29 -05:00
Patrick LeBlanc
52bd0ee967 Some logging changes for debugging. 2019-07-19 15:52:01 -05:00
Patrick LeBlanc
be214a6fda Fixed a bug re the previous commit. 2019-07-19 14:54:33 -05:00
Patrick LeBlanc
1a7e733016 Hacked IDB-IO ops into the getDBRMData() stuff procmgr does.
Replaced the fstream stuff it did.
2019-07-19 14:33:29 -05:00
Patrick LeBlanc
d0a576483e Tentative fix for procmon d/ling DBRM files into data1. That screws things
up on shared filesystems, and storagemanager, which has sort-of a shared
filesystem view.
2019-07-19 09:54:54 -05:00
Patrick LeBlanc
3118acc3d4 Made stale sockets reconnect. 2019-07-18 14:56:14 -05:00
Patrick LeBlanc
7d4f406888 Changed the retry behavior in SocketPool to get load_brm to work
when called by proc???.  Also made proc??? start/stop SM around
save_brm runs.  There seems not to be a saner way to do that atm.

So, on stop/restart/shutdown, it will do
1) stop everything
2) restart SM
3) save_brm
4) stop SM again
2019-07-18 11:14:12 -05:00
Patrick LeBlanc
43f7a71bad Disable force-killing of StorageManager. Data corruption is possible
ATM.
2019-07-17 13:07:08 -05:00
Patrick LeBlanc
d30745d37c Merge pull request #805 from pleblanc1976/BRM-IO-cleanup
Brm io cleanup (MCOL-3242)
2019-07-17 07:56:38 -05:00
Andrew Hutchings
106250cbf0 Merge pull request #806 from mariadb-corporation/MCOL-3404
MCOL-3404 Revert experimental changes from MCOL-3343
columnstore-1.2.5
2019-07-17 08:07:08 +01:00