Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-32007

JSON_VALUE and JSON_EXTRACT doesn't handle dash (-) as first character in key

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Critical
    • Resolution: Fixed
    • 11.0.2
    • 11.0.5, 11.1.4, 11.2.3
    • JSON
    • None
    • MariaDB 11.0.2 running on MacOS; installed using homebrew

    Description

      11.0.2 doesn't seem to handle dashes when supplied as the first character of the JSON key. In JSON_VALUE and JSON_EXTRACT functions - it returns NULL even when the key is provided using the expected quoting.

      CREATE TEMPORARY TABLE IF NOT EXISTS jsonTest AS
      	SELECT '{ "-1234" : "something", "12-34" : "else", "1234-" : "and", "1234" : "match" }' AS 'message'
      ;
       
      SELECT	JSON_SEARCH(message, 'one', 'something') AS t1_path, JSON_VALUE(message, JSON_UNQUOTE(JSON_SEARCH(message, 'one', 'something'))) AS t1_result,
      	JSON_SEARCH(message, 'one', 'else') AS t2_path, JSON_VALUE(message, JSON_UNQUOTE(JSON_SEARCH(message, 'one', 'else'))) AS t2_result,
      	JSON_SEARCH(message, 'one', 'and') AS t3_path, JSON_VALUE(message, JSON_UNQUOTE(JSON_SEARCH(message, 'one', 'and'))) AS t3_result,
      	JSON_SEARCH(message, 'one', 'match') AS t4_path, JSON_VALUE(message, JSON_UNQUOTE(JSON_SEARCH(message, 'one', 'match'))) AS t4_result
      FROM jsonTest
      ;
      

      t1_path t1_result t2_path t2_result t3_path t3_result t4_path t4_result
      "$.-1234" NULL "$.12-34" else "$.1234-" and "$.1234" match

      Referencing related tickets that don't quite solve this scenario.

      Attachments

        Issue Links

          Activity

            People

              rucha174 Rucha Deodhar
              shenk Dave Shenk
              Votes:
              1 Vote for this issue
              Watchers:
              5 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.