Skip to content

Commit 35b6e8e

Browse files
committed
sqlite: use atomic.Int32, 'any', remove unused receiver name
Signed-off-by: Brad Fitzpatrick <[email protected]>
1 parent a4d9d14 commit 35b6e8e

File tree

2 files changed

+18
-18
lines changed

2 files changed

+18
-18
lines changed

sqlite.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,12 @@ func init() {
100100
sql.Register("sqlite3", drv{})
101101
}
102102

103-
var maxConnID int32 // accessed only via sync/atomic
103+
var maxConnID atomic.Int32
104104

105105
type drv struct{}
106106

107-
func (d drv) Open(name string) (driver.Conn, error) { panic("deprecated, unused") }
108-
func (d drv) OpenConnector(name string) (driver.Connector, error) {
107+
func (drv) Open(name string) (driver.Conn, error) { panic("deprecated, unused") }
108+
func (drv) OpenConnector(name string) (driver.Connector, error) {
109109
return &connector{name: name}, nil
110110
}
111111

@@ -146,7 +146,7 @@ func (p *connector) Connect(ctx context.Context) (driver.Conn, error) {
146146
c := &conn{
147147
db: db,
148148
tracer: p.tracer,
149-
id: sqliteh.TraceConnID(atomic.AddInt32(&maxConnID, 1)),
149+
id: sqliteh.TraceConnID(maxConnID.Add(1)),
150150
}
151151
if p.connInitFunc != nil {
152152
if err := p.connInitFunc(ctx, c); err != nil {
@@ -273,7 +273,7 @@ func (c *conn) BeginTx(ctx context.Context, opts driver.TxOptions) (driver.Tx, e
273273
}
274274

275275
// Raw is so ConnInitFunc can cast to SQLConn.
276-
func (c *conn) Raw(fn func(interface{}) error) error { return fn(c) }
276+
func (c *conn) Raw(fn func(any) error) error { return fn(c) }
277277

278278
type readOnlyKey struct{}
279279

@@ -487,7 +487,7 @@ func (s *stmt) bindAll(args []driver.NamedValue) error {
487487
func (s *stmt) bind(arg driver.NamedValue) error {
488488
// TODO(crawshaw): could use a union-ish data type for debugName
489489
// to avoid the allocation.
490-
var debugName interface{}
490+
var debugName any
491491
if arg.Name == "" {
492492
debugName = arg.Ordinal
493493
} else {
@@ -569,7 +569,7 @@ func (s *stmt) bind(arg driver.NamedValue) error {
569569
}
570570
}
571571

572-
func (s *stmt) bindBasic(debugName interface{}, ordinal int, v interface{}) (found bool, err error) {
572+
func (s *stmt) bindBasic(debugName any, ordinal int, v any) (found bool, err error) {
573573
defer func() {
574574
if err != nil {
575575
err = s.reserr(fmt.Sprintf("Bind:%v:%T", debugName, v), err)
@@ -762,7 +762,7 @@ func (err Error) Error() string {
762762
// SQLConn is a database/sql.Conn.
763763
// (We cannot create a circular package dependency here.)
764764
type SQLConn interface {
765-
Raw(func(driverConn interface{}) error) error
765+
Raw(func(driverConn any) error) error
766766
}
767767

768768
// ExecScript executes a set of SQL queries on an sql.Conn.
@@ -780,7 +780,7 @@ type SQLConn interface {
780780
// }
781781
// c.Close() // return sql.Conn to pool
782782
func ExecScript(sqlconn SQLConn, queries string) error {
783-
return sqlconn.Raw(func(driverConn interface{}) error {
783+
return sqlconn.Raw(func(driverConn any) error {
784784
c, ok := driverConn.(*conn)
785785
if !ok {
786786
return fmt.Errorf("sqlite.ExecScript: sql.Conn is not the sqlite driver: %T", driverConn)
@@ -811,7 +811,7 @@ func ExecScript(sqlconn SQLConn, queries string) error {
811811

812812
// BusyTimeout calls sqlite3_busy_timeout on the underlying connection.
813813
func BusyTimeout(sqlconn SQLConn, d time.Duration) error {
814-
return sqlconn.Raw(func(driverConn interface{}) error {
814+
return sqlconn.Raw(func(driverConn any) error {
815815
c, ok := driverConn.(*conn)
816816
if !ok {
817817
return fmt.Errorf("sqlite.BusyTimeout: sql.Conn is not the sqlite driver: %T", driverConn)
@@ -825,7 +825,7 @@ func BusyTimeout(sqlconn SQLConn, d time.Duration) error {
825825
//
826826
// If hook is nil, the hook is removed.
827827
func SetWALHook(sqlconn SQLConn, hook func(dbName string, pages int)) error {
828-
return sqlconn.Raw(func(driverConn interface{}) error {
828+
return sqlconn.Raw(func(driverConn any) error {
829829
c, ok := driverConn.(*conn)
830830
if !ok {
831831
return fmt.Errorf("sqlite.TxnState: sql.Conn is not the sqlite driver: %T", driverConn)
@@ -837,7 +837,7 @@ func SetWALHook(sqlconn SQLConn, hook func(dbName string, pages int)) error {
837837

838838
// TxnState calls sqlite3_txn_state on the underlying connection.
839839
func TxnState(sqlconn SQLConn, schema string) (state sqliteh.TxnState, err error) {
840-
return state, sqlconn.Raw(func(driverConn interface{}) error {
840+
return state, sqlconn.Raw(func(driverConn any) error {
841841
c, ok := driverConn.(*conn)
842842
if !ok {
843843
return fmt.Errorf("sqlite.TxnState: sql.Conn is not the sqlite driver: %T", driverConn)
@@ -849,7 +849,7 @@ func TxnState(sqlconn SQLConn, schema string) (state sqliteh.TxnState, err error
849849

850850
// Checkpoint calls sqlite3_wal_checkpoint_v2 on the underlying connection.
851851
func Checkpoint(sqlconn SQLConn, dbName string, mode sqliteh.Checkpoint) (numFrames, numFramesCheckpointed int, err error) {
852-
err = sqlconn.Raw(func(driverConn interface{}) error {
852+
err = sqlconn.Raw(func(driverConn any) error {
853853
c, ok := driverConn.(*conn)
854854
if !ok {
855855
return fmt.Errorf("sqlite.Checkpoint: sql.Conn is not the sqlite driver: %T", driverConn)

sqlite_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,10 @@ func openTestDBTrace(t testing.TB, tracer sqliteh.Tracer) *sql.DB {
7575

7676
// execContexter is an *sql.DB or an *sql.Tx.
7777
type execContexter interface {
78-
ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
78+
ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error)
7979
}
8080

81-
func exec(t *testing.T, db execContexter, query string, args ...interface{}) sql.Result {
81+
func exec(t *testing.T, db execContexter, query string, args ...any) sql.Result {
8282
t.Helper()
8383
ctx := context.Background()
8484
res, err := db.ExecContext(ctx, query, args...)
@@ -353,7 +353,7 @@ func TestWithPersist(t *testing.T) {
353353
t.Fatal(err)
354354
}
355355

356-
err = sqlConn.Raw(func(driverConn interface{}) error {
356+
err = sqlConn.Raw(func(driverConn any) error {
357357
c := driverConn.(*conn)
358358
if c.stmts[ins] != nil {
359359
return fmt.Errorf("query %q was persisted", ins)
@@ -367,7 +367,7 @@ func TestWithPersist(t *testing.T) {
367367
if _, err := sqlConn.ExecContext(WithPersist(ctx), ins, 2); err != nil {
368368
t.Fatal(err)
369369
}
370-
err = sqlConn.Raw(func(driverConn interface{}) error {
370+
err = sqlConn.Raw(func(driverConn any) error {
371371
c := driverConn.(*conn)
372372
if c.stmts[ins] == nil {
373373
return fmt.Errorf("query %q was not persisted", ins)
@@ -541,7 +541,7 @@ func TestTraceQuery(t *testing.T) {
541541
expectEv(context.Background(), "PRAGMA journal_mode=WAL", noErr) // from configDB
542542
expectEv(context.Background(), "PRAGMA synchronous=OFF", noErr)
543543

544-
execCtx := func(ctx context.Context, query string, args ...interface{}) {
544+
execCtx := func(ctx context.Context, query string, args ...any) {
545545
t.Helper()
546546
if _, err := db.ExecContext(ctx, query, args...); err != nil {
547547
t.Fatal(err)

0 commit comments

Comments
 (0)