database is locked
Hello! First I would like to thank for your work. I have run into the named `database is locked` error. For instance this is how an user service looks like. I use the same `*DB` instance all across services. ```go type DB struct { db *sql.DB } type UserService struct { db *DB } func NewUserService(db *DB) *UserService { return &UserService{db: db} } func (s *UserService) FindUserByID(ctx context.Context, id string) (asm.User, error) { tx, err := s.db.BeginTx(ctx, nil) if err != nil { return asm.User{}, fmt.Errorf("find user %v failed: %w", id, err) } defer tx.Rollback() user, err := selectUser(ctx, tx, id) if err != nil { return asm.User{}, fmt.Errorf("find user %v failed: %w", id, err) } return user, nil } func selectUser(ctx context.Context, tx *Tx, id string) (asm.User, error) { var user asm.User if err := tx.QueryRowContext(ctx, _selectUser, id).Scan(&user.SapID, &user.ID, &user.Name); err != nil { return asm.User{}, err } return user, nil } ``` I could overcome the problem using the below settings. ```text // Sqlite cannot handle concurrent writes, // so we limit sqlite to one connection. // https://github.com/mattn/go-sqlite3/issues/274 db.db.SetMaxOpenConns(1) ``` Have you faced with this kind of issue previously? (I am asking b/c I haven't seen any issues regarding this.) Do I miss something? Thanks for your help in advance. OS: Windows 10 Go: 1.17
issue