code: func (c *conn) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (r driver.Result, err error) {
  	if c.session.IsBad() {
  		return nil, driver.ErrBadConn
  	}
  
  	if len(args) != 0 {
  		return nil, driver.ErrSkip //fast path not possible (prepare needed)
  	}
  
  	sqltrace.Traceln(query)
  
  	done := make(chan struct{})
  	go func() {
  		r, err = c.session.ExecDirect(query)
  		close(done)
  	}()
  
  	select {
  	case <-ctx.Done():
  		return nil, ctx.Err()
  	case <-done:
  		return r, err
  	}
  }
docs: // ExecContext implements the database/sql/driver/ExecerContext interface.