def test_get_view_definition(self, connection):
insp = inspect(connection)
+
+ def normalize(definition):
+ # pg16 returns "SELECT" without qualifying tablename.
+ # older pgs include it
+ definition = re.sub(
+ r"testtable\.(\w+)", lambda m: m.group(1), definition
+ )
+ return re.sub(r"[\n\t ]+", " ", definition.strip())
+
eq_(
- re.sub(
- r"[\n\t ]+",
- " ",
- insp.get_view_definition("test_mview").strip(),
- ),
- "SELECT testtable.id, testtable.data FROM testtable;",
+ normalize(insp.get_view_definition("test_mview")),
+ "SELECT id, data FROM testtable;",
)
rows = (
s.query(B.id.expressions[0], B.id.expressions[1], func.sum(B.data))
.group_by(*B.id.expressions)
+ .order_by(B.id.expressions[0])
.all()
)
eq_(rows, [(1, 1, 5), (2, 2, 7)])