# File lib/active_record/vendor/simple.rb, line 219
    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