[
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)