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

Reply via email to