@@ -73,7 +73,7 @@ func init() {
73
73
// The [sqlite3.Conn] can be used to execute queries, register functions, etc.
74
74
// Any error returned closes the connection and is returned to [database/sql].
75
75
func Open (dataSourceName string , init func (* sqlite3.Conn ) error ) (* sql.DB , error ) {
76
- c , err := (& SQLite {Init : init }).OpenConnector (dataSourceName )
76
+ c , err := (& SQLite {init }).OpenConnector (dataSourceName )
77
77
if err != nil {
78
78
return nil , err
79
79
}
@@ -82,10 +82,7 @@ func Open(dataSourceName string, init func(*sqlite3.Conn) error) (*sql.DB, error
82
82
83
83
// SQLite implements [database/sql/driver.Driver].
84
84
type SQLite struct {
85
- // Init function is called by the driver on new connections.
86
- // The [sqlite3.Conn] can be used to execute queries, register functions, etc.
87
- // Any error returned closes the connection and is returned to [database/sql].
88
- Init func (* sqlite3.Conn ) error
85
+ init func (* sqlite3.Conn ) error
89
86
}
90
87
91
88
// Open implements [database/sql/driver.Driver].
@@ -176,18 +173,18 @@ func (n *connector) Connect(ctx context.Context) (_ driver.Conn, err error) {
176
173
defer c .Conn .SetInterrupt (old )
177
174
178
175
if ! n .pragmas {
179
- err = c .Conn .BusyTimeout (60 * time .Second )
176
+ err = c .Conn .BusyTimeout (time .Minute )
180
177
if err != nil {
181
178
return nil , err
182
179
}
183
180
}
184
- if n .driver .Init != nil {
185
- err = n .driver .Init (c .Conn )
181
+ if n .driver .init != nil {
182
+ err = n .driver .init (c .Conn )
186
183
if err != nil {
187
184
return nil , err
188
185
}
189
186
}
190
- if n .pragmas || n .driver .Init != nil {
187
+ if n .pragmas || n .driver .init != nil {
191
188
s , _ , err := c .Conn .Prepare (`PRAGMA query_only` )
192
189
if err != nil {
193
190
return nil , err
@@ -326,6 +323,8 @@ func (c *conn) ExecContext(ctx context.Context, query string, args []driver.Name
326
323
}
327
324
328
325
func (c * conn ) CheckNamedValue (arg * driver.NamedValue ) error {
326
+ // Fast path: short circuit argument verification.
327
+ // Arguments will be rejected by conn.ExecContext.
329
328
return nil
330
329
}
331
330
0 commit comments