class_docstr: This plan is used for storing information required for creating
  a table from select query.
  Arguments:
      table_info {TableInfo} -- table info for view to be created in storage
      col_list{List[ColumnDefinition]} -- column names in the view
      if_not_exists {bool} -- Whether to override if there is existing view
class_docstr_tok: ["This","plan","is","used","for","storing","information","required","for","creating","a","table","from","select","query",".","Arguments",":","table_info","{","TableInfo","}","--","table","info","for","view","to","be","created","in","storage","col_list","{","List","[","ColumnDefinition","]","}","--","column","names","in","the","view","if_not_exists","{","bool","}","--","Whether","to","override","if","there","is","existing","view"]
code: def __init__(
      self,
      table_info: TableInfo,
      column_list: List[ColumnDefinition],
      if_not_exists: bool = False,
  ):
      super().__init__(PlanOprType.CREATE)
      self._table_info = table_info
      self._column_list = column_list
      self._if_not_exists = if_not_exists
  
file_path: evadb/evadb/plan_nodes/create_from_select_plan.py
imports: from typing import List
  from evadb.parser.create_statement import ColumnDefinition
  from evadb.parser.table_ref import TableInfo
  from evadb.plan_nodes.abstract_plan import AbstractPlan
  from evadb.plan_nodes.types import PlanOprType
label_desc: Use image node_id 1 to create a new CreateFromSelectPlan object from inherited base classes: AbstractPlan with example: obj = CreateFromSelectPlan(table_info, column_list, if_not_exists)