code: def _transform_binary_composition_to_expression(expression, node, context):
      
      if expression.operator not in constants.SUPPORTED_OPERATORS:
          raise NotImplementedError(
              u'Filter operation "{}" is not supported by the SQL backend.'.format(
                  expression.operator))
      sql_operator = constants.SUPPORTED_OPERATORS[expression.operator]
      left = _expression_to_sql(expression.left, node, context)
      right = _expression_to_sql(expression.right, node, context)
      if sql_operator.cardinality == constants.CARDINALITY_UNARY:
          left, right = _get_column_and_bindparam(left, right, sql_operator)
          clause = getattr(left, sql_operator.name)(right)
          return clause
      elif sql_operator.cardinality == constants.CARDINALITY_BINARY:
          clause = getattr(sql_expressions, sql_operator.name)(left, right)
          return clause
      elif sql_operator.cardinality == constants.CARDINALITY_LIST_VALUED:
          left, right = _get_column_and_bindparam(left, right, sql_operator)
          # ensure that SQLAlchemy treats the right bind parameter as list valued
          right.expanding = True
          clause = getattr(left, sql_operator.name)(right)
          return clause
      raise AssertionError(u'Unreachable, operator cardinality {} for compiler expression {} is '
                           u'unknown'.format(sql_operator.cardinality, expression))
docs: Transform a BinaryComposition compiler expression into a SQLAlchemy expression.
  
      Recursively calls _expression_to_sql to convert its left and right sub-expressions.
  
      Args:
          expression: expression, BinaryComposition compiler expression.
          node: SqlNode, the SqlNode the expression applies to.
          context: CompilationContext, global compilation state and metadata.
  
      Returns:
          Expression, SQLAlchemy expression.