[
https://issues.apache.org/jira/browse/TRAFODION-2772?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16215204#comment-16215204
]
ASF GitHub Bot commented on TRAFODION-2772:
-------------------------------------------
Github user selvaganesang commented on a diff in the pull request:
https://github.com/apache/incubator-trafodion/pull/1264#discussion_r146280638
--- Diff: core/sql/exp/exp_function.cpp ---
@@ -6503,8 +6503,19 @@ ex_expr::exp_return_type
ex_function_json_object_field_text::eval(char *op_data[
Int32 prec2 = ((SimpleType *)getOperand(2))->getPrecision();
len2 = Attributes::trimFillerSpaces( op_data[2], prec2, len2, cs );
}
+
char *rltStr = NULL;
- JsonReturnType ret = json_extract_path_text(&rltStr, op_data[1], 1,
op_data[2]);
+ char *jsonStr = new(heap) char[len1+1];
+ char *jsonAttr = new(heap) char[len2+1];
+ if (jsonStr == NULL || jsonAttr == NULL)
+ {
+ return ex_expr::EXPR_ERROR;
+ }
+ memset(jsonStr, 0, len1+1);
+ memset(jsonAttr, 0, len2+1);
--- End diff --
Consider setting the null character after strncpy instead
> retrieve a value from Json string got an error: Json value is invalid
> ---------------------------------------------------------------------
>
> Key: TRAFODION-2772
> URL: https://issues.apache.org/jira/browse/TRAFODION-2772
> Project: Apache Trafodion
> Issue Type: Bug
> Reporter: Yang, Yongfeng
> Assignee: Yang, Yongfeng
>
> >>create table json(str varchar(200));
> >>select json_object_field_text('{"f2":1}', 'f2') from json;
> *** ERROR[8971] JSON value is invalid.
> --- 0 row(s) selected.
> >>
> the expected result should like below.
> >>select json_object_field_text('{"f2":1}', 'f2') from (values(1)) T;
> (EXPR)
> --------
> 1
> --- 1 row(s) selected.
> >>
> >>select json_object_field_text('{"f2":1}', 'f2') from (values(1)) T;
> (EXPR)
> --------
> 1
> --- 1 row(s) selected.
> >>
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)