You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to activate FOREIGN KEYS on all connections, but setting it in sqlitex.OpenInit does not seem to work for me. Are there any limitations on issuing PRAGMA statements in OpenInit?
Here is a failing testcase which proves it does not work:
t.Run("pragma", func(t *testing.T) {
ctx := context.Background()
initScript := `PRAGMA foreign_keys=ON;`
dbpool, err := sqlitex.OpenInit(ctx, poolURI, poolFlags, poolSize, initScript)
if err != nil {
t.Fatal(err)
}
defer func() {
if err := dbpool.Close(); err != nil {
t.Error(err)
}
}()
checkFn := func(stmt *sqlite.Stmt) error {
if fk := stmt.ColumnInt(0); fk != 1 {
t.Fatalf("initScript not run: PRAGMA foreign_keys returns %d, expected 1", fk)
}
return nil
}
for i := 0; i < poolSize; i++ {
conn := dbpool.Get(ctx)
defer dbpool.Put(conn)
if err := sqlitex.ExecTransient(conn, "PRAGMA foreign_keys;", checkFn); err != nil {
t.Error(err)
}
}
})
The text was updated successfully, but these errors were encountered:
I'm trying to activate FOREIGN KEYS on all connections, but setting it in sqlitex.OpenInit does not seem to work for me. Are there any limitations on issuing PRAGMA statements in OpenInit?
Here is a failing testcase which proves it does not work:
The text was updated successfully, but these errors were encountered: