blob: a3dd5517734f0d5579422c3db752a0b8aa4612ae [file] [log] [blame]
// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build cgo
// +build cgo
// Package sqlite3 provides the sqlite3 driver for
// x/build/perfdata/db. It must be imported instead of go-sqlite3 to
// ensure foreign keys are properly honored.
package sqlite3
import (
"database/sql"
sqlite3 "github.com/mattn/go-sqlite3"
"golang.org/x/build/perfdata/db"
)
func init() {
db.RegisterOpenHook("sqlite3", func(db *sql.DB) error {
db.Driver().(*sqlite3.SQLiteDriver).ConnectHook = func(c *sqlite3.SQLiteConn) error {
_, err := c.Exec("PRAGMA foreign_keys = ON;", nil)
return err
}
return nil
})
}