func (c *Conn) Begin() (driver.Tx, error) { if c == nil || c.db == nil { return nil, errUninitialized } tx := &Tx{c: c} // TODO: should use "START TRANSACTION" if C.nuodb_autocommit(c.db, &tx.autoCommit) != 0 || C.nuodb_autocommit_set(c.db, 0) != 0 { return nil, c.lastError() } return tx, nil }
func (tx *Tx) restoreAutoCommit() { _ = C.nuodb_autocommit_set(tx.c.db, tx.autoCommit) }