Details
-
New Feature
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
1.1.0
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:
- - 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
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
- is blocked by
-
MDEV-28947 JSON_TYPE result is turncated, charset max length should be considered
-
- Closed
-
- is part of
-
MCOL-5227 Implement JSON_ARRAYAGG
-
- Closed
-
- relates to
-
MCOL-784 JSON_REPLACE() returned a json_update does not exist error.
-
- Closed
-
-
MCOL-599 JSON Functions
-
- Closed
-
-
MCOL-1358 Json Datatype not support
-
- Closed
-
-
MCOL-1548 Add feature to load the json/xml file format data with cpimport into columnstore
-
- Closed
-
-
MCOL-2099 Document supported JSON functions in KB
-
- Closed
-
-
MCOL-3479 JSON functions return "can only be used in the outermost...." error messages
-
- Closed
-
Activity
Issue Type | Improvement [ 4 ] | New Feature [ 2 ] |
Epic Link |
|
Assignee | Todd Stoffel [ toddstoffel ] |
Fix Version/s | N/A [ 22302 ] |
Fix Version/s | 1.7 [ 23713 ] | |
Fix Version/s | N/A [ 22302 ] |
Fix Version/s | 1.6 [ 23712 ] | |
Fix Version/s | 1.7 [ 23713 ] |
Rank | Ranked lower |
Fix Version/s | Icebox [ 22302 ] | |
Fix Version/s | 1.6 [ 23712 ] |
Rank | Ranked higher |
Rank | Ranked higher |
Rank | Ranked higher |
Rank | Ranked higher |
Rank | Ranked higher |
Rank | Ranked higher |
Labels | gsoc22 |
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/ |
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] |
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] |
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. |
Summary | Implement support for DISTRIBUTED support for JSON functions | Implement support for DISTRIBUTED JSON functions |
Summary | Implement support for DISTRIBUTED JSON functions | Implement DISTRIBUTED JSON functions |
Assignee | Todd Stoffel [ toddstoffel ] | David Hall [ david.hall ] |
Link |
This issue is blocked by |
Assigned for Review | Denis Khalikov [ JIRAUSER48434 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Status | In Progress [ 3 ] | In Testing [ 10301 ] |
Assignee | David Hall [ david.hall ] | Daniel Lee [ dleeyh ] |
Assignee | Daniel Lee [ dleeyh ] | Roman [ drrtuy ] |
Status | In Testing [ 10301 ] | Stalled [ 10000 ] |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |
Fix Version/s | 22.08.1 [ 28206 ] | |
Fix Version/s | Icebox [ 22302 ] |
Assignee | Roman [ drrtuy ] | alexey vorovich [ JIRAUSER48263 ] |
Assignee | alexey vorovich [ JIRAUSER48263 ] | ziyitan [ JIRAUSER51247 ] |
Zendesk Related Tickets | 170187 |