code: def handle_select_clause(
      query: SelectStatement,
      alias: str,
      clause: str,
      value: Union[str, int, list],
  ) -> SelectStatement:
      """
      Modifies a SELECT statement object by adding or modifying a specific clause.
  
      Args:
          query (SelectStatement): The SELECT statement object.
          alias (str): Alias for the table reference.
          clause (str): The clause to be handled.
          value (str, int, list): The value to be set for the clause.
  
      Returns:
          SelectStatement: The modified SELECT statement object.
  
      Raises:
          AssertionError: If the query is not an instance of SelectStatement class.
          AssertionError: If the clause is not in the accepted clauses list.
      """
  
      assert isinstance(
          query, SelectStatement
      ), "query must be an instance of SelectStatement"
  
      accepted_clauses = [
          "where_clause",
          "target_list",
          "groupby_clause",
          "orderby_list",
          "limit_count",
      ]
  
      assert clause in accepted_clauses, f"Unknown clause: {clause}"
  
      # If the clause being set is "target_list" and the value is equal to
      # "*", the "SELECT *" portion is replaced by SELECT <value>.
      if (
          clause == "target_list"
          and getattr(query, clause) == create_star_expression()
      ):
          setattr(query, clause, None)
  
      if getattr(query, clause) is None:
          setattr(query, clause, value)
      else:
          query = SelectStatement(
              target_list=create_star_expression(),
              from_table=TableRef(query, alias=alias),
          )
          setattr(query, clause, value)
  
      return query
  
file_path: evadb/evadb/interfaces/relational/utils.py
imports: from typing import Callable, List, Union
  from evadb.binder.statement_binder import StatementBinder
  from evadb.binder.statement_binder_context import StatementBinderContext
  from evadb.expression.abstract_expression import AbstractExpression
  from evadb.expression.constant_value_expression import ConstantValueExpression
  from evadb.expression.tuple_value_expression import TupleValueExpression
  from evadb.parser.select_statement import SelectStatement
  from evadb.parser.statement import AbstractStatement
  from evadb.parser.table_ref import TableRef
  from evadb.parser.utils import parse_expression, parse_lateral_join, parse_predicate_expression
label_desc: Use image node_id 7 for calling a global function with example usage: handle_select_clause(query, alias, clause, value) and returns: query