class_docstr: A Validator for checking specific tasks for the manifest against the Data Warehouse.
  
  Data Warehouse Validations are validations that are done against the data
  warehouse based on the manifest configured by the user. Their purpose is to
  ensure that queries generated by MetricFlow won't fail when you go to use
  them (assuming the manifest has passed these validations before use).
class_docstr_tok: ["A","Validator","for","checking","specific","tasks","for","the","manifest","against","the","Data","Warehouse",".","Data","Warehouse","Validations","are","validations","that","are","done","against","the","data","warehouse","based","on","the","manifest","configured","by","the","user",".","Their","purpose","is","to","ensure","that","queries","generated","by","MetricFlow","wo","n't","fail","when","you","go","to","use","them","(","assuming","the","manifest","has","passed","these","validations","before","use",")","."]
code: def __init__(self, sql_client: SqlClient) -> None:  # noqa: D
      self._sql_client = sql_client
  
imports: from __future__ import annotations
  import collections
  import traceback
  from dataclasses import dataclass, field
  from functools import partial
  from math import floor
  from time import perf_counter
  from typing import Callable, DefaultDict, Dict, List, Optional, Sequence, Tuple, TypeVar
  from dbt_semantic_interfaces.protocols.metric import Metric
  from dbt_semantic_interfaces.protocols.semantic_manifest import SemanticManifest
  from dbt_semantic_interfaces.protocols.semantic_model import SemanticModel
  from dbt_semantic_interfaces.references import MetricModelReference, SemanticModelElementReference, SemanticModelReference
  from dbt_semantic_interfaces.validations.validator_helpers import FileContext, MetricContext, SemanticManifestValidationResults, SemanticModelContext, SemanticModelElementContext, SemanticModelElementType, ValidationContext, ValidationError, ValidationIssue, ValidationWarning
  from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
  from metricflow.dataflow.builder.source_node import SourceNodeBuilder
  from metricflow.dataflow.dataflow_plan import BaseOutput, FilterElementsNode
  from metricflow.dataset.convert_semantic_model import SemanticModelToDataSetConverter
  from metricflow.dataset.dataset import DataSet
  from metricflow.engine.metricflow_engine import MetricFlowEngine, MetricFlowExplainResult, MetricFlowQueryRequest
  from metricflow.model.semantic_manifest_lookup import SemanticManifestLookup
  from metricflow.plan_conversion.column_resolver import DunderColumnAssociationResolver
  from metricflow.plan_conversion.dataflow_to_sql import DataflowToSqlQueryPlanConverter
  from metricflow.plan_conversion.time_spine import TimeSpineSource
  from metricflow.protocols.sql_client import SqlClient
  from metricflow.specs.specs import InstanceSpecSet, LinkableInstanceSpec, MeasureSpec
  from metricflow.sql.sql_bind_parameters import SqlBindParameters
label_desc: Use image node_id 1 to create a new DataWarehouseModelValidator object  with example: obj = DataWarehouseModelValidator(sql_client)