From 1a57267a17c2fc17fb6e104846fabc3e363c326c Mon Sep 17 00:00:00 2001 From: Emile Date: Fri, 16 Aug 2024 19:50:26 +0200 Subject: initial commit --- src/sql.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/sql.go (limited to 'src/sql.go') diff --git a/src/sql.go b/src/sql.go new file mode 100644 index 0000000..858878b --- /dev/null +++ b/src/sql.go @@ -0,0 +1,31 @@ +package main + +import ( + "database/sql" + "database/sql/driver" + "modernc.org/sqlite" +) + +type sqlite3Driver struct { + *sqlite.Driver +} + +type sqlite3DriverConn interface { + Exec(string, []driver.Value) (driver.Result, error) +} + +func (d sqlite3Driver) Open(name string) (conn driver.Conn, err error) { + conn, err = d.Driver.Open(name) + if err != nil { + return + } + _, err = conn.(sqlite3DriverConn).Exec("PRAGMA foreign_keys = ON;", nil) + if err != nil { + _ = conn.Close() + } + return +} + +func init() { + sql.Register("sqlite3", sqlite3Driver{Driver: &sqlite.Driver{}}) +} -- cgit 1.4.1