class_docstr: Converts a dataflow plan to an execution plan.
class_docstr_tok: ["Converts","a","dataflow","plan","to","an","execution","plan","."]
code: def visit_write_to_result_dataframe_node(
      self, node: WriteToResultDataframeNode
  ) -> ExecutionPlan:  # noqa: D
      logger.info(
          f"Generating SQL query plan from {node.node_id} -> {node.parent_node.node_id}"
      )
      return self._build_execution_plan(node.parent_node)
  
file_path: metricflow/metricflow/plan_conversion/dataflow_to_execution.py
imports: from __future__ import annotations
  import logging
  from typing import Optional, Union
  from metricflow.dag.id_generation import EXEC_PLAN_PREFIX, SQL_QUERY_PLAN_PREFIX, IdGeneratorRegistry
  from metricflow.dataflow.dataflow_plan import BaseOutput, ComputedMetricsOutput, DataflowPlan, SinkNodeVisitor, WriteToResultDataframeNode, WriteToResultTableNode
  from metricflow.dataflow.sql_table import SqlTable
  from metricflow.execution.execution_plan import ExecutionPlan, ExecutionPlanTask, SelectSqlQueryToDataFrameTask, SelectSqlQueryToTableTask
  from metricflow.plan_conversion.dataflow_to_sql import DataflowToSqlQueryPlanConverter
  from metricflow.protocols.sql_client import SqlClient
  from metricflow.sql.render.sql_plan_renderer import SqlQueryPlanRenderer
  from metricflow.sql.sql_plan import SqlQueryPlan
  from metricflow.sql.sql_plan_to_text import sql_query_plan_as_text
  from metricflow.sql_request.sql_request_attributes import SqlJsonTag
label_desc: Use image node_id 3 for calling the DataflowToExecutionPlanConverter obj's underlying member method code with example usage: obj.visit_write_to_result_dataframe_node(node) and returns: self