original_docstring: 
      Give list of sql statements:
          * The sql to query the given model
          * The sql to create all views and tables that the given model depends upon
      :param dialect: SQL Dialect
      :param start_node: model to convert to sql
      :return: A dict of sql statements. The order of the items in the dict is significant: earlier statements
          will create views and/or tables that might be used by later statements.
      
docstring: Give list of sql statements:
  The sql to query the given model
  The sql to create all views and tables that the given model depends upon
docstring_tokens: Give list of sql statements : The sql to query the given model The sql to create all views and tables that the given model depends upon
code: def to_sql_materialized_nodes(
          dialect: Dialect,
          start_node: SqlModel,
          include_start_node=True,
  ) -> Dict[str, str]:
      """
      Give list of sql statements:
          * The sql to query the given model
          * The sql to create all views and tables that the given model depends upon
      :param dialect: SQL Dialect
      :param start_node: model to convert to sql
      :return: A dict of sql statements. The order of the items in the dict is significant: earlier statements
          will create views and/or tables that might be used by later statements.
      """
      result: Dict[str, str] = {}
      compiler_cache: Dict[str, List['SemiCompiledTuple']] = {}
      # find all nodes that are materialized as view or table, and the start_node if needed
      # make sure we get the longest possible path to a node (use_last_found_instance=True). That way we can
      # reverse the list and we'll get the nodes that are a dependency for other nodes before the node that
      # depends on them.
  
      materialized_found_nodes: List[FoundNode] = find_nodes(
          start_node=start_node,
          function=lambda node: (
              (node is start_node and include_start_node) or node.materialization.is_statement
          ),
          first_instance=False
      )
      _check_names_unique(found_node.model for found_node in materialized_found_nodes)
      for found_node in reversed(materialized_found_nodes):
          model = found_node.model
          result[model_to_name(model)] = _to_sql_materialized_node(
              dialect=dialect,
              model=model,
              compiler_cache=compiler_cache,
          )
      return result
code_tokens: def to_sql_materialized_nodes ( dialect : Dialect , start_node : SqlModel , include_start_node = True , ) -> Dict [ str , str ] : result : Dict [ str , str ] = { } compiler_cache : Dict [ str , List [ 'SemiCompiledTuple' ] ] = { } materialized_found_nodes : List [ FoundNode ] = find_nodes ( start_node = start_node , function = lambda node : ( ( node is start_node and include_start_node ) or node . materialization . is_statement ) , first_instance = False ) _check_names_unique ( found_node . model for found_node in materialized_found_nodes ) for found_node in reversed ( materialized_found_nodes ) : model = found_node . model result [ model_to_name ( model ) ] = _to_sql_materialized_node ( dialect = dialect , model = model , compiler_cache = compiler_cache , ) return result
short_docstring: Give list of sql statements:
   The sql to query the given model
   The sql to create all views and tables that the given model depends upon
short_docstring_tokens: Give list of sql statements : The sql to query the given model The sql to create all views and tables that the given model depends upon
comment: """
      Give list of sql statements:
          * The sql to query the given model
          * The sql to create all views and tables that the given model depends upon
      :param dialect: SQL Dialect
      :param start_node: model to convert to sql
      :return: A dict of sql statements. The order of the items in the dict is significant: earlier statements
          will create views and/or tables that might be used by later statements.
      """$SEP$# find all nodes that are materialized as view or table, and the start_node if needed$SEP$# make sure we get the longest possible path to a node (use_last_found_instance=True). That way we can$SEP$# reverse the list and we'll get the nodes that are a dependency for other nodes before the node that$SEP$# depends on them.