62 enum r_TAStatus { active, inactive, comiting, aborting };
65 enum r_TAMode { read_write, read_only };
74 void begin( r_TAMode mode = read_write ) throw( r_Error );
86 void commit() throw( r_Error );
105 inline r_TAStatus get_status() const;
108 inline r_TAMode get_mode() const;
115 static r_Transaction* actual_transaction;
118 r_Ref_Any load_object( const r_OId& oid );
121 enum GenRefType { MINTERVAL, SINTERVAL, POINT, OID, SCALAR };
124 void add_object_list( GenRefType type,
void* ref );
131 void add_object_list(
const r_Ref<r_Object>& );
140 r_Set< r_Ref<r_Object> > object_list;
150 r_Set< GenRefElement* > non_object_list;
152 friend class r_Object;
155 #define DEF_TRANSACTION
160 typedef r_Iterator<r_Object*> r_Iterator_r_Object_dummy;
161 #include "rasodmg/transaction.icc"
163 #ifdef EARLY_TEMPLATE
164 #ifdef __EXECUTABLE__
166 #include "rasodmg/ref.cpp"
168 #include "rasodmg/ref.cc"