class_docstr: Performs one or more of the templated checks in the column_checks dictionary.
  
  Checks are performed on a per-column basis specified by the column_mapping.
  
  Each check can take one or more of the following options:
  
  * ``equal_to``: an exact value to equal, cannot be used with other comparison options
  * ``greater_than``: value that result should be strictly greater than
  * ``less_than``: value that results should be strictly less than
  * ``geq_to``: value that results should be greater than or equal to
  * ``leq_to``: value that results should be less than or equal to
  * ``tolerance``: the percentage that the result may be off from the expected value
  * ``partition_clause``: an extra clause passed into a WHERE statement to partition data
  
  :param table: the table to run checks on
  :param column_mapping: the dictionary of columns and their associated checks, e.g.
  
      .. code-block:: python
  
          {
              "col_name": {
                  "null_check": {
                      "equal_to": 0,
                      "partition_clause": "foreign_key IS NOT NULL",
                  },
                  "min": {
                      "greater_than": 5,
                      "leq_to": 10,
                      "tolerance": 0.2,
                  },
                  "max": {"less_than": 1000, "geq_to": 10, "tolerance": 0.01},
              }
          }
  
  :param partition_clause: a partial SQL statement that is added to a WHERE clause in the query built by
      the operator that creates partition_clauses for the checks to run on, e.g.
  
      .. code-block:: python
  
          "date = '1970-01-01'"
  
  :param conn_id: the connection ID used to connect to the database
  :param database: name of database which overwrite the defined one in connection
  :param accept_none: whether or not to accept None values returned by the query. If true, converts None
      to 0.
  
  .. seealso::
      For more information on how to use this operator, take a look at the guide:
      :ref:`howto/operator:SQLColumnCheckOperator`
class_docstr_tok: ["Performs","one","or","more","of","the","templated","checks","in","the","column_checks","dictionary",".","Checks","are","performed","on","a","per-column","basis","specified","by","the","column_mapping",".","Each","check","can","take","one","or","more","of","the","following","options",":","*","``","equal_to","``",":","an","exact","value","to","equal",",","can","not","be","used","with","other","comparison","options","*","``","greater_than","``",":","value","that","result","should","be","strictly","greater","than","*","``","less_than","``",":","value","that","results","should","be","strictly","less","than","*","``","geq_to","``",":","value","that","results","should","be","greater","than","or","equal","to","*","``","leq_to","``",":","value","that","results","should","be","less","than","or","equal","to","*","``","tolerance","``",":","the","percentage","that","the","result","may","be","off","from","the","expected","value","*","``","partition_clause","``",":","an","extra","clause","passed","into","a","WHERE","statement","to","partition","data",":","param","table",":","the","table","to","run","checks","on",":","param","column_mapping",":","the","dictionary","of","columns","and","their","associated","checks",",","e.g",".","..","code-block",":",":","python","{","``","col_name","''",":","{","``","null_check","''",":","{","``","equal_to","''",":","0",",","``","partition_clause","''",":","``","foreign_key","IS","NOT","NULL","''",",","}",",","``","min","''",":","{","``","greater_than","''",":","5",",","``","leq_to","''",":","10",",","``","tolerance","''",":","0.2",",","}",",","``","max","''",":","{","``","less_than","''",":","1000",",","``","geq_to","''",":","10",",","``","tolerance","''",":","0.01","}",",","}","}",":","param","partition_clause",":","a","partial","SQL","statement","that","is","added","to","a","WHERE","clause","in","the","query","built","by","the","operator","that","creates","partition_clauses","for","the","checks","to","run","on",",","e.g",".","..","code-block",":",":","python","``","date","=","'1970-01-01","'","''",":","param","conn_id",":","the","connection","ID","used","to","connect","to","the","database",":","param","database",":","name","of","database","which","overwrite","the","defined","one","in","connection",":","param","accept_none",":","whether","or","not","to","accept","None","values","returned","by","the","query",".","If","true",",","converts","None","to","0",".","..","seealso",":",":","For","more","information","on","how","to","use","this","operator",",","take","a","look","at","the","guide",":",":","ref",":","`","howto\/operator",":","SQLColumnCheckOperator","`"]
code: def _get_match(self, check_values, record, tolerance=None) -> bool:
      if record is None and self.accept_none:
          record = 0
      match_boolean = True
      if "geq_to" in check_values:
          if tolerance is not None:
              match_boolean = record >= check_values["geq_to"] * (
                  1 - tolerance
              )
          else:
              match_boolean = record >= check_values["geq_to"]
      elif "greater_than" in check_values:
          if tolerance is not None:
              match_boolean = record > check_values["greater_than"] * (
                  1 - tolerance
              )
          else:
              match_boolean = record > check_values["greater_than"]
      if "leq_to" in check_values:
          if tolerance is not None:
              match_boolean = (
                  record <= check_values["leq_to"] * (1 + tolerance)
                  and match_boolean
              )
          else:
              match_boolean = (
                  record <= check_values["leq_to"] and match_boolean
              )
      elif "less_than" in check_values:
          if tolerance is not None:
              match_boolean = (
                  record < check_values["less_than"] * (1 + tolerance)
                  and match_boolean
              )
          else:
              match_boolean = (
                  record < check_values["less_than"] and match_boolean
              )
      if "equal_to" in check_values:
          if tolerance is not None:
              match_boolean = (
                  check_values["equal_to"] * (1 - tolerance)
                  <= record
                  <= check_values["equal_to"] * (1 + tolerance)
              ) and match_boolean
          else:
              match_boolean = (
                  record == check_values["equal_to"] and match_boolean
              )
      return match_boolean
  
imports: from __future__ import annotations
  import ast
  import re
  from functools import cached_property
  from typing import TYPE_CHECKING, Any, Callable, Iterable, Mapping, NoReturn, Sequence, SupportsAbs
  from airflow.exceptions import AirflowException, AirflowFailException
  from airflow.hooks.base import BaseHook
  from airflow.models import BaseOperator, SkipMixin
  from airflow.providers.common.sql.hooks.sql import DbApiHook, fetch_all_handler, return_single_query_results
  from airflow.utils.helpers import merge_dicts
label_desc: Use image node_id 4 for calling the SQLColumnCheckOperator obj's underlying member method code with example usage: obj._get_match(check_values, record, tolerance) and returns: match_boolean