class_docstr: Similar to :class:`~sqlalchemy.types.TIMESTAMP` with ``timezone=True`` option, with some differences.
  
  - Never silently take naive :class:`~datetime.datetime`, instead it
    always raise :exc:`ValueError` unless time zone aware value.
  - :class:`~datetime.datetime` value's :attr:`~datetime.datetime.tzinfo`
    is always converted to UTC.
  - Unlike SQLAlchemy's built-in :class:`~sqlalchemy.types.TIMESTAMP`,
    it never return naive :class:`~datetime.datetime`, but time zone
    aware value, even with SQLite or MySQL.
  - Always returns TIMESTAMP in UTC.
class_docstr_tok: ["Similar","to",":","class",":","`","~sqlalchemy.types.TIMESTAMP","`","with","``","timezone=True","``","option",",","with","some","differences",".","-","Never","silently","take","naive",":","class",":","`","~datetime.datetime","`",",","instead","it","always","raise",":","exc",":","`","ValueError","`","unless","time","zone","aware","value",".","-",":","class",":","`","~datetime.datetime","`","value","'s",":","attr",":","`","~datetime.datetime.tzinfo","`","is","always","converted","to","UTC",".","-","Unlike","SQLAlchemy","'s","built-in",":","class",":","`","~sqlalchemy.types.TIMESTAMP","`",",","it","never","return","naive",":","class",":","`","~datetime.datetime","`",",","but","time","zone","aware","value",",","even","with","SQLite","or","MySQL",".","-","Always","returns","TIMESTAMP","in","UTC","."]
docstr: Process DateTimes from the DB making sure to always return UTC.
  
  Not using timezone.convert_to_utc as that converts to configured TIMEZONE
  while the DB might be running with some other setting. We assume UTC
  datetimes in the database.
code: def process_result_value(self, value, dialect):
      """
      Process DateTimes from the DB making sure to always return UTC.
  
      Not using timezone.convert_to_utc as that converts to configured TIMEZONE
      while the DB might be running with some other setting. We assume UTC
      datetimes in the database.
      """
      if value is not None:
          if value.tzinfo is None:
              value = value.replace(tzinfo=utc)
          else:
              value = value.astimezone(utc)
  
      return value
  
imports: from __future__ import annotations
  import contextlib
  import copy
  import datetime
  import json
  import logging
  from typing import TYPE_CHECKING, Any, Generator, Iterable, overload
  from dateutil import relativedelta
  from sqlalchemy import TIMESTAMP, PickleType, event, nullsfirst, tuple_
  from sqlalchemy.dialects import mysql
  from sqlalchemy.types import JSON, Text, TypeDecorator
  from airflow.configuration import conf
  from airflow.serialization.enums import Encoding
  from airflow.utils.timezone import make_naive, utc
label_desc: Use image node_id 2 for calling the UtcDateTime obj's underlying member method code with example usage: obj.process_result_value(value, dialect) and returns: value