[ https://issues.apache.org/jira/browse/FLINK-29881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17628708#comment-17628708 ]
yuanfenghu commented on FLINK-29881: ------------------------------------ The executestatment operation is asynchronous, you have to get the operation success status to get the result, there should be a rest interface to get the operation status > 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 > > use restful api , fetch result from > {code:java} > > http://hermes02: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)