U:RDoc::AnyMethod[iI"transaction:EFI""SQLite3::Database#transaction;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"MBegins a new transaction. Note that nested transactions are not allowed ;TI"Mby SQLite, so attempting to nest a transaction will result in a runtime ;TI"exception.;To:RDoc::Markup::BlankLine o;
; [I"JThe +mode+ parameter may be either :deferred (the default), ;TI"1:immediate, or :exclusive.;T@o;
; [
I"JIf a block is given, the database instance is yielded to it, and the ;TI"Ftransaction is committed when the block terminates. If the block ;TI"Mraises an exception, a rollback will be performed instead. Note that if ;TI"Da block is given, #commit and #rollback should never be called ;TI"Aexplicitly or you'll get an error when the block terminates.;T@o;
; [I"KIf a block is not given, it is the caller's responsibility to end the ;TI"Ftransaction explicitly, either by calling #commit, or by calling ;TI"#rollback.;T:
@fileI"lib/sqlite3/database.rb;T:0@omit_headings_from_table_of_contents_below00I" self;T[ I"( mode = :deferred );T@!FI"
Database;TcRDoc::NormalClass00