| 243 | "sqlite", "<=", (3, 5, 9), "id comparison failing on the buildbot" |
| 244 | ) |
| 245 | def test_aliases(self): |
| 246 | u7, u8, u9, u10 = Session.query(User).order_by(User.id).all() |
| 247 | ualias = aliased(User) |
| 248 | q = ( |
| 249 | Session.query(User, ualias) |
| 250 | .join(ualias, User.id < ualias.id) |
| 251 | .filter(User.id < 9) |
| 252 | .order_by(User.id, ualias.id) |
| 253 | ) |
| 254 | eq_( |
| 255 | list(q.all()), [(u7, u8), (u7, u9), (u7, u10), (u8, u9), (u8, u10)] |
| 256 | ) |
| 257 | q2 = serializer.loads(serializer.dumps(q, -1), users.metadata, Session) |
| 258 | eq_( |
| 259 | list(q2.all()), |
| 260 | [(u7, u8), (u7, u9), (u7, u10), (u8, u9), (u8, u10)], |
| 261 | ) |
| 262 | |
| 263 | def test_any(self): |
| 264 | r = User.addresses.any(Address.email == "x") |