Skip to content

Commit c3256a8

Browse files
authored
Do not parse ASOF and MATCH_CONDITION as table factor aliases (#1698)
1 parent 447142c commit c3256a8

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/keywords.rs

+2
Original file line numberDiff line numberDiff line change
@@ -1000,6 +1000,8 @@ pub const RESERVED_FOR_TABLE_ALIAS: &[Keyword] = &[
10001000
Keyword::ANTI,
10011001
Keyword::SEMI,
10021002
Keyword::RETURNING,
1003+
Keyword::ASOF,
1004+
Keyword::MATCH_CONDITION,
10031005
// for MSSQL-specific OUTER APPLY (seems reserved in most dialects)
10041006
Keyword::OUTER,
10051007
Keyword::SET,

tests/sqlparser_snowflake.rs

+14
Original file line numberDiff line numberDiff line change
@@ -2731,6 +2731,20 @@ fn asof_joins() {
27312731
"ON s.state = p.state ",
27322732
"ORDER BY s.observed",
27332733
));
2734+
2735+
// Test without explicit aliases
2736+
#[rustfmt::skip]
2737+
snowflake_and_generic().verified_query(concat!(
2738+
"SELECT * ",
2739+
"FROM snowtime ",
2740+
"ASOF JOIN raintime ",
2741+
"MATCH_CONDITION (snowtime.observed >= raintime.observed) ",
2742+
"ON snowtime.state = raintime.state ",
2743+
"ASOF JOIN preciptime ",
2744+
"MATCH_CONDITION (showtime.observed >= preciptime.observed) ",
2745+
"ON showtime.state = preciptime.state ",
2746+
"ORDER BY showtime.observed",
2747+
));
27342748
}
27352749

27362750
#[test]

0 commit comments

Comments
 (0)