diff --git a/ext/stats/stats.go b/ext/stats/stats.go index 452ebc8..69371c4 100644 --- a/ext/stats/stats.go +++ b/ext/stats/stats.go @@ -177,14 +177,14 @@ func (fn *covariance) Value(ctx sqlite3.Context) { } func (fn *covariance) Step(ctx sqlite3.Context, arg ...sqlite3.Value) { - a, b := arg[0], arg[1] + b, a := arg[1], arg[0] // avoid a bounds check if a.NumericType() != sqlite3.NULL && b.NumericType() != sqlite3.NULL { fn.enqueue(a.Float(), b.Float()) } } func (fn *covariance) Inverse(ctx sqlite3.Context, arg ...sqlite3.Value) { - a, b := arg[0], arg[1] + b, a := arg[1], arg[0] // avoid a bounds check if a.NumericType() != sqlite3.NULL && b.NumericType() != sqlite3.NULL { fn.dequeue(a.Float(), b.Float()) } diff --git a/sqlite.go b/sqlite.go index b8c06d6..f91fdcb 100644 --- a/sqlite.go +++ b/sqlite.go @@ -131,7 +131,7 @@ func (sqlt *sqlite) error(rc uint64, handle uint32, sql ...string) error { err.msg = util.ReadString(sqlt.mod, uint32(r), _MAX_LENGTH) } - if sql != nil { + if len(sql) != 0 { if r := sqlt.call("sqlite3_error_offset", uint64(handle)); r != math.MaxUint32 { err.sql = sql[0][r:] } diff --git a/stmt.go b/stmt.go index e61ea1e..ada07c8 100644 --- a/stmt.go +++ b/stmt.go @@ -640,9 +640,7 @@ func (s *Stmt) Columns(dest []any) error { types := util.View(s.c.mod, typePtr, count) - // hint to the compiler that - // it can omit bounds check - // accessing types[i] below. + // Avoid bounds checks on types below. if len(types) != len(dest) { panic(util.AssertErr()) }