code: def test_over_window(self):
      t_env = self.t_env
      t = t_env.from_elements([(1, 1, "Hello")], ["a", "b", "c"])
  
      result = t.over_window(
          Over.partition_by(t.c)
          .order_by(t.a)
          .preceding(expr.row_interval(2))
          .following(expr.CURRENT_ROW)
          .alias("w")
      )
  
      self.assertRaisesRegex(
          Py4JJavaError,
          "Second argument in OVER window must be a TIME ATTRIBUTE, but is: BIGINT",
          result.select,
          expr.col("b").sum.over(expr.col("w")),
      )
  
file_path: flink/flink-python/pyflink/table/tests/test_window.py
imports: from py4j.protocol import Py4JJavaError
  from pyflink.table import expressions
  from pyflink.table.window import Session, Slide, Tumble, Over
  from pyflink.testing.test_case_utils import PyFlinkStreamTableTestCase, PyFlinkTestCase
label_desc: Use image node_id 1 for calling the StreamTableWindowTests obj's underlying member method code with example usage: obj.test_over_window() without return types