betterlmy commented on code in PR #155:
URL: https://github.com/apache/iotdb-client-go/pull/155#discussion_r2923369655


##########
client/session.go:
##########
@@ -569,10 +569,12 @@ func (s *Session) ExecuteQueryStatement(sql string, 
timeoutMs *int64) (*SessionD
                        request.SessionId = s.sessionId
                        request.StatementId = s.requestStatementId
                        resp, err = 
s.client.ExecuteQueryStatementV2(context.Background(), &request)
-                       if statusErr := VerifySuccess(resp.Status); statusErr 
== nil {
-                               return NewSessionDataSet(sql, resp.Columns, 
resp.DataTypeList, resp.ColumnNameIndexMap, *resp.QueryId, 
s.requestStatementId, s.client, s.sessionId, resp.QueryResult_, 
resp.IgnoreTimeStamp != nil && *resp.IgnoreTimeStamp, timeoutMs, 
*resp.MoreData, s.config.FetchSize, s.config.TimeZone, s.timeFactor, 
resp.GetColumnIndex2TsBlockColumnIndexList())
-                       } else {
-                               return nil, statusErr
+                       if err == nil && resp != nil {
+                               if statusErr := VerifySuccess(resp.Status); 
statusErr == nil {
+                                       return NewSessionDataSet(sql, 
resp.Columns, resp.DataTypeList, resp.ColumnNameIndexMap, *resp.QueryId, 
s.requestStatementId, s.client, s.sessionId, resp.QueryResult_, 
resp.IgnoreTimeStamp != nil && *resp.IgnoreTimeStamp, timeoutMs, 
*resp.MoreData, s.config.FetchSize, s.config.TimeZone, s.timeFactor, 
resp.GetColumnIndex2TsBlockColumnIndexList())
+                               } else {
+                                       return nil, statusErr
+                               }
                        }
                }
                return nil, err

Review Comment:
   Fixed in 869634829f759dbeb10ca4ca6300231b50e43995.
   
   Added an explicit resp == nil check in all four reconnect branches 
(ExecuteQueryStatement, ExecuteAggregationQuery, 
ExecuteAggregationQueryWithLegalNodes, 
ExecuteFastLastDataQueryForOnePrefixPath). When the second call returns err == 
nil but resp == nil, the function now returns a non-nil error instead of 
falling through to return nil, nil.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to