(sql string, timeoutMs *int64)
| 554 | } |
| 555 | |
| 556 | func (s *Session) ExecuteQueryStatement(sql string, timeoutMs *int64) (*SessionDataSet, error) { |
| 557 | request := rpc.TSExecuteStatementReq{ |
| 558 | SessionId: s.sessionId, Statement: sql, StatementId: s.requestStatementId, |
| 559 | FetchSize: &s.config.FetchSize, Timeout: timeoutMs, |
| 560 | } |
| 561 | if resp, err := s.client.ExecuteQueryStatementV2(context.Background(), &request); err == nil { |
| 562 | if statusErr := VerifySuccess(resp.Status); statusErr == nil { |
| 563 | 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.ColumnIndex2TsBlockColumnIndexList) |
| 564 | } else { |
| 565 | return nil, statusErr |
| 566 | } |
| 567 | } else { |
| 568 | if s.reconnect() { |
| 569 | request.SessionId = s.sessionId |
| 570 | request.StatementId = s.requestStatementId |
| 571 | resp, err = s.client.ExecuteQueryStatementV2(context.Background(), &request) |
| 572 | if err == nil { |
| 573 | if resp == nil { |
| 574 | return nil, fmt.Errorf("received nil response after reconnect") |
| 575 | } |
| 576 | if statusErr := VerifySuccess(resp.Status); statusErr == nil { |
| 577 | 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()) |
| 578 | } else { |
| 579 | return nil, statusErr |
| 580 | } |
| 581 | } |
| 582 | } |
| 583 | return nil, err |
| 584 | } |
| 585 | } |
| 586 | |
| 587 | func (s *Session) ExecuteAggregationQuery(paths []string, aggregations []common.TAggregationType, |
| 588 | startTime *int64, endTime *int64, interval *int64, |
nothing calls this directly
no test coverage detected