From d87408bdaf71856dceb533297d65b3069771f50d Mon Sep 17 00:00:00 2001 From: Sarah Yurick <53962159+sarahyurick@users.noreply.github.com> Date: Wed, 28 Sep 2022 13:26:29 -0700 Subject: [PATCH] Parse `MILLENNIUM` (#633) * add unknown, is not true/false/unknown * millennium --- src/ast/value.rs | 2 ++ src/keywords.rs | 1 + src/parser.rs | 2 ++ tests/sqlparser_common.rs | 1 + 4 files changed, 6 insertions(+) diff --git a/src/ast/value.rs b/src/ast/value.rs index 6f5953c4b..96d525ac6 100644 --- a/src/ast/value.rs +++ b/src/ast/value.rs @@ -85,6 +85,7 @@ pub enum DateTimeField { Julian, Microseconds, Millenium, + Millennium, Milliseconds, Quarter, Timezone, @@ -112,6 +113,7 @@ impl fmt::Display for DateTimeField { DateTimeField::Julian => "JULIAN", DateTimeField::Microseconds => "MICROSECONDS", DateTimeField::Millenium => "MILLENIUM", + DateTimeField::Millennium => "MILLENNIUM", DateTimeField::Milliseconds => "MILLISECONDS", DateTimeField::Quarter => "QUARTER", DateTimeField::Timezone => "TIMEZONE", diff --git a/src/keywords.rs b/src/keywords.rs index 287dc14df..bf9a7711e 100644 --- a/src/keywords.rs +++ b/src/keywords.rs @@ -332,6 +332,7 @@ define_keywords!( METHOD, MICROSECONDS, MILLENIUM, + MILLENNIUM, MILLISECONDS, MIN, MINUTE, diff --git a/src/parser.rs b/src/parser.rs index 7d8f2aba6..f61ea4832 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -1065,6 +1065,7 @@ impl<'a> Parser<'a> { Keyword::JULIAN => Ok(DateTimeField::Julian), Keyword::MICROSECONDS => Ok(DateTimeField::Microseconds), Keyword::MILLENIUM => Ok(DateTimeField::Millenium), + Keyword::MILLENNIUM => Ok(DateTimeField::Millennium), Keyword::MILLISECONDS => Ok(DateTimeField::Milliseconds), Keyword::QUARTER => Ok(DateTimeField::Quarter), Keyword::TIMEZONE => Ok(DateTimeField::Timezone), @@ -1144,6 +1145,7 @@ impl<'a> Parser<'a> { Keyword::JULIAN, Keyword::MICROSECONDS, Keyword::MILLENIUM, + Keyword::MILLENNIUM, Keyword::MILLISECONDS, Keyword::QUARTER, Keyword::TIMEZONE, diff --git a/tests/sqlparser_common.rs b/tests/sqlparser_common.rs index 570dd4de7..57fa35709 100644 --- a/tests/sqlparser_common.rs +++ b/tests/sqlparser_common.rs @@ -1755,6 +1755,7 @@ fn parse_extract() { verified_stmt("SELECT EXTRACT(JULIAN FROM d)"); verified_stmt("SELECT EXTRACT(MICROSECONDS FROM d)"); verified_stmt("SELECT EXTRACT(MILLENIUM FROM d)"); + verified_stmt("SELECT EXTRACT(MILLENNIUM FROM d)"); verified_stmt("SELECT EXTRACT(MILLISECONDS FROM d)"); verified_stmt("SELECT EXTRACT(QUARTER FROM d)"); verified_stmt("SELECT EXTRACT(TIMEZONE FROM d)");