class_docstr: For now, we assume every group has only one logic expression.
class_docstr_tok: ["For","now",",","we","assume","every","group","has","only","one","logic","expression","."]
docstr: Insert a group expression into a particular group
docstr_tok: ["Insert","a","group","expression","into","a","particular","group"]
code: def _insert_expr(self, expr: GroupExpression, group_id: int):
      """
      Insert a group expression into a particular group
      """
      assert group_id < len(self.groups), "Group Id out of the bound"
  
      group = self.groups[group_id]
      group.add_expr(expr)
      self._group_exprs[hash(expr)] = expr
  
file_path: evadb/evadb/optimizer/memo.py
imports: from typing import Dict, List
  from evadb.constants import UNDEFINED_GROUP_ID
  from evadb.optimizer.group import Group
  from evadb.optimizer.group_expression import GroupExpression
  from evadb.optimizer.operators import OperatorType
  from evadb.utils.logging_manager import logger
label_desc: Use image node_id 8 for calling the Memo obj's underlying member method code with example usage: obj._insert_expr(expr, group_id) without return types