Details

    • New Feature
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 1.1.0
    • 22.08.1
    • ExeMgr

    Description

      As of 6.2.2 Columnstore doesn't support [1] JSON_* functions doing Select Handler execution.

      We want to add support for the mentioned JSON_* functions into the existing functions and expressions runtime framework(FuncExp).
      Here are the phases for the project:

      1. - get familiar with the code base, compilation and bootstrap process [2]
      2. - split the list of JSON_* functions into those suitable for distributed Select Handler execution and those aren't
      3. - get familiar with FuncExp details [3]
      4. - get familiar with MTR testing framework MCS [4] leverages
      5. - implement/borrow tests from MDB MTR test suite
      6. - implement suitable(see phase 2) JSON_* functions

      There will be an additional simple task to add JSON data type as an alias for LONGTEXT(flex/bison parser tiny project).

      Plz get in touch either here or in MariaDB Zulip chat

      1. There are two query execution modes in MCS: fast distributed Select Handler execution and relatively slow but MDB-compatable Table execution.
      2. Here is the automated bootstrap script.
      3. FuncExp is a number of classes to describe an arbitrary tree of expressions doing projection, e.g. SELECT COS(c1 + c2) or doing filtering, e.g. SELECT c1 from t1 WHERE LENGTH(SUBSTRING(c1,2,2)) > 5. In most cases the implementation of a function looks as simple as this. An abstract part for FuncExp can be found in the MCS repo here.
      4. Plz see this for the short info.

      Attachments

        Issue Links

          Activity

            dleeyh Daniel Lee (Inactive) created issue -
            dleeyh Daniel Lee (Inactive) made changes -
            Field Original Value New Value
            LinuxJedi Andrew Hutchings (Inactive) made changes -
            dthompson David Thompson (Inactive) made changes -
            Issue Type Improvement [ 4 ] New Feature [ 2 ]
            LinuxJedi Andrew Hutchings (Inactive) made changes -
            Epic Link MCOL-1049 [ 64464 ]
            LinuxJedi Andrew Hutchings (Inactive) made changes -
            toddstoffel Todd Stoffel (Inactive) made changes -
            Assignee Todd Stoffel [ toddstoffel ]
            toddstoffel Todd Stoffel (Inactive) made changes -
            Fix Version/s N/A [ 22302 ]
            toddstoffel Todd Stoffel (Inactive) made changes -
            Fix Version/s 1.7 [ 23713 ]
            Fix Version/s N/A [ 22302 ]
            toddstoffel Todd Stoffel (Inactive) made changes -
            Fix Version/s 1.6 [ 23712 ]
            Fix Version/s 1.7 [ 23713 ]
            toddstoffel Todd Stoffel (Inactive) made changes -
            Rank Ranked lower
            toddstoffel Todd Stoffel (Inactive) made changes -
            Fix Version/s Icebox [ 22302 ]
            Fix Version/s 1.6 [ 23712 ]
            toddstoffel Todd Stoffel (Inactive) made changes -
            Rank Ranked higher
            toddstoffel Todd Stoffel (Inactive) made changes -
            Rank Ranked higher
            toddstoffel Todd Stoffel (Inactive) made changes -
            Rank Ranked higher
            toddstoffel Todd Stoffel (Inactive) made changes -
            Rank Ranked higher
            toddstoffel Todd Stoffel (Inactive) made changes -
            Rank Ranked higher
            toddstoffel Todd Stoffel (Inactive) made changes -
            Rank Ranked higher
            toddstoffel Todd Stoffel (Inactive) made changes -
            Epic Link MCOL-1049 [ 64464 ] MCOL-4550 [ 97124 ]
            toddstoffel Todd Stoffel (Inactive) made changes -
            toddstoffel Todd Stoffel (Inactive) made changes -
            toddstoffel Todd Stoffel (Inactive) made changes -
            toddstoffel Todd Stoffel (Inactive) made changes -
            toddstoffel Todd Stoffel (Inactive) made changes -
            drrtuy Roman made changes -
            Labels gsoc22
            drrtuy Roman made changes -
            Description [root@localhost mariadb-columnstore-server]# git show
            commit 594ef1807a5d6cba45cf7c2bed03cccdc32f177a
            Merge: a5f191d ce815f9
            Author: David.Hall <david.hall@mariadb.com>
            Date: Thu Jun 8 10:12:50 2017 -0500
            [root@localhost mariadb-columnstore-engine]# git show
            commit ebaf24473c0838989bf504a7c104c511b876fcb8
            Author: david hill <david.hill@mariadb.com>
            Date: Fri Jun 16 16:53:48 2017 -0500
            As of testing time, ColumnStore does not supported distributed distributed JSON functions. JSONs are being executed by MariaDB front end (vtablemode=0).

            At the time of the creation of this ticket, MariaDB kb web page shows the following list as supported JSON functions:

            JSON_ARRAY_APPEND
            JSON_ARRAY_INSERT
            JSON_ARRAY
            JSON_COMPACT
            JSON_CONTAINS_PATH
            JSON_CONTAINS
            JSON_DEPTH
            JSON_DETAILED
            JSON_EXISTS
            JSON_EXTRACT
            JSON_INSERT
            JSON_KEYS
            JSON_LENGTH
            JSON_LOOSE
            JSON_MERGE
            JSON_OBJECT
            JSON_QUERY
            JSON_QUOTE
            JSON_REMOVE
            JSON_REPLACE
            JSON_SEARCH
            JSON_SET
            JSON_TYPE
            JSON_UNQUOTE
            JSON_VALID
            JSON_VALUE



            https://mariadb.com/kb/en/json-functions/
            drrtuy Roman made changes -
            Description

            https://mariadb.com/kb/en/json-functions/
            As of 6.2.2 Columnstore doesn't support [1] JSON_* [functions|https://mariadb.com/kb/en/json-functions/] doing Select Handler execution.

            We want to add support for the mentioned JSON_* functions into the existing functions and expressions runtime framework(FuncExp).
            Here are the phases for the project:
            # - get familiar with the code base, compilation and bootstrap process [2]
            # - split the list of JSON_* functions into those suitable for distributed Select Handler execution and those aren't
            # - get familiar with FuncExp details [3]
            # - get familiar with MTR testing framework MCS [4] leverages
            # - implement/borrow tests from MDB MTR test suite
            # - implement suitable(see phase 2) JSON_* functions

            1. There are two query execution modes in MCS: fast distributed Select Handler execution and relatively slow but MDB-compatable Table execution.
            2. [Here|https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/build/bootstrap_mcs.sh] is the automated bootstrap script.
            3. FuncExp is a number of classes to describe an arbitrary tree of expressions doing projection, e.g. SELECT COS(c1 + c2) or doing filtering, e.g. SELECT c1 from t1 WHERE LENGTH(SUBSTRING(c1,2,2)) > 5. In most cases the implementation of a function looks as simple as [this|https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/utils/funcexp/func_ceil.cpp]. An abstract part for FuncExp can be found in [the MCS repo here| https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/utils/funcexp/functor.h].
            4. Plz see [this|https://mariadb.com/kb/en/mysql-test-overview/] for the short info.

            Plz get in touch either here or in [MariaDB Zulip chat|https://mariadb.zulipchat.com/#narrow/stream/118759-general/topic/ColumnStore]
            drrtuy Roman made changes -
            Description As of 6.2.2 Columnstore doesn't support [1] JSON_* [functions|https://mariadb.com/kb/en/json-functions/] doing Select Handler execution.

            We want to add support for the mentioned JSON_* functions into the existing functions and expressions runtime framework(FuncExp).
            Here are the phases for the project:
            # - get familiar with the code base, compilation and bootstrap process [2]
            # - split the list of JSON_* functions into those suitable for distributed Select Handler execution and those aren't
            # - get familiar with FuncExp details [3]
            # - get familiar with MTR testing framework MCS [4] leverages
            # - implement/borrow tests from MDB MTR test suite
            # - implement suitable(see phase 2) JSON_* functions

            1. There are two query execution modes in MCS: fast distributed Select Handler execution and relatively slow but MDB-compatable Table execution.
            2. [Here|https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/build/bootstrap_mcs.sh] is the automated bootstrap script.
            3. FuncExp is a number of classes to describe an arbitrary tree of expressions doing projection, e.g. SELECT COS(c1 + c2) or doing filtering, e.g. SELECT c1 from t1 WHERE LENGTH(SUBSTRING(c1,2,2)) > 5. In most cases the implementation of a function looks as simple as [this|https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/utils/funcexp/func_ceil.cpp]. An abstract part for FuncExp can be found in [the MCS repo here| https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/utils/funcexp/functor.h].
            4. Plz see [this|https://mariadb.com/kb/en/mysql-test-overview/] for the short info.

            Plz get in touch either here or in [MariaDB Zulip chat|https://mariadb.zulipchat.com/#narrow/stream/118759-general/topic/ColumnStore]
            As of 6.2.2 Columnstore doesn't support [1] JSON_* [functions|https://mariadb.com/kb/en/json-functions/] doing Select Handler execution.

            We want to add support for the mentioned JSON_* functions into the existing functions and expressions runtime framework(FuncExp).
            Here are the phases for the project:
            # - get familiar with the code base, compilation and bootstrap process [2]
            # - split the list of JSON_* functions into those suitable for distributed Select Handler execution and those aren't
            # - get familiar with FuncExp details [3]
            # - get familiar with MTR testing framework MCS [4] leverages
            # - implement/borrow tests from MDB MTR test suite
            # - implement suitable(see phase 2) JSON_* functions

            There will be an additional simple task to add JSON data type as an alias for LONGTEXT(flex/bison parser tiny project).

            1. There are two query execution modes in MCS: fast distributed Select Handler execution and relatively slow but MDB-compatable Table execution.
            2. [Here|https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/build/bootstrap_mcs.sh] is the automated bootstrap script.
            3. FuncExp is a number of classes to describe an arbitrary tree of expressions doing projection, e.g. SELECT COS(c1 + c2) or doing filtering, e.g. SELECT c1 from t1 WHERE LENGTH(SUBSTRING(c1,2,2)) > 5. In most cases the implementation of a function looks as simple as [this|https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/utils/funcexp/func_ceil.cpp]. An abstract part for FuncExp can be found in [the MCS repo here| https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/utils/funcexp/functor.h].
            4. Plz see [this|https://mariadb.com/kb/en/mysql-test-overview/] for the short info.

            Plz get in touch either here or in [MariaDB Zulip chat|https://mariadb.zulipchat.com/#narrow/stream/118759-general/topic/ColumnStore]
            drrtuy Roman made changes -
            Description As of 6.2.2 Columnstore doesn't support [1] JSON_* [functions|https://mariadb.com/kb/en/json-functions/] doing Select Handler execution.

            We want to add support for the mentioned JSON_* functions into the existing functions and expressions runtime framework(FuncExp).
            Here are the phases for the project:
            # - get familiar with the code base, compilation and bootstrap process [2]
            # - split the list of JSON_* functions into those suitable for distributed Select Handler execution and those aren't
            # - get familiar with FuncExp details [3]
            # - get familiar with MTR testing framework MCS [4] leverages
            # - implement/borrow tests from MDB MTR test suite
            # - implement suitable(see phase 2) JSON_* functions

            There will be an additional simple task to add JSON data type as an alias for LONGTEXT(flex/bison parser tiny project).

            1. There are two query execution modes in MCS: fast distributed Select Handler execution and relatively slow but MDB-compatable Table execution.
            2. [Here|https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/build/bootstrap_mcs.sh] is the automated bootstrap script.
            3. FuncExp is a number of classes to describe an arbitrary tree of expressions doing projection, e.g. SELECT COS(c1 + c2) or doing filtering, e.g. SELECT c1 from t1 WHERE LENGTH(SUBSTRING(c1,2,2)) > 5. In most cases the implementation of a function looks as simple as [this|https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/utils/funcexp/func_ceil.cpp]. An abstract part for FuncExp can be found in [the MCS repo here| https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/utils/funcexp/functor.h].
            4. Plz see [this|https://mariadb.com/kb/en/mysql-test-overview/] for the short info.

            Plz get in touch either here or in [MariaDB Zulip chat|https://mariadb.zulipchat.com/#narrow/stream/118759-general/topic/ColumnStore]
            As of 6.2.2 Columnstore doesn't support [1] JSON_* [functions|https://mariadb.com/kb/en/json-functions/] doing Select Handler execution.

            We want to add support for the mentioned JSON_* functions into the existing functions and expressions runtime framework(FuncExp).
            Here are the phases for the project:
            # - get familiar with the code base, compilation and bootstrap process [2]
            # - split the list of JSON_* functions into those suitable for distributed Select Handler execution and those aren't
            # - get familiar with FuncExp details [3]
            # - get familiar with MTR testing framework MCS [4] leverages
            # - implement/borrow tests from MDB MTR test suite
            # - implement suitable(see phase 2) JSON_* functions

            There will be an additional simple task to add JSON data type as an alias for LONGTEXT(flex/bison parser tiny project).

            Plz get in touch either here or in [MariaDB Zulip chat|https://mariadb.zulipchat.com/#narrow/stream/118759-general/topic/ColumnStore]

            1. There are two query execution modes in MCS: fast distributed Select Handler execution and relatively slow but MDB-compatable Table execution.
            2. [Here|https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/build/bootstrap_mcs.sh] is the automated bootstrap script.
            3. FuncExp is a number of classes to describe an arbitrary tree of expressions doing projection, e.g. SELECT COS(c1 + c2) or doing filtering, e.g. SELECT c1 from t1 WHERE LENGTH(SUBSTRING(c1,2,2)) > 5. In most cases the implementation of a function looks as simple as [this|https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/utils/funcexp/func_ceil.cpp]. An abstract part for FuncExp can be found in [the MCS repo here| https://github.com/mariadb-corporation/mariadb-columnstore-engine/blob/develop/utils/funcexp/functor.h].
            4. Plz see [this|https://mariadb.com/kb/en/mysql-test-overview/] for the short info.

            drrtuy Roman made changes -
            Summary Implement support for DISTRIBUTED support for JSON functions Implement support for DISTRIBUTED JSON functions
            drrtuy Roman made changes -
            Summary Implement support for DISTRIBUTED JSON functions Implement DISTRIBUTED JSON functions
            drrtuy Roman made changes -
            Assignee Todd Stoffel [ toddstoffel ] David Hall [ david.hall ]
            drrtuy Roman made changes -
            alexey.vorovich alexey vorovich (Inactive) made changes -
            Assigned for Review Denis Khalikov [ JIRAUSER48434 ]
            alexey.vorovich alexey vorovich (Inactive) made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            drrtuy Roman made changes -
            Status In Progress [ 3 ] In Testing [ 10301 ]
            drrtuy Roman made changes -
            Assignee David Hall [ david.hall ] Daniel Lee [ dleeyh ]
            dleeyh Daniel Lee (Inactive) made changes -
            Assignee Daniel Lee [ dleeyh ] Roman [ drrtuy ]
            dleeyh Daniel Lee (Inactive) made changes -
            Status In Testing [ 10301 ] Stalled [ 10000 ]
            drrtuy Roman made changes -
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            drrtuy Roman made changes -
            Fix Version/s 22.08.1 [ 28206 ]
            Fix Version/s Icebox [ 22302 ]
            alexey.vorovich alexey vorovich (Inactive) made changes -
            Assignee Roman [ drrtuy ] alexey vorovich [ JIRAUSER48263 ]
            alexey.vorovich alexey vorovich (Inactive) made changes -
            Assignee alexey vorovich [ JIRAUSER48263 ] ziyitan [ JIRAUSER51247 ]
            drrtuy Roman made changes -
            drrtuy Roman made changes -
            drrtuy Roman made changes -
            mariadb-jira-automation Jira Automation (IT) made changes -
            Zendesk Related Tickets 170187

            People

              lunar_land ziyitan
              dleeyh Daniel Lee (Inactive)
              Denis Khalikov Denis Khalikov (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.