Skip to content

Commit f7199ec

Browse files
authored
Merge pull request apache#122 from benesch/sqlprefix-missed
Remove "SQL" prefix from "SQLDateTimeField" struct
2 parents bafb207 + 106c9f8 commit f7199ec

File tree

4 files changed

+30
-30
lines changed

4 files changed

+30
-30
lines changed

src/ast/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ pub use self::query::{
2929
Cte, Fetch, Join, JoinConstraint, JoinOperator, OrderByExpr, Query, Select, SelectItem,
3030
SetExpr, SetOperator, TableAlias, TableFactor, TableWithJoins, Values,
3131
};
32-
pub use self::value::{SQLDateTimeField, Value};
32+
pub use self::value::{DateTimeField, Value};
3333

3434
/// Like `vec.join(", ")`, but for any types implementing ToString.
3535
fn comma_separated_string<I>(iter: I) -> String
@@ -105,7 +105,7 @@ pub enum Expr {
105105
data_type: DataType,
106106
},
107107
Extract {
108-
field: SQLDateTimeField,
108+
field: DateTimeField,
109109
expr: Box<Expr>,
110110
},
111111
/// `expr COLLATE collation`

src/ast/value.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ pub enum Value {
4343
/// so the user will have to reject intervals like `HOUR TO YEAR`.
4444
Interval {
4545
value: String,
46-
leading_field: SQLDateTimeField,
46+
leading_field: DateTimeField,
4747
leading_precision: Option<u64>,
48-
last_field: Option<SQLDateTimeField>,
48+
last_field: Option<DateTimeField>,
4949
/// The seconds precision can be specified in SQL source as
5050
/// `INTERVAL '__' SECOND(_, x)` (in which case the `leading_field`
5151
/// will be `Second` and the `last_field` will be `None`),
@@ -70,7 +70,7 @@ impl ToString for Value {
7070
Value::Timestamp(v) => format!("TIMESTAMP '{}'", escape_single_quote_string(v)),
7171
Value::Interval {
7272
value,
73-
leading_field: SQLDateTimeField::Second,
73+
leading_field: DateTimeField::Second,
7474
leading_precision: Some(leading_precision),
7575
last_field,
7676
fractional_seconds_precision: Some(fractional_seconds_precision),
@@ -114,7 +114,7 @@ impl ToString for Value {
114114
}
115115

116116
#[derive(Debug, Clone, PartialEq, Hash)]
117-
pub enum SQLDateTimeField {
117+
pub enum DateTimeField {
118118
Year,
119119
Month,
120120
Day,
@@ -123,15 +123,15 @@ pub enum SQLDateTimeField {
123123
Second,
124124
}
125125

126-
impl ToString for SQLDateTimeField {
126+
impl ToString for DateTimeField {
127127
fn to_string(&self) -> String {
128128
match self {
129-
SQLDateTimeField::Year => "YEAR".to_string(),
130-
SQLDateTimeField::Month => "MONTH".to_string(),
131-
SQLDateTimeField::Day => "DAY".to_string(),
132-
SQLDateTimeField::Hour => "HOUR".to_string(),
133-
SQLDateTimeField::Minute => "MINUTE".to_string(),
134-
SQLDateTimeField::Second => "SECOND".to_string(),
129+
DateTimeField::Year => "YEAR".to_string(),
130+
DateTimeField::Month => "MONTH".to_string(),
131+
DateTimeField::Day => "DAY".to_string(),
132+
DateTimeField::Hour => "HOUR".to_string(),
133+
DateTimeField::Minute => "MINUTE".to_string(),
134+
DateTimeField::Second => "SECOND".to_string(),
135135
}
136136
}
137137
}

src/parser.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -431,16 +431,16 @@ impl Parser {
431431
// operator and interval qualifiers. EXTRACT supports a wider set of
432432
// date/time fields than interval qualifiers, so this function may need to
433433
// be split in two.
434-
pub fn parse_date_time_field(&mut self) -> Result<SQLDateTimeField, ParserError> {
434+
pub fn parse_date_time_field(&mut self) -> Result<DateTimeField, ParserError> {
435435
let tok = self.next_token();
436436
if let Some(Token::Word(ref k)) = tok {
437437
match k.keyword.as_ref() {
438-
"YEAR" => Ok(SQLDateTimeField::Year),
439-
"MONTH" => Ok(SQLDateTimeField::Month),
440-
"DAY" => Ok(SQLDateTimeField::Day),
441-
"HOUR" => Ok(SQLDateTimeField::Hour),
442-
"MINUTE" => Ok(SQLDateTimeField::Minute),
443-
"SECOND" => Ok(SQLDateTimeField::Second),
438+
"YEAR" => Ok(DateTimeField::Year),
439+
"MONTH" => Ok(DateTimeField::Month),
440+
"DAY" => Ok(DateTimeField::Day),
441+
"HOUR" => Ok(DateTimeField::Hour),
442+
"MINUTE" => Ok(DateTimeField::Minute),
443+
"SECOND" => Ok(DateTimeField::Second),
444444
_ => self.expected("date/time field", tok)?,
445445
}
446446
} else {
@@ -478,7 +478,7 @@ impl Parser {
478478
let leading_field = self.parse_date_time_field()?;
479479

480480
let (leading_precision, last_field, fsec_precision) =
481-
if leading_field == SQLDateTimeField::Second {
481+
if leading_field == DateTimeField::Second {
482482
// SQL mandates special syntax for `SECOND TO SECOND` literals.
483483
// Instead of
484484
// `SECOND [(<leading precision>)] TO SECOND[(<fractional seconds precision>)]`
@@ -491,7 +491,7 @@ impl Parser {
491491
let leading_precision = self.parse_optional_precision()?;
492492
if self.parse_keyword("TO") {
493493
let last_field = Some(self.parse_date_time_field()?);
494-
let fsec_precision = if last_field == Some(SQLDateTimeField::Second) {
494+
let fsec_precision = if last_field == Some(DateTimeField::Second) {
495495
self.parse_optional_precision()?
496496
} else {
497497
None

tests/sqlparser_common.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -845,7 +845,7 @@ fn parse_extract() {
845845
let select = verified_only_select(sql);
846846
assert_eq!(
847847
&Expr::Extract {
848-
field: SQLDateTimeField::Year,
848+
field: DateTimeField::Year,
849849
expr: Box::new(Expr::Identifier("d".to_string())),
850850
},
851851
expr_from_projection(only(&select.projection)),
@@ -1236,9 +1236,9 @@ fn parse_literal_interval() {
12361236
assert_eq!(
12371237
&Expr::Value(Value::Interval {
12381238
value: "1-1".into(),
1239-
leading_field: SQLDateTimeField::Year,
1239+
leading_field: DateTimeField::Year,
12401240
leading_precision: None,
1241-
last_field: Some(SQLDateTimeField::Month),
1241+
last_field: Some(DateTimeField::Month),
12421242
fractional_seconds_precision: None,
12431243
}),
12441244
expr_from_projection(only(&select.projection)),
@@ -1249,9 +1249,9 @@ fn parse_literal_interval() {
12491249
assert_eq!(
12501250
&Expr::Value(Value::Interval {
12511251
value: "01:01.01".into(),
1252-
leading_field: SQLDateTimeField::Minute,
1252+
leading_field: DateTimeField::Minute,
12531253
leading_precision: Some(5),
1254-
last_field: Some(SQLDateTimeField::Second),
1254+
last_field: Some(DateTimeField::Second),
12551255
fractional_seconds_precision: Some(5),
12561256
}),
12571257
expr_from_projection(only(&select.projection)),
@@ -1262,7 +1262,7 @@ fn parse_literal_interval() {
12621262
assert_eq!(
12631263
&Expr::Value(Value::Interval {
12641264
value: "1".into(),
1265-
leading_field: SQLDateTimeField::Second,
1265+
leading_field: DateTimeField::Second,
12661266
leading_precision: Some(5),
12671267
last_field: None,
12681268
fractional_seconds_precision: Some(4),
@@ -1275,7 +1275,7 @@ fn parse_literal_interval() {
12751275
assert_eq!(
12761276
&Expr::Value(Value::Interval {
12771277
value: "10".into(),
1278-
leading_field: SQLDateTimeField::Hour,
1278+
leading_field: DateTimeField::Hour,
12791279
leading_precision: None,
12801280
last_field: None,
12811281
fractional_seconds_precision: None,
@@ -1288,7 +1288,7 @@ fn parse_literal_interval() {
12881288
assert_eq!(
12891289
&Expr::Value(Value::Interval {
12901290
value: "10".into(),
1291-
leading_field: SQLDateTimeField::Hour,
1291+
leading_field: DateTimeField::Hour,
12921292
leading_precision: Some(1),
12931293
last_field: None,
12941294
fractional_seconds_precision: None,

0 commit comments

Comments
 (0)