# File sql-serialize.rb, line 912 def delete (dbi, new_transaction = true) begin refcount = sql_refcount (dbi, sql_assoc_id(dbi)) if refcount == 1 dbi.do_more("BEGIN") if new_transaction sql_delete_assocs(dbi) sql_delete(dbi) dbi.do_more("COMMIT") if new_transaction else raise SQLSerializeError.new("Object reference count is too high (%d)." % [refcount]) if new_transaction sql_decrease_refcount (dbi, sql_assoc_id(dbi)) end rescue Exception dbi.do_more("ROLLBACK") if new_transaction raise # reraise the exception end end