def start_transaction(name = nil)
@__transaction_level__ ||= 0
@__transaction_names__ ||= []
if name.nil?
@__transaction_names__ << nil
s = ""
else
raise TransactionError, "Transaction Error: Named transactions must be unique." if @__transaction_names__.include?(name)
@__transaction_names__ << name
s = "(#{name.inspect})"
end
@__transaction_level__ += 1
Transaction::Simple.debug_io << "#{'>' * @__transaction_level__} Start Transaction#{s}\n" unless Transaction::Simple.debug_io.nil?
@__transaction_checkpoint__ = Marshal.dump(self)
end