You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Hongze Zhang (JIRA)" <ji...@apache.org> on 2019/04/19 17:45:00 UTC

[jira] [Comment Edited] (CALCITE-2985) Add the JSON_STORAGE_SIZE function

    [ https://issues.apache.org/jira/browse/CALCITE-2985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16822011#comment-16822011 ] 

Hongze Zhang edited comment on CALCITE-2985 at 4/19/19 5:44 PM:
----------------------------------------------------------------

[~julianhyde] - I've opened CALCITE-3010 and [PR#1175|https://github.com/apache/calcite/pull/1175] to integrate JsonValueExpression with Expression. Could you please review?

P.S. I used to suggest doing such an integration in the fix of CALCITE-2869, but per the discussion I think that would be too late :(


was (Author: zhztheplayer):
[~julianhyde] - I've opened CALCITE-3010 and [PR#1175] to integrate JsonValueExpression with Expression. Could you please review?

P.S. I used to suggest doing such an integration in the fix of CALCITE-2869, but per the discussion I think that would be too late :(

> Add the JSON_STORAGE_SIZE function
> ----------------------------------
>
>                 Key: CALCITE-2985
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2985
>             Project: Calcite
>          Issue Type: Sub-task
>            Reporter: Forward Xu
>            Assignee: Forward Xu
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> JSON_STORAGE_SIZE(json_val)
> This function returns the number of bytes used to store the binary representation of a JSON document. When the argument is a JSON column, this is the space used to store the JSON document. json_val must be a valid JSON document or a string which can be parsed as one. In the case where it is string, the function returns the amount of storage space in the JSON binary representation that is created by parsing the string as JSON and converting it to binary. It returns NULL if the argument is NULL.
> An error results when json_val is not NULL, and is not—or cannot be successfully parsed as—a JSON document.
> To illustrate this function's behavior when used with a JSON column as its argument, we create a table named jtable containing a JSON column jcol, insert a JSON value into the table, then obtain the storage space used by this column with JSON_STORAGE_SIZE(), as shown here:
> {code:java}
> SELECT
> JSON_STORAGE_SIZE('[100, "sakila", [1, 3, 5], 425.05]') AS A,
> JSON_STORAGE_SIZE('{"a": 1000, "b": "a", "c": "[1, 3, 5, 7]"}') AS B,
> JSON_STORAGE_SIZE('{"a": 1000, "b": "wxyz", "c": "[1, 3, 5, 7]"}') AS C,
> JSON_STORAGE_SIZE('[100, "json", [[10, 20, 30], 3, 5], 425.05]') AS D;
> {code}
> | A  | B  | C  | D  |
> | 29 | 37 | 40 | 36 |



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)