go-sql-driver/mysql — pull request #200 by jaekwon (2013-12-21 03:11:11+00:00)
Title: Set Tx isolation level per transaction (session).

See: https://gist.github.com/jaekwon/8064762

I couldn't find a way to set the transaction level per tx, since Golang's database/sql API doesn't guarantee that you're Exec'ing on the same connection unless you're already in a transaction. And MySQL doesn't allow you to set the transaction isolation level once the transaction had already started.

So, this hack is what I'll use for my project. I don't really expect a merge, but rather I could use some feedback on whether my solution even works as expected, or if there's a better way of doing what I want to do (short of setting the isolation level globally).

Thanks for looking.