Arachne 1.0
Arachne - the perpetual stitcher of Wikidata entities.
Loading...
Searching...
No Matches
arachne::penelope::anonymous_namespace{inbox.cpp}::transaction Class Referencefinal
Collaboration diagram for arachne::penelope::anonymous_namespace{inbox.cpp}::transaction:

Public Member Functions

 transaction (database &value)
 transaction (const transaction &)=delete
transactionoperator= (const transaction &)=delete
 ~transaction ()
void commit ()
 transaction (database &value)
 transaction (const transaction &)=delete
transactionoperator= (const transaction &)=delete
 ~transaction ()
void commit ()

Private Attributes

databasedatabase_
bool finished_ { false }

Detailed Description

Definition at line 407 of file inbox.cpp.

Constructor & Destructor Documentation

◆ transaction() [1/4]

arachne::penelope::anonymous_namespace{inbox.cpp}::transaction::transaction ( database & value)
inlineexplicit

◆ transaction() [2/4]

arachne::penelope::anonymous_namespace{inbox.cpp}::transaction::transaction ( const transaction & )
delete

◆ ~transaction() [1/2]

arachne::penelope::anonymous_namespace{inbox.cpp}::transaction::~transaction ( )
inline

Definition at line 417 of file inbox.cpp.

417 {
418 if (!finished_) {
419 try {
420 database_.execute("ROLLBACK");
421 } catch (...) {
422 }
423 }
424 }

References database_, and finished_.

◆ transaction() [3/4]

arachne::penelope::anonymous_namespace{inbox.cpp}::transaction::transaction ( database & value)
inlineexplicit

Definition at line 409 of file inbox.cpp.

410 : database_(value) {
411 database_.execute("BEGIN IMMEDIATE");
412 }

◆ transaction() [4/4]

arachne::penelope::anonymous_namespace{inbox.cpp}::transaction::transaction ( const transaction & )
delete

◆ ~transaction() [2/2]

arachne::penelope::anonymous_namespace{inbox.cpp}::transaction::~transaction ( )
inline

Definition at line 417 of file inbox.cpp.

417 {
418 if (!finished_) {
419 try {
420 database_.execute("ROLLBACK");
421 } catch (...) {
422 }
423 }
424 }

Member Function Documentation

◆ commit() [1/2]

void arachne::penelope::anonymous_namespace{inbox.cpp}::transaction::commit ( )
inline

Definition at line 426 of file inbox.cpp.

426 {
427 database_.execute("COMMIT");
428 finished_ = true;
429 }

References database_, and finished_.

Referenced by arachne::penelope::anonymous_namespace{inbox.cpp}::apply_one_batch(), arachne::penelope::anonymous_namespace{inbox.cpp}::rebuild_hints(), and arachne::penelope::anonymous_namespace{inbox.cpp}::record_issues().

Here is the caller graph for this function:

◆ commit() [2/2]

void arachne::penelope::anonymous_namespace{inbox.cpp}::transaction::commit ( )
inline

Definition at line 426 of file inbox.cpp.

426 {
427 database_.execute("COMMIT");
428 finished_ = true;
429 }

◆ operator=() [1/2]

transaction & arachne::penelope::anonymous_namespace{inbox.cpp}::transaction::operator= ( const transaction & )
delete

◆ operator=() [2/2]

transaction & arachne::penelope::anonymous_namespace{inbox.cpp}::transaction::operator= ( const transaction & )
delete

Member Data Documentation

◆ database_

database & arachne::penelope::anonymous_namespace{inbox.cpp}::transaction::database_
private

Definition at line 432 of file inbox.cpp.

Referenced by commit(), transaction(), and ~transaction().

◆ finished_

bool arachne::penelope::anonymous_namespace{inbox.cpp}::transaction::finished_ { false }
private

Definition at line 433 of file inbox.cpp.

433{ false };

Referenced by commit(), and ~transaction().


The documentation for this class was generated from the following file: