diff options
| author | 2025-09-04 15:29:27 +0200 | |
|---|---|---|
| committer | 2025-09-04 15:29:27 +0200 | |
| commit | 78defcd9166a202eb3140dc27afd288e1f9bfec4 (patch) | |
| tree | dfe061abc810096f0141b7f585d38401c099c488 /vendor/github.com/ncruces/go-sqlite3/driver/driver.go | |
| parent | [performance] faster request id generation (#4405) (diff) | |
| download | gotosocial-78defcd9166a202eb3140dc27afd288e1f9bfec4.tar.xz | |
[chore] bump dependencies (#4406)
- codeberg.org/gruf/go-ffmpreg: v0.6.9 -> v0.6.10
- github.com/ncruces/go-sqlite3: v0.27.1 -> v0.28.0
- github.com/stretchr/testify: v1.10.0 -> v1.11.1
- github.com/tdewolff/minify/v2 v2.23.11 -> v2.24.2
- go.opentelemetry.io/otel{,/*}: v1.37.0 -> v1.38.0
- go.opentelemetry.io/contrib/*: v0.62.0 -> v0.63.0
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4406
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
Diffstat (limited to 'vendor/github.com/ncruces/go-sqlite3/driver/driver.go')
| -rw-r--r-- | vendor/github.com/ncruces/go-sqlite3/driver/driver.go | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/vendor/github.com/ncruces/go-sqlite3/driver/driver.go b/vendor/github.com/ncruces/go-sqlite3/driver/driver.go index 280611f71..27496f6cb 100644 --- a/vendor/github.com/ncruces/go-sqlite3/driver/driver.go +++ b/vendor/github.com/ncruces/go-sqlite3/driver/driver.go @@ -604,15 +604,6 @@ func (r resultRowsAffected) RowsAffected() (int64, error) { return int64(r), nil } -type rows struct { - ctx context.Context - *stmt - names []string - types []string - nulls []bool - scans []scantype -} - type scantype byte const ( @@ -648,10 +639,20 @@ func scanFromDecl(decl string) scantype { return _ANY } +type rows struct { + ctx context.Context + *stmt + names []string + types []string + nulls []bool + scans []scantype +} + var ( // Ensure these interfaces are implemented: _ driver.RowsColumnTypeDatabaseTypeName = &rows{} _ driver.RowsColumnTypeNullable = &rows{} + // _ driver.RowsColumnScanner = &rows{} ) func (r *rows) Close() error { @@ -740,7 +741,7 @@ func (r *rows) ColumnTypeScanType(index int) (typ reflect.Type) { switch { case scan == _TIME && val != _BLOB && val != _NULL: t := r.Stmt.ColumnTime(index, r.tmRead) - useValType = t == time.Time{} + useValType = t.IsZero() case scan == _BOOL && val == _INT: i := r.Stmt.ColumnInt64(index) useValType = i != 0 && i != 1 @@ -830,3 +831,23 @@ func (r *rows) Next(dest []driver.Value) error { } return nil } + +func (r *rows) ScanColumn(dest any, index int) error { + // notest // Go 1.26 + var ptr *time.Time + switch d := dest.(type) { + case *time.Time: + ptr = d + case *sql.NullTime: + ptr = &d.Time + case *sql.Null[time.Time]: + ptr = &d.V + default: + return driver.ErrSkip + } + if t := r.Stmt.ColumnTime(index, r.tmRead); !t.IsZero() { + *ptr = t + return nil + } + return driver.ErrSkip +} |
