Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.9(EOL)
Description
Test:
SET @json='{ "x": [0,1]}';
|
SELECT JSON_VALUE(@json,'$.x[last]');
|
SELECT JSON_VALUE(@json,'$.x[last-0]');
|
SELECT JSON_VALUE(@json,'$.x[-0]');
|
SELECT JSON_VALUE(@json,'$.x[0]');
|
Expected result:
Expected that 'last' and 'last-0' give the same result
SELECT JSON_VALUE(@json,'$.x[last]');
|
JSON_VALUE(@json,'$.x[last]')
|
1
|
SELECT JSON_VALUE(@json,'$.x[last-0]');
|
JSON_VALUE(@json,'$.x[last-0]')
|
1
|
and index '0' and '-0' too:
SELECT JSON_VALUE(@json,'$.x[-0]');
|
JSON_VALUE(@json,'$.x[-0]')
|
0
|
SELECT JSON_VALUE(@json,'$.x[0]');
|
JSON_VALUE(@json,'$.x[0]')
|
0
|
but Actual result:
SET @json='{ "x": [0,1]}';
|
SELECT JSON_VALUE(@json,'$.x[last]');
|
JSON_VALUE(@json,'$.x[last]')
|
1
|
SELECT JSON_VALUE(@json,'$.x[last-0]');
|
JSON_VALUE(@json,'$.x[last-0]')
|
NULL
|
SELECT JSON_VALUE(@json,'$.x[-0]');
|
JSON_VALUE(@json,'$.x[-0]')
|
NULL
|
SELECT JSON_VALUE(@json,'$.x[0]');
|
JSON_VALUE(@json,'$.x[0]')
|
0
|
Attachments
Issue Links
- relates to
-
MDEV-22224 Support JSON Path negative index
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue relates to |
Description |
*Test:*
{code} SET @json='{ "x": [0,1]}'; SELECT JSON_VALUE(@json,'$.x[last]'); SELECT JSON_VALUE(@json,'$.x[last-0]'); SELECT JSON_VALUE(@json,'$.x[-0]'); SELECT JSON_VALUE(@json,'$.x[0]'); {code} *Expected result:* Expected that 'last' and 'last-0' give the same result {code} SELECT JSON_VALUE(@json,'$.x[last]'); JSON_VALUE(@json,'$.x[last]') 1 SELECT JSON_VALUE(@json,'$.x[last-0]'); JSON_VALUE(@json,'$.x[last-0]') 1 {code} and index '0' and '0' too: {code} SELECT JSON_VALUE(@json,'$.x[-0]'); JSON_VALUE(@json,'$.x[-0]') 0 SELECT JSON_VALUE(@json,'$.x[0]'); JSON_VALUE(@json,'$.x[0]') 0 {code} but *Actual result:* {code} SET @json='{ "x": [0,1]}'; SELECT JSON_VALUE(@json,'$.x[last]'); JSON_VALUE(@json,'$.x[last]') 1 SELECT JSON_VALUE(@json,'$.x[last-0]'); JSON_VALUE(@json,'$.x[last-0]') NULL SELECT JSON_VALUE(@json,'$.x[-0]'); JSON_VALUE(@json,'$.x[-0]') NULL SELECT JSON_VALUE(@json,'$.x[0]'); JSON_VALUE(@json,'$.x[0]') 0 {code} |
*Test:*
{code} SET @json='{ "x": [0,1]}'; SELECT JSON_VALUE(@json,'$.x[last]'); SELECT JSON_VALUE(@json,'$.x[last-0]'); SELECT JSON_VALUE(@json,'$.x[-0]'); SELECT JSON_VALUE(@json,'$.x[0]'); {code} *Expected result:* Expected that 'last' and 'last-0' give the same result {code} SELECT JSON_VALUE(@json,'$.x[last]'); JSON_VALUE(@json,'$.x[last]') 1 SELECT JSON_VALUE(@json,'$.x[last-0]'); JSON_VALUE(@json,'$.x[last-0]') 1 {code} and index '0' and '-0' too: {code} SELECT JSON_VALUE(@json,'$.x[-0]'); JSON_VALUE(@json,'$.x[-0]') 0 SELECT JSON_VALUE(@json,'$.x[0]'); JSON_VALUE(@json,'$.x[0]') 0 {code} but *Actual result:* {code} SET @json='{ "x": [0,1]}'; SELECT JSON_VALUE(@json,'$.x[last]'); JSON_VALUE(@json,'$.x[last]') 1 SELECT JSON_VALUE(@json,'$.x[last-0]'); JSON_VALUE(@json,'$.x[last-0]') NULL SELECT JSON_VALUE(@json,'$.x[-0]'); JSON_VALUE(@json,'$.x[-0]') NULL SELECT JSON_VALUE(@json,'$.x[0]'); JSON_VALUE(@json,'$.x[0]') 0 {code} |
Status | Open [ 1 ] | Confirmed [ 10101 ] |
Status | Confirmed [ 10101 ] | In Review [ 10002 ] |
Assignee | Rucha Deodhar [ rucha174 ] | Alexey Botchkov [ holyfoot ] |
Assignee | Alexey Botchkov [ holyfoot ] | Rucha Deodhar [ rucha174 ] |
Status | In Review [ 10002 ] | Stalled [ 10000 ] |
Fix Version/s | 10.9.0 [ 27113 ] | |
Fix Version/s | 10.9 [ 26905 ] | |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |
patch: https://github.com/MariaDB/server/commit/95fa5ce939813ae91392c597cee0b1cf51757b2b