File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change @@ -911,6 +911,47 @@ func BenchmarkPersist(b *testing.B) {
911911 }
912912}
913913
914+ func BenchmarkQueryRows100MixedTypes (b * testing.B ) {
915+ b .ReportAllocs ()
916+ ctx := context .Background ()
917+ db := openTestDB (b )
918+ conn , err := db .Conn (ctx )
919+ if err != nil {
920+ b .Fatal (err )
921+ }
922+ err = ExecScript (conn , `BEGIN;
923+ CREATE TABLE t (id INTEGER);
924+ COMMIT;` )
925+ if err != nil {
926+ b .Fatal (err )
927+ }
928+ for i := 0 ; i < 100 ; i ++ {
929+ if _ , err := db .Exec ("INSERT INTO t (id) VALUES (?)" , i ); err != nil {
930+ b .Fatal (err )
931+ }
932+ }
933+ b .ResetTimer ()
934+
935+ ctx = WithPersist (ctx )
936+
937+ var id int
938+ var raw sql.RawBytes
939+ for i := 0 ; i < b .N ; i ++ {
940+ rows , err := db .QueryContext (ctx , "SELECT id, 'hello world some string' FROM t" )
941+ if err != nil {
942+ b .Fatal (err )
943+ }
944+ for rows .Next () {
945+ if err := rows .Scan (& id , & raw ); err != nil {
946+ b .Fatal (err )
947+ }
948+ }
949+ if err := rows .Err (); err != nil {
950+ b .Fatal (err )
951+ }
952+ }
953+ }
954+
914955func BenchmarkEmptyExec (b * testing.B ) {
915956 b .ReportAllocs ()
916957 ctx := context .Background ()
You can’t perform that action at this time.
0 commit comments