@@ -63,29 +63,24 @@ var driverName = "sqlite3"
63
63
64
64
func init () {
65
65
if driverName != "" {
66
- sql .Register (driverName , & SQLiteDriver )
66
+ sql .Register (driverName , & SQLite {} )
67
67
}
68
68
}
69
69
70
- // SQLiteDriver is a global Driver{} instance
71
- // registered under [database/sql] as "sqlite3".
72
- var SQLiteDriver = Driver {}
73
-
74
70
// Open opens the SQLite database specified by dataSourceName as a [database/sql.DB].
75
71
//
76
72
// The init function is called by the driver on new connections.
77
73
// The conn can be used to execute queries, register functions, etc.
78
74
// Any error return closes the conn and passes the error to [database/sql].
79
75
func Open (dataSourceName string , init func (* sqlite3.Conn ) error ) (* sql.DB , error ) {
80
- d := Driver {Init : init }
81
- c , err := d .OpenConnector (dataSourceName )
76
+ c , err := (& SQLite {Init : init }).OpenConnector (dataSourceName )
82
77
if err != nil {
83
78
return nil , err
84
79
}
85
80
return sql .OpenDB (c ), nil
86
81
}
87
82
88
- type Driver struct {
83
+ type SQLite struct {
89
84
90
85
// The init function is called by the driver on new connections.
91
86
// The conn can be used to execute queries, register functions, etc.
@@ -94,7 +89,7 @@ type Driver struct {
94
89
}
95
90
96
91
// Open: implements [database/sql.Driver].
97
- func (d * Driver ) Open (name string ) (driver.Conn , error ) {
92
+ func (d * SQLite ) Open (name string ) (driver.Conn , error ) {
98
93
c , err := d .newConnector (name )
99
94
if err != nil {
100
95
return nil , err
@@ -103,11 +98,11 @@ func (d *Driver) Open(name string) (driver.Conn, error) {
103
98
}
104
99
105
100
// OpenConnector: implements [database/sql.DriverContext].
106
- func (d * Driver ) OpenConnector (name string ) (driver.Connector , error ) {
101
+ func (d * SQLite ) OpenConnector (name string ) (driver.Connector , error ) {
107
102
return d .newConnector (name )
108
103
}
109
104
110
- func (d * Driver ) newConnector (name string ) (* connector , error ) {
105
+ func (d * SQLite ) newConnector (name string ) (* connector , error ) {
111
106
c := connector {driver : d , name : name }
112
107
113
108
var txlock , timefmt string
@@ -150,7 +145,7 @@ func (d *Driver) newConnector(name string) (*connector, error) {
150
145
}
151
146
152
147
type connector struct {
153
- driver * Driver
148
+ driver * SQLite
154
149
name string
155
150
txBegin string
156
151
tmRead sqlite3.TimeFormat
0 commit comments