diff --git a/driver/driver.go b/driver/driver.go index 4d55e98..8dd7d85 100644 --- a/driver/driver.go +++ b/driver/driver.go @@ -653,14 +653,12 @@ type rows struct { names []string types []string scans []scantype - dest []driver.Value } var ( // Ensure these interfaces are implemented: _ driver.RowsColumnTypeDatabaseTypeName = &rows{} _ driver.RowsColumnTypeNullable = &rows{} - // _ driver.RowsColumnScanner = &rows{} ) func (r *rows) Close() error { @@ -780,7 +778,6 @@ func (r *rows) ColumnTypeScanType(index int) (typ reflect.Type) { } func (r *rows) Next(dest []driver.Value) error { - r.dest = nil c := r.Stmt.Conn() if old := c.SetInterrupt(r.ctx); old != r.ctx { defer c.SetInterrupt(old) @@ -830,33 +827,5 @@ func (r *rows) Next(dest []driver.Value) error { } } } - r.dest = dest return nil } - -func (r *rows) ScanColumn(dest any, index int) (err error) { - // notest // Go 1.26 - var tm *time.Time - var ok *bool - switch d := dest.(type) { - case *time.Time: - tm = d - case *sql.NullTime: - tm = &d.Time - ok = &d.Valid - case *sql.Null[time.Time]: - tm = &d.V - ok = &d.Valid - default: - return driver.ErrSkip - } - value := r.dest[index] - *tm, err = r.tmRead.Decode(value) - if ok != nil { - *ok = err == nil - if value == nil { - return nil - } - } - return err -} diff --git a/driver/driver_test.go b/driver/driver_test.go index 863fcfc..b59dd2f 100644 --- a/driver/driver_test.go +++ b/driver/driver_test.go @@ -8,7 +8,6 @@ import ( "math" "net/url" "reflect" - "strings" "testing" "time" @@ -521,39 +520,6 @@ func Test_ColumnType_ScanType(t *testing.T) { } } -func Test_rows_ScanColumn(t *testing.T) { - t.Parallel() - dsn := memdb.TestDB(t) - - db, err := Open(dsn) - if err != nil { - t.Fatal(err) - } - defer db.Close() - - var tm time.Time - err = db.QueryRow(`SELECT NULL`).Scan(&tm) - if err == nil { - t.Error("want error") - } - // Go 1.26 - err = db.QueryRow(`SELECT datetime()`).Scan(&tm) - if err != nil && !strings.HasPrefix(err.Error(), "sql: Scan error") { - t.Error(err) - } - - var nt sql.NullTime - err = db.QueryRow(`SELECT NULL`).Scan(&nt) - if err != nil { - t.Error(err) - } - // Go 1.26 - err = db.QueryRow(`SELECT datetime()`).Scan(&nt) - if err != nil && !strings.HasPrefix(err.Error(), "sql: Scan error") { - t.Error(err) - } -} - func Benchmark_loop(b *testing.B) { db, err := Open(":memory:") if err != nil {