add keyword NANOSECOND (#749)

This commit is contained in:
Wei-Ting Kuo 2022-12-07 04:29:41 +08:00 committed by GitHub
parent 813f4a2eff
commit bda8268e56
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 0 deletions

View file

@ -91,6 +91,8 @@ pub enum DateTimeField {
Millennium, Millennium,
Millisecond, Millisecond,
Milliseconds, Milliseconds,
Nanosecond,
Nanoseconds,
Quarter, Quarter,
Timezone, Timezone,
TimezoneHour, TimezoneHour,
@ -123,6 +125,8 @@ impl fmt::Display for DateTimeField {
DateTimeField::Millennium => "MILLENNIUM", DateTimeField::Millennium => "MILLENNIUM",
DateTimeField::Millisecond => "MILLISECOND", DateTimeField::Millisecond => "MILLISECOND",
DateTimeField::Milliseconds => "MILLISECONDS", DateTimeField::Milliseconds => "MILLISECONDS",
DateTimeField::Nanosecond => "NANOSECOND",
DateTimeField::Nanoseconds => "NANOSECONDS",
DateTimeField::Quarter => "QUARTER", DateTimeField::Quarter => "QUARTER",
DateTimeField::Timezone => "TIMEZONE", DateTimeField::Timezone => "TIMEZONE",
DateTimeField::TimezoneHour => "TIMEZONE_HOUR", DateTimeField::TimezoneHour => "TIMEZONE_HOUR",

View file

@ -361,6 +361,8 @@ define_keywords!(
MSCK, MSCK,
MULTISET, MULTISET,
MUTATION, MUTATION,
NANOSECOND,
NANOSECONDS,
NATIONAL, NATIONAL,
NATURAL, NATURAL,
NCHAR, NCHAR,

View file

@ -1210,6 +1210,8 @@ impl<'a> Parser<'a> {
Keyword::MILLENNIUM => Ok(DateTimeField::Millennium), Keyword::MILLENNIUM => Ok(DateTimeField::Millennium),
Keyword::MILLISECOND => Ok(DateTimeField::Millisecond), Keyword::MILLISECOND => Ok(DateTimeField::Millisecond),
Keyword::MILLISECONDS => Ok(DateTimeField::Milliseconds), Keyword::MILLISECONDS => Ok(DateTimeField::Milliseconds),
Keyword::NANOSECOND => Ok(DateTimeField::Nanosecond),
Keyword::NANOSECONDS => Ok(DateTimeField::Nanoseconds),
Keyword::QUARTER => Ok(DateTimeField::Quarter), Keyword::QUARTER => Ok(DateTimeField::Quarter),
Keyword::TIMEZONE => Ok(DateTimeField::Timezone), Keyword::TIMEZONE => Ok(DateTimeField::Timezone),
Keyword::TIMEZONE_HOUR => Ok(DateTimeField::TimezoneHour), Keyword::TIMEZONE_HOUR => Ok(DateTimeField::TimezoneHour),
@ -1343,6 +1345,8 @@ impl<'a> Parser<'a> {
Keyword::MILLENNIUM, Keyword::MILLENNIUM,
Keyword::MILLISECOND, Keyword::MILLISECOND,
Keyword::MILLISECONDS, Keyword::MILLISECONDS,
Keyword::NANOSECOND,
Keyword::NANOSECONDS,
Keyword::QUARTER, Keyword::QUARTER,
Keyword::TIMEZONE, Keyword::TIMEZONE,
Keyword::TIMEZONE_HOUR, Keyword::TIMEZONE_HOUR,

View file

@ -1740,6 +1740,9 @@ fn parse_extract() {
verified_stmt("SELECT EXTRACT(HOUR FROM d)"); verified_stmt("SELECT EXTRACT(HOUR FROM d)");
verified_stmt("SELECT EXTRACT(MINUTE FROM d)"); verified_stmt("SELECT EXTRACT(MINUTE FROM d)");
verified_stmt("SELECT EXTRACT(SECOND FROM d)"); verified_stmt("SELECT EXTRACT(SECOND FROM d)");
verified_stmt("SELECT EXTRACT(MILLISECOND FROM d)");
verified_stmt("SELECT EXTRACT(MICROSECOND FROM d)");
verified_stmt("SELECT EXTRACT(NANOSECOND FROM d)");
verified_stmt("SELECT EXTRACT(CENTURY FROM d)"); verified_stmt("SELECT EXTRACT(CENTURY FROM d)");
verified_stmt("SELECT EXTRACT(DECADE FROM d)"); verified_stmt("SELECT EXTRACT(DECADE FROM d)");
verified_stmt("SELECT EXTRACT(DOW FROM d)"); verified_stmt("SELECT EXTRACT(DOW FROM d)");