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

ASF GitHub Bot commented on PHOENIX-1661:
-----------------------------------------

Github user twdsilva commented on a diff in the pull request:

    https://github.com/apache/phoenix/pull/93#discussion_r35392010
  
    --- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/schema/json/PhoenixJson.java ---
    @@ -231,4 +236,197 @@ private PhoenixJson getPhoenixJsonInternal(String[] 
paths) {
             }
             return new PhoenixJson(node, node.toString());
         }
    +
    +    /**
    +     * If the current {@link PhoenixJson} is a JsonArray,then it returns 
the length of the JsonArray.
    +     * <p>For example:[1,2,3] ,it will return 3
    +     * <p>Its required for json_array_length().
    +     * @throws SQLException
    +     */
    +    public int getJsonArrayLength() throws SQLException {
    +       if(this.rootNode.isArray()){
    +           return this.rootNode.size();
    +       }else{
    +           throw new SQLException("The JsonNode should be an Array");
    --- End diff --
    
    Add a new SQLExceptionCode and use SQLExceptionInfo.Builder


> Implement built-in functions for JSON
> -------------------------------------
>
>                 Key: PHOENIX-1661
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1661
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>              Labels: JSON, Java, SQL, gsoc2015, mentor
>         Attachments: PhoenixJSONSpecification-First-Draft.pdf
>
>
> Take a look at the JSON built-in functions that are implemented in Postgres 
> (http://www.postgresql.org/docs/9.3/static/functions-json.html) and implement 
> the same for Phoenix in Java following this guide: 
> http://phoenix-hbase.blogspot.com/2013/04/how-to-add-your-own-built-in-function.html
> Examples of functions include ARRAY_TO_JSON, ROW_TO_JSON, TO_JSON, etc. The 
> implementation of these built-in functions will be impacted by how JSON is 
> stored in Phoenix. See PHOENIX-628. An initial implementation could work off 
> of a simple text-based JSON representation and then when a native JSON type 
> is implemented, they could be reworked to be more efficient.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to