()
| 212 | } |
| 213 | |
| 214 | func (s *IoTDBRpcDataSet) fetchResults() (bool, error) { |
| 215 | if s.isClosed { |
| 216 | return false, fmt.Errorf("this data set is already closed") |
| 217 | } |
| 218 | req := rpc.TSFetchResultsReq{ |
| 219 | SessionId: s.sessionId, |
| 220 | Statement: s.sql, |
| 221 | FetchSize: s.fetchSize, |
| 222 | QueryId: s.queryId, |
| 223 | IsAlign: true, |
| 224 | } |
| 225 | req.Timeout = s.timeout |
| 226 | |
| 227 | resp, err := s.client.FetchResultsV2(context.Background(), &req) |
| 228 | |
| 229 | if err != nil { |
| 230 | return false, err |
| 231 | } |
| 232 | |
| 233 | if err = VerifySuccess(resp.Status); err != nil { |
| 234 | return false, err |
| 235 | } |
| 236 | |
| 237 | if !resp.HasResultSet { |
| 238 | err = s.Close() |
| 239 | } else { |
| 240 | s.queryResult = resp.GetQueryResult_() |
| 241 | s.queryResultIndex = 0 |
| 242 | if s.queryResult != nil { |
| 243 | s.queryResultSize = int32(len(s.queryResult)) |
| 244 | } else { |
| 245 | s.queryResultSize = 0 |
| 246 | } |
| 247 | s.tsBlockSize = 0 |
| 248 | s.tsBlockIndex = -1 |
| 249 | } |
| 250 | return resp.HasResultSet, err |
| 251 | } |
| 252 | |
| 253 | func (s *IoTDBRpcDataSet) hasCachedBlock() bool { |
| 254 | return s.curTsBlock != nil && s.tsBlockIndex < s.tsBlockSize-1 |
no test coverage detected