mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// +build go1.10
 | 
						|
 | 
						|
package mssql
 | 
						|
 | 
						|
import (
 | 
						|
	"context"
 | 
						|
	"database/sql/driver"
 | 
						|
	"errors"
 | 
						|
)
 | 
						|
 | 
						|
var _ driver.Connector = &Connector{}
 | 
						|
var _ driver.SessionResetter = &Conn{}
 | 
						|
 | 
						|
func (c *Conn) ResetSession(ctx context.Context) error {
 | 
						|
	if !c.connectionGood {
 | 
						|
		return driver.ErrBadConn
 | 
						|
	}
 | 
						|
	c.resetSession = true
 | 
						|
 | 
						|
	if c.connector == nil || len(c.connector.SessionInitSQL) == 0 {
 | 
						|
		return nil
 | 
						|
	}
 | 
						|
 | 
						|
	s, err := c.prepareContext(ctx, c.connector.SessionInitSQL)
 | 
						|
	if err != nil {
 | 
						|
		return driver.ErrBadConn
 | 
						|
	}
 | 
						|
	_, err = s.exec(ctx, nil)
 | 
						|
	if err != nil {
 | 
						|
		return driver.ErrBadConn
 | 
						|
	}
 | 
						|
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// Connect to the server and return a TDS connection.
 | 
						|
func (c *Connector) Connect(ctx context.Context) (driver.Conn, error) {
 | 
						|
	conn, err := c.driver.connect(ctx, c, c.params)
 | 
						|
	if err == nil {
 | 
						|
		err = conn.ResetSession(ctx)
 | 
						|
	}
 | 
						|
	return conn, err
 | 
						|
}
 | 
						|
 | 
						|
// Driver underlying the Connector.
 | 
						|
func (c *Connector) Driver() driver.Driver {
 | 
						|
	return c.driver
 | 
						|
}
 | 
						|
 | 
						|
func (r *Result) LastInsertId() (int64, error) {
 | 
						|
	return -1, errors.New("LastInsertId is not supported. Please use the OUTPUT clause or add `select ID = convert(bigint, SCOPE_IDENTITY())` to the end of your query.")
 | 
						|
}
 |