parameters: (
          self, left, right, use_proxies=True, equivalents=(), **kw
      )
docstring: Compare ColumnElements using proxies and equivalent collections.
  
          This is a comparison strategy specific to the ORM.
docstring_summary: Compare ColumnElements using proxies and equivalent collections.
docstring_tokens: Compare ColumnElements using proxies and equivalent collections .
function: def compare_column_element(
          self, left, right, use_proxies=True, equivalents=(), **kw
      ):
          """Compare ColumnElements using proxies and equivalent collections.
  
          This is a comparison strategy specific to the ORM.
          """
  
          to_compare = (right,)
          if equivalents and right in equivalents:
              to_compare = equivalents[right].union(to_compare)
  
          for oth in to_compare:
              if use_proxies and left.shares_lineage(oth):
                  return SKIP_TRAVERSE
              elif hash(left) == hash(right):
                  return SKIP_TRAVERSE
          else:
              return COMPARE_FAILED
function_tokens: def compare_column_element ( self , left , right , use_proxies = True , equivalents = ( ) , * * kw ) : to_compare = ( right , ) if equivalents and right in equivalents : to_compare = equivalents [ right ] . union ( to_compare ) for oth in to_compare : if use_proxies and left . shares_lineage ( oth ) : return SKIP_TRAVERSE elif hash ( left ) == hash ( right ) : return SKIP_TRAVERSE else : return COMPARE_FAILED