mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-08-24 16:04:04 +00:00
Support date
'key' when using semi structured data (#1023)
This commit is contained in:
parent
b89edaa98b
commit
7993384686
2 changed files with 12 additions and 1 deletions
|
@ -4726,7 +4726,7 @@ impl<'a> Parser<'a> {
|
||||||
)?,
|
)?,
|
||||||
},
|
},
|
||||||
// Case when Snowflake Semi-structured data like key:value
|
// Case when Snowflake Semi-structured data like key:value
|
||||||
Keyword::NoKeyword | Keyword::LOCATION | Keyword::TYPE if dialect_of!(self is SnowflakeDialect | GenericDialect) => {
|
Keyword::NoKeyword | Keyword::LOCATION | Keyword::TYPE | Keyword::DATE if dialect_of!(self is SnowflakeDialect | GenericDialect) => {
|
||||||
Ok(Value::UnQuotedString(w.value))
|
Ok(Value::UnQuotedString(w.value))
|
||||||
}
|
}
|
||||||
_ => self.expected(
|
_ => self.expected(
|
||||||
|
|
|
@ -208,6 +208,17 @@ fn parse_json_using_colon() {
|
||||||
select.projection[0]
|
select.projection[0]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let sql = "SELECT a:date FROM t";
|
||||||
|
let select = snowflake().verified_only_select(sql);
|
||||||
|
assert_eq!(
|
||||||
|
SelectItem::UnnamedExpr(Expr::JsonAccess {
|
||||||
|
left: Box::new(Expr::Identifier(Ident::new("a"))),
|
||||||
|
operator: JsonOperator::Colon,
|
||||||
|
right: Box::new(Expr::Value(Value::UnQuotedString("date".to_string()))),
|
||||||
|
}),
|
||||||
|
select.projection[0]
|
||||||
|
);
|
||||||
|
|
||||||
snowflake().one_statement_parses_to("SELECT a:b::int FROM t", "SELECT CAST(a:b AS INT) FROM t");
|
snowflake().one_statement_parses_to("SELECT a:b::int FROM t", "SELECT CAST(a:b AS INT) FROM t");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue