MCPcopy Create free account
hub / github.com/apecloud/myduckserver / resultForOkIter

Function resultForOkIter

pgserver/duck_handler.go:667–685  ·  view source on GitHub ↗

resultForOkIter reads a maximum of one result row from a result iterator.

(ctx *sql.Context, iter sql.RowIter)

Source from the content-addressed store, hash-verified

665
666// resultForOkIter reads a maximum of one result row from a result iterator.
667func resultForOkIter(ctx *sql.Context, iter sql.RowIter) (*Result, error) {
668 defer trace.StartRegion(ctx, "DoltgresHandler.resultForOkIter").End()
669
670 row, err := iter.Next(ctx)
671 if err != nil {
672 return nil, err
673 }
674 _, err = iter.Next(ctx)
675 if err != io.EOF {
676 return nil, fmt.Errorf("result schema iterator returned more than one row")
677 }
678 if err := iter.Close(ctx); err != nil {
679 return nil, err
680 }
681
682 return &Result{
683 RowsAffected: row[0].(types.OkResult).RowsAffected,
684 }, nil
685}
686
687// resultForEmptyIter ensures that an expected empty iterator returns no rows.
688func resultForEmptyIter(ctx *sql.Context, iter sql.RowIter) (*Result, error) {

Callers 1

doQueryMethod · 0.85

Calls 2

CloseMethod · 0.65
NextMethod · 0.45

Tested by

no test coverage detected