MCPcopy Create free account
hub / github.com/apache/datafusion / is_lateral_join

Function is_lateral_join

datafusion/sql/src/relation/join.rs:193–212  ·  view source on GitHub ↗

Returns `true` if the given [`Join`] is lateral.

(join: &Join)

Source from the content-addressed store, hash-verified

191
192/// Returns `true` if the given [`Join`] is lateral.
193pub(crate) fn is_lateral_join(join: &Join) -> Result<bool> {
194 let is_lateral_syntax = is_lateral(&join.relation);
195 let is_apply_syntax = match join.join_operator {
196 JoinOperator::FullOuter(..)
197 | JoinOperator::Right(..)
198 | JoinOperator::RightOuter(..)
199 | JoinOperator::RightAnti(..)
200 | JoinOperator::RightSemi(..)
201 if is_lateral_syntax =>
202 {
203 return not_impl_err!(
204 "LATERAL syntax is not supported for \
205 FULL OUTER and RIGHT [OUTER | ANTI | SEMI] joins"
206 );
207 }
208 JoinOperator::CrossApply | JoinOperator::OuterApply => true,
209 _ => false,
210 };
211 Ok(is_lateral_syntax || is_apply_syntax)
212}

Callers 1

parse_relation_joinMethod · 0.85

Calls 1

is_lateralFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…