[
https://issues.apache.org/jira/browse/FLINK-29881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17628804#comment-17628804
]
yuzelin edited comment on FLINK-29881 at 11/4/22 9:11 AM:
----------------------------------------------------------
[~yiwei93] I believe the doc has some mistakes. The doc
`rest_v1_sql_gateway.yml` is generated, and the "Integer arity, RowKind
rowKind" is fields of the interface `RowData`. I think the doc generator has
generated it from the source code, but the deserializer of the REST
deserializes the data to the structure "(RowKind kind, Object[] fields)". I'll
improve the generation when I have time.
For your problem, the actual return fields are:
* kind : RowKind[1]. Equal to that in the doc;
* fields: the actual data in the row, fields.length == arity.
[1] Describe the row in changelog. For more information: [RowKind
|https://github.com/apache/flink/blob/00a25808dfac69ba8319b9c4dc365e13fd5b87d2/flink-core/src/main/java/org/apache/flink/types/RowKind.java#L25]
was (Author: JIRAUSER293222):
[~yiwei93] I believe the doc has some mistakes. The doc
`rest_v1_sql_gateway.yml` is generated, and the "Integer arity, RowKind
rowKind" is fields of the interface `RowData`. I think the doc generator has
generated it from the source code, but the deserializer of the REST
deserializes the data to the structure "(RowKind kind, Object[] fields)". Maybe
I'll improve the generation when I have time.
For your problem, the actual return fields are:
* kind : RowKind[1]. Equal to that in the doc;
* fields: the actual data in the row, fields.length == arity.
[1] Describe the row in changelog. For more information: [RowKind |
https://github.com/apache/flink/blob/00a25808dfac69ba8319b9c4dc365e13fd5b87d2/flink-core/src/main/java/org/apache/flink/types/RowKind.java#L25]
> when Fetch results in sql gateway, the result using open api is different
> from using restful api
> ---------------------------------------------------------------------------------------------------
>
> Key: FLINK-29881
> URL: https://issues.apache.org/jira/browse/FLINK-29881
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Gateway
> Affects Versions: 1.16.0
> Reporter: yiwei93
> Priority: Major
> Attachments: image-2022-11-04-14-47-00-762.png
>
>
> use restful api , fetch result from
> {code:java}
>
> http://*****:8083/v1/sessions/9a8fcf37-73e5-43ca-bcc3-d44d8b71a24c/operations/b40085c1-a2c5-42f4-80e7-0971c5ef9710/result/0{code}
> the result is
> {code:java}
> {
> "results": {
> "columns": [
> {
> "name": "localtimestamp",
> "logicalType": {
> "type": "TIMESTAMP_WITHOUT_TIME_ZONE",
> "nullable": false,
> "precision": 3
> },
> "comment": null
> }
> ],
> "data": [
> {
> "kind": "INSERT",
> "fields": [
> "2022-11-04T11:41:40.036"
> ]
> }
> ]
> },
> "resultType": "PAYLOAD",
> "nextResultUri":
> "/v1/sessions/9a8fcf37-73e5-43ca-bcc3-d44d8b71a24c/operations/b40085c1-a2c5-42f4-80e7-0971c5ef9710/result/1"
> }{code}
> use api to fetch ,the code is
> {code:java}
> ApiClient client = new ApiClient();
> client.setHost("hermes02");
> client.setPort(8083);
> client.setScheme("http");
> defaultApi = new DefaultApi(client);
> OpenSessionRequestBody openSessionRequestBody = new OpenSessionRequestBody();
> OpenSessionResponseBody openSessionResponseBody =
> defaultApi.openSession(openSessionRequestBody);
> SessionHandle sessionHandle = new
> SessionHandle().identifier(UUID.fromString(openSessionResponseBody.getSessionHandle()));
> ExecuteStatementRequestBody executeStatementRequestBody = new
> ExecuteStatementRequestBody().statement("select localtimestamp");
> ExecuteStatementResponseBody executeStatementResponseBody =
> defaultApi.executeStatement(sessionHandle.getIdentifier(),
> executeStatementRequestBody);
> FetchResultsResponseBody fetchResultsResponseBody =
> defaultApi.fetchResults(sessionHandle.getIdentifier(),
> UUID.fromString(executeStatementResponseBody.getOperationHandle()), 0L);{code}
> the result is
> {code:java}
> class FetchResultsResponseBody {
> results: class ResultSet {
> resultType: null
> nextToken: null
> resultSchema: null
> data: []
> }
> resultType: NOT_READY
> nextResultUri:
> /v1/sessions/9a8fcf37-73e5-43ca-bcc3-d44d8b71a24c/operations/b40085c1-a2c5-42f4-80e7-0971c5ef9710/result/0
> }{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)