# File lib/after_commit/after_savepoint.rb, line 37
        def release_savepoint_with_callback
          increment_transaction_pointer
          committed = false
          begin
            trigger_before_commit_callbacks
            trigger_before_commit_on_create_callbacks
            trigger_before_commit_on_save_callbacks
            trigger_before_commit_on_update_callbacks
            trigger_before_commit_on_destroy_callbacks
            
            release_savepoint_without_callback
            committed = true
            
            trigger_after_commit_callbacks
            trigger_after_commit_on_create_callbacks
            trigger_after_commit_on_save_callbacks
            trigger_after_commit_on_update_callbacks
            trigger_after_commit_on_destroy_callbacks
          rescue
            unless committed
              decrement_transaction_pointer
              rollback_to_savepoint
              increment_transaction_pointer
            end
          ensure
            AfterCommit.cleanup(self)
            decrement_transaction_pointer
          end
        end