in azkustodata/query/v2/iterative_dataset.go [245:292]
func readPrimaryTable(d *iterativeDataset, dec *json.Decoder) error {
header := TableHeader{}
err := dec.Decode(&header)
if err != nil {
return err
}
if err := handleTableHeader(d, header); err != nil {
return err
}
for i := 0; ; {
dec, frameType, err := nextFrame(d)
if err != nil {
return err
}
if frameType == TableFragmentFrameType {
fragment := TableFragment{Columns: header.Columns, PreviousIndex: i}
err = dec.Decode(&fragment)
if err != nil {
return err
}
i += len(fragment.Rows)
if err = handleTableFragment(d, fragment); err != nil {
return err
}
continue
}
if frameType == TableCompletionFrameType {
completion := TableCompletion{}
err = dec.Decode(&completion)
if err != nil {
return err
}
if err = handleTableCompletion(d, completion); err != nil {
return err
}
break
}
return errors.ES(errors.OpQuery, errors.KInternal, "unexpected frame type %s, expected TableFragment or TableCompletion", frameType)
}
return nil
}