mattn/go-sqlite3

Feature: BEGIN immediate/exclusive per transaction

Open

#400 opened on Mar 25, 2017

View on GitHub
 (16 comments) (1 reaction) (0 assignees)C (7,000 stars) (1,105 forks)batch import
enhancementhelp wantedresearch

Description

Right now, the _txlock connection parameter determines which BEGIN statement is used to start a transaction. I'd like to be able to pick this at a per-transaction level. I don't think there's a way of exposing this functionality to database/sql, but it would be good to add an option there eventually. I'm imagining adding:

func (c *SQLiteConn) BeginWithType(t TransactionType) (driver.Tx, error)

type TransactionType int

const (
  Deferred TransactionType = iota
  Immediate
  Exclusive
)

Relevant SO post: https://stackoverflow.com/questions/42657639/begin-immediate-in-sqlx-or-database-sql-golang

Contributor guide