Hi,
I’m using Golang’s sql/database driver. I close statement before i commit my transaction, in another function. I was wondering if there is any issue with this.
To be clear, I have tried this and it works. The database is successfully updated, and I don’t see any problems. I’m just curious if there is any possible potential problem that I am unaware of.
Thanks
Edit:
I understand that Prepare() allows the database to allocate resources for the preparation and returns a handler on the resources. Then, execute passes in parameters if any, along with the handler ID.
What I would like to confirm is, when you execute, does the transaction pick up the necessary information, so that the user is free to deallocate the Prepare resources without any side-effects?
---- example ----
func main() {
tx, _ = sql.Begin()
handleMyStuff(tx)
tx.Commit()
}
func handleMyStuff(tx *sql.Tx) {
stmtIn, _ := tx.Prepare(“sql statement here”)
stmtIn.Execute()
stmtIn.Close()
}