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

     1  package instrumented
     2  
     3  import "database/sql/driver"
     4  
     5  // WrappedDriver :
     6  type wrappedDriver struct {
     7  	itpr Interceptor
     8  	dvr  driver.Driver
     9  }
    10  
    11  // Open :
    12  func (w wrappedDriver) Open(name string) (driver.Conn, error) {
    13  	conn, err := w.dvr.Open(name)
    14  	if err != nil {
    15  		return nil, err
    16  	}
    17  	x, ok := conn.(Conn)
    18  	if !ok {
    19  		return nil, driver.ErrBadConn
    20  	}
    21  	return wrappedConn{conn: x, itpr: w.itpr}, nil
    22  }