def detect_conflict(cursor):
    """
        Find all conflicts in the data about to be committed (as stored
        by :meth:`store_temps`)

        Returns a sequence of
        ``(oid, committed_tid, attempted_committed_tid, committed_state)`` where
        each entry refers to a conflicting object. The *committed_state* **must** be
        returned.

        This method should be called during the ``tpc_vote`` phase of a transaction,
        with :meth:`ILocker.lock_current_objects` held.
        """
