class_docstr: An alternative to the HivePartitionSensor that talk directly to the MySQL db.
  
  This was created as a result of observing sub optimal queries generated by the
  Metastore thrift service when hitting subpartitioned tables. The Thrift service's
  queries were written in a way that would not leverage the indexes.
  
  :param schema: the schema
  :param table: the table
  :param partition_name: the partition name, as defined in the PARTITIONS
      table of the Metastore. Order of the fields does matter.
      Examples: ``ds=2016-01-01`` or
      ``ds=2016-01-01/sub=foo`` for a sub partitioned table
  :param mysql_conn_id: a reference to the MySQL conn_id for the metastore
class_docstr_tok: ["An","alternative","to","the","HivePartitionSensor","that","talk","directly","to","the","MySQL","db",".","This","was","created","as","a","result","of","observing","sub","optimal","queries","generated","by","the","Metastore","thrift","service","when","hitting","subpartitioned","tables",".","The","Thrift","service's","queries","were","written","in","a","way","that","would","not","leverage","the","indexes",".",":","param","schema",":","the","schema",":","param","table",":","the","table",":","param","partition_name",":","the","partition","name",",","as","defined","in","the","PARTITIONS","table","of","the","Metastore",".","Order","of","the","fields","does","matter",".","Examples",":","``","ds=2016-01-01","``","or","``","ds=2016-01-01\/sub=foo","``","for","a","sub","partitioned","table",":","param","mysql_conn_id",":","a","reference","to","the","MySQL","conn_id","for","the","metastore"]
code: def poke(self, context: Context) -> Any:
      if self.first_poke:
          self.first_poke = False
          if "." in self.table:
              self.schema, self.table = self.table.split(".")
          self.sql = f"""
              SELECT 'X'
              FROM PARTITIONS A0
              LEFT OUTER JOIN TBLS B0 ON A0.TBL_ID = B0.TBL_ID
              LEFT OUTER JOIN DBS C0 ON B0.DB_ID = C0.DB_ID
              WHERE
                  B0.TBL_NAME = '{self.table}' AND
                  C0.NAME = '{self.schema}' AND
                  A0.PART_NAME = '{self.partition_name}';
              """
      return super().poke(context)
  
imports: from __future__ import annotations
  from typing import TYPE_CHECKING, Any, Sequence
  from airflow.providers.common.sql.sensors.sql import SqlSensor
label_desc: Use image node_id 2 for calling the MetastorePartitionSensor obj's underlying member method code with example usage: obj.poke(context) and returns: super