Skip to main content

rewrite_lateral_view

Function rewrite_lateral_view 

Source
pub fn rewrite_lateral_view(sql: &str) -> SqlResult<String>
Expand description

Rewrites Spark-style LATERAL VIEW to standard SQL CROSS JOIN LATERAL.

§Transformations

-- Input
SELECT id, val FROM t LATERAL VIEW explode(tags) AS tag

-- Output
SELECT id, val FROM t CROSS JOIN LATERAL explode(tags) AS tag

Also handles LATERAL VIEW OUTER:

-- Input
SELECT id, val FROM t LATERAL VIEW OUTER explode(tags) AS tag

-- Output
SELECT id, val FROM t LEFT JOIN LATERAL explode(tags) AS tag ON TRUE