@@ -541,6 +541,33 @@ func (s *Session) ExecuteAggregationQueryWithLegalNodes(paths []string, aggregat
541
541
}
542
542
}
543
543
544
+ func (s * Session ) ExecuteGroupByQueryIntervalQuery (database * string , device , measurement string , aggregationType common.TAggregationType ,
545
+ dataType int32 , startTime * int64 , endTime * int64 , interval * int64 , timeoutMs * int64 , isAligned * bool ) (* SessionDataSet , error ) {
546
+
547
+ request := rpc.TSGroupByQueryIntervalReq {SessionId : s .sessionId , StatementId : s .requestStatementId ,
548
+ Database : database , Device : device , Measurement : measurement , AggregationType : aggregationType , DataType : dataType ,
549
+ StartTime : startTime , EndTime : endTime , Interval : interval , FetchSize : & s .config .FetchSize ,
550
+ Timeout : timeoutMs , IsAligned : isAligned }
551
+ if resp , err := s .client .ExecuteGroupByQueryIntervalQuery (context .Background (), & request ); err == nil {
552
+ if statusErr := VerifySuccess (resp .Status ); statusErr == nil {
553
+ return NewSessionDataSet ("" , resp .Columns , resp .DataTypeList , resp .ColumnNameIndexMap , * resp .QueryId , s .client , s .sessionId , resp .QueryDataSet , resp .IgnoreTimeStamp != nil && * resp .IgnoreTimeStamp , s .config .FetchSize , timeoutMs ), err
554
+ } else {
555
+ return nil , statusErr
556
+ }
557
+ } else {
558
+ if s .reconnect () {
559
+ request .SessionId = s .sessionId
560
+ resp , err = s .client .ExecuteGroupByQueryIntervalQuery (context .Background (), & request )
561
+ if statusErr := VerifySuccess (resp .Status ); statusErr == nil {
562
+ return NewSessionDataSet ("" , resp .Columns , resp .DataTypeList , resp .ColumnNameIndexMap , * resp .QueryId , s .client , s .sessionId , resp .QueryDataSet , resp .IgnoreTimeStamp != nil && * resp .IgnoreTimeStamp , s .config .FetchSize , timeoutMs ), err
563
+ } else {
564
+ return nil , statusErr
565
+ }
566
+ }
567
+ return nil , err
568
+ }
569
+ }
570
+
544
571
func (s * Session ) genTSInsertRecordReq (deviceId string , time int64 ,
545
572
measurements []string ,
546
573
types []TSDataType ,
0 commit comments