Support more DateTimeField variants (#1191)

This commit is contained in:
Ifeanyi Ubah 2024-04-09 23:16:03 +02:00 committed by GitHub
parent 8dd213cff2
commit 127be97369
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 129 additions and 46 deletions

View file

@ -2271,6 +2271,7 @@ fn parse_extract() {
verified_stmt("SELECT EXTRACT(DAYOFWEEK FROM d)");
verified_stmt("SELECT EXTRACT(DAYOFYEAR FROM d)");
verified_stmt("SELECT EXTRACT(DATE FROM d)");
verified_stmt("SELECT EXTRACT(DATETIME FROM d)");
verified_stmt("SELECT EXTRACT(HOUR FROM d)");
verified_stmt("SELECT EXTRACT(MINUTE FROM d)");
verified_stmt("SELECT EXTRACT(SECOND FROM d)");
@ -2300,7 +2301,8 @@ fn parse_extract() {
verified_stmt("SELECT EXTRACT(TIMEZONE_REGION FROM d)");
verified_stmt("SELECT EXTRACT(TIME FROM d)");
let res = parse_sql_statements("SELECT EXTRACT(JIFFY FROM d)");
let dialects = all_dialects_except(|d| d.is::<SnowflakeDialect>() || d.is::<GenericDialect>());
let res = dialects.parse_sql_statements("SELECT EXTRACT(JIFFY FROM d)");
assert_eq!(
ParserError::ParserError("Expected date/time field, found: JIFFY".to_string()),
res.unwrap_err()
@ -2338,7 +2340,8 @@ fn parse_ceil_datetime() {
verified_stmt("SELECT CEIL(d TO SECOND) FROM df");
verified_stmt("SELECT CEIL(d TO MILLISECOND) FROM df");
let res = parse_sql_statements("SELECT CEIL(d TO JIFFY) FROM df");
let dialects = all_dialects_except(|d| d.is::<SnowflakeDialect>() || d.is::<GenericDialect>());
let res = dialects.parse_sql_statements("SELECT CEIL(d TO JIFFY) FROM df");
assert_eq!(
ParserError::ParserError("Expected date/time field, found: JIFFY".to_string()),
res.unwrap_err()
@ -2364,7 +2367,8 @@ fn parse_floor_datetime() {
verified_stmt("SELECT FLOOR(d TO SECOND) FROM df");
verified_stmt("SELECT FLOOR(d TO MILLISECOND) FROM df");
let res = parse_sql_statements("SELECT FLOOR(d TO JIFFY) FROM df");
let dialects = all_dialects_except(|d| d.is::<SnowflakeDialect>() || d.is::<GenericDialect>());
let res = dialects.parse_sql_statements("SELECT FLOOR(d TO JIFFY) FROM df");
assert_eq!(
ParserError::ParserError("Expected date/time field, found: JIFFY".to_string()),
res.unwrap_err()