github.com/RevenueMonster/sqlike@v1.0.6/sql/instrumented/result.go (about)

     1  package instrumented
     2  
     3  import (
     4  	"context"
     5  	"database/sql/driver"
     6  )
     7  
     8  // Result :
     9  type Result interface {
    10  	driver.Result
    11  }
    12  
    13  type wrappedResult struct {
    14  	ctx    context.Context
    15  	itpr   Interceptor
    16  	result driver.Result
    17  }
    18  
    19  var _ Result = (*wrappedResult)(nil)
    20  
    21  // LastInsertId :
    22  func (w wrappedResult) LastInsertId() (int64, error) {
    23  	id, err := w.itpr.ResultLastInsertId(w.ctx, w.result)
    24  	if err != nil {
    25  		return 0, err
    26  	}
    27  	return id, nil
    28  }
    29  
    30  // RowsAffected :
    31  func (w wrappedResult) RowsAffected() (int64, error) {
    32  	affected, err := w.itpr.ResultRowsAffected(w.ctx, w.result)
    33  	if err != nil {
    34  		return 0, err
    35  	}
    36  	return affected, nil
    37  }