File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -653,14 +653,12 @@ type rows struct {
653653 names []string
654654 types []string
655655 scans []scantype
656- dest []driver.Value
657656}
658657
659658var (
660659 // Ensure these interfaces are implemented:
661660 _ driver.RowsColumnTypeDatabaseTypeName = & rows {}
662661 _ driver.RowsColumnTypeNullable = & rows {}
663- // _ driver.RowsColumnScanner = &rows{}
664662)
665663
666664func (r * rows ) Close () error {
@@ -780,7 +778,6 @@ func (r *rows) ColumnTypeScanType(index int) (typ reflect.Type) {
780778}
781779
782780func (r * rows ) Next (dest []driver.Value ) error {
783- r .dest = nil
784781 c := r .Stmt .Conn ()
785782 if old := c .SetInterrupt (r .ctx ); old != r .ctx {
786783 defer c .SetInterrupt (old )
@@ -830,33 +827,5 @@ func (r *rows) Next(dest []driver.Value) error {
830827 }
831828 }
832829 }
833- r .dest = dest
834830 return nil
835831}
836-
837- func (r * rows ) ScanColumn (dest any , index int ) (err error ) {
838- // notest // Go 1.26
839- var tm * time.Time
840- var ok * bool
841- switch d := dest .(type ) {
842- case * time.Time :
843- tm = d
844- case * sql.NullTime :
845- tm = & d .Time
846- ok = & d .Valid
847- case * sql.Null [time.Time ]:
848- tm = & d .V
849- ok = & d .Valid
850- default :
851- return driver .ErrSkip
852- }
853- value := r .dest [index ]
854- * tm , err = r .tmRead .Decode (value )
855- if ok != nil {
856- * ok = err == nil
857- if value == nil {
858- return nil
859- }
860- }
861- return err
862- }
Original file line number Diff line number Diff line change 88 "math"
99 "net/url"
1010 "reflect"
11- "strings"
1211 "testing"
1312 "time"
1413
@@ -521,39 +520,6 @@ func Test_ColumnType_ScanType(t *testing.T) {
521520 }
522521}
523522
524- func Test_rows_ScanColumn (t * testing.T ) {
525- t .Parallel ()
526- dsn := memdb .TestDB (t )
527-
528- db , err := Open (dsn )
529- if err != nil {
530- t .Fatal (err )
531- }
532- defer db .Close ()
533-
534- var tm time.Time
535- err = db .QueryRow (`SELECT NULL` ).Scan (& tm )
536- if err == nil {
537- t .Error ("want error" )
538- }
539- // Go 1.26
540- err = db .QueryRow (`SELECT datetime()` ).Scan (& tm )
541- if err != nil && ! strings .HasPrefix (err .Error (), "sql: Scan error" ) {
542- t .Error (err )
543- }
544-
545- var nt sql.NullTime
546- err = db .QueryRow (`SELECT NULL` ).Scan (& nt )
547- if err != nil {
548- t .Error (err )
549- }
550- // Go 1.26
551- err = db .QueryRow (`SELECT datetime()` ).Scan (& nt )
552- if err != nil && ! strings .HasPrefix (err .Error (), "sql: Scan error" ) {
553- t .Error (err )
554- }
555- }
556-
557523func Benchmark_loop (b * testing.B ) {
558524 db , err := Open (":memory:" )
559525 if err != nil {
You can’t perform that action at this time.
0 commit comments