def is_foreign_expr(self, expr): from ibis.expr.analysis import ExprValidator # The expression isn't foreign to us. For example, the parent table set # in a correlated WHERE subquery if self.has_ref(expr, parent_contexts=True): return False exprs = [self.query.table_set] + self.query.select_set validator = ExprValidator(exprs) return not validator.validate(expr)