Ejemplo n.º 1
0
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
}
Ejemplo n.º 2
0
func (tx *Tx) restoreAutoCommit() {
	_ = C.nuodb_autocommit_set(tx.c.db, tx.autoCommit)
}