Gregor Brandt <[EMAIL PROTECTED]> wrote: > When doing transactional commits I do > > int error = sqlite3_Exec( .., "BEGIN TRANSACTION;", ... ) // can > this ever return an error?
No, as far as I know. It just sets a flag in an internal data structure associated with database connection. > int error = sqlite3_exect( ..., "some update command", ... ) > > if I get an error code, must I never do the "COMMIT;". what if I do? This depends on a specific error, and (in case of constraint violations) a conflict resolution clause mentioned in the command. By default, when a statement fails, any changes it might have made are rolled back, returning the database to the state right before the statement was issued. In your example, no changes were made before the statement: at this point, it makes no difference whether you commit or roll back the transaction. Igor Tandetnik _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users