code: def current_watermark(rowtimeAttribute) -> Expression:
      """
      Returns the current watermark for the given rowtime attribute, or NULL if no common watermark of
      all upstream operations is available at the current operation in the pipeline.
  
      The function returns the watermark with the same type as the rowtime attribute, but with an
      adjusted precision of 3. For example, if the rowtime attribute is `TIMESTAMP_LTZ(9)`, the
      function will return `TIMESTAMP_LTZ(3)`.
  
      If no watermark has been emitted yet, the function will return `NULL`. Users must take care of
      this when comparing against it, e.g. in order to filter out late data you can use
  
      ::
  
          WHERE CURRENT_WATERMARK(ts) IS NULL OR ts > CURRENT_WATERMARK(ts)
      """
      return _unary_op("currentWatermark", rowtimeAttribute)
  
imports: from typing import Union
  from pyflink import add_version_doc
  from pyflink.java_gateway import get_gateway
  from pyflink.table.expression import Expression, _get_java_expression, TimePointUnit, JsonOnNull
  from pyflink.table.types import _to_java_data_type, DataType
  from pyflink.table.udf import UserDefinedFunctionWrapper
  from pyflink.util.java_utils import to_jarray, load_java_class
label_desc: Use image node_id 18 for calling a global function with example usage: current_watermark(rowtimeAttribute) and returns: _unary_op