XuQianJin-Stars opened a new pull request #1150: [CALCITE-2985] Add the 
JSON_STORAGE_SIZE function
URL: https://github.com/apache/calcite/pull/1150
 
 
   `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:
   
   SQL:
   
   ```
   SELECT
   JSON_STORAGE_SIZE('[100, \"sakila\", [1, 3, 5], 425.05]') AS A,
   JSON_STORAGE_SIZE('{\"a\": 10, \"b\": \"a\", \"c\": \"[1, 3, 5, 7]\"}') AS B,
   JSON_STORAGE_SIZE('{\"a\": 10, \"b\": \"xyz\", \"c\": \"[1, 3, 5, 7]\"}') AS 
C,
   JSON_STORAGE_SIZE('[100, \"json\", [[10, 20, 30], 3, 5], 425.05]') AS D
   limit 10;
   ```
   Result:
   
   | A    | B    | C    | D    |
   | ---- | ---- | ---- | ---- |
   | 29   | 35   | 37   | 36   |
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to