aboutsummaryrefslogtreecommitdiff
path: root/tests/benchmarks/query.go
blob: b56e186523a4aa69e9eb7d31d73f3433cd89d11d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package main

import (
	"database/sql"
	"flag"

	_ "golite"
)



var nFlag = flag.Int("n", 100_000, "The number of iterations to execute")

func main() {
	flag.Parse()
	n := *nFlag

	db, err := sql.Open("sqlite3", "file:benchdb?mode=memory&cache=shared")
	if err != nil {
		panic(err)
	}

	var (
		S sql.NullString
		I int
		f float64
		s string
	)
	for i := 0; i < n; i++ {
		err = db.QueryRow("SELECT NULL, 1, 1.1, 'string';").Scan(
			&S,
			&I,
			&f,
			&s,
		)
		if err != nil {
			panic(err)
		}
	}
}