Skip to content

Commit 368fa95

Browse files
committed
Remove debugging assistance and speculative double equals fix
1 parent 388984a commit 368fa95

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/parser.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -860,7 +860,7 @@ impl Parser {
860860
Token::Word(w) if w.keyword == Keyword::IN => Ok(Self::BETWEEN_PREC),
861861
Token::Word(w) if w.keyword == Keyword::BETWEEN => Ok(Self::BETWEEN_PREC),
862862
Token::Word(w) if w.keyword == Keyword::LIKE => Ok(Self::BETWEEN_PREC),
863-
Token::Eq | Token::Lt | Token::LtEq | Token::Neq | Token::Gt | Token::GtEq => Ok(20),
863+
Token::Eq | Token::Lt | Token::LtEq | Token::Neq | Token::Gt | Token::GtEq | Token::DoubleEq => Ok(20),
864864
Token::Pipe => Ok(21),
865865
Token::Caret => Ok(22),
866866
Token::Ampersand => Ok(23),

src/tokenizer.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ pub enum Token {
4444
Comma,
4545
/// Whitespace (space, tab, etc)
4646
Whitespace(Whitespace),
47+
/// Double equals sign `==`
48+
DoubleEq,
4749
/// Equality operator `=`
4850
Eq,
4951
/// Not Equals operator `<>` (or `!=` in some dialects)
@@ -110,6 +112,7 @@ impl fmt::Display for Token {
110112
Token::HexStringLiteral(ref s) => write!(f, "X'{}'", s),
111113
Token::Comma => f.write_str(","),
112114
Token::Whitespace(ws) => write!(f, "{}", ws),
115+
Token::DoubleEq => f.write_str("=="),
113116
Token::Eq => f.write_str("="),
114117
Token::Neq => f.write_str("<>"),
115118
Token::Lt => f.write_str("<"),
@@ -395,7 +398,13 @@ impl<'a> Tokenizer<'a> {
395398
_ => Ok(Some(Token::Pipe)),
396399
}
397400
}
398-
'=' => self.consume_and_return(chars, Token::Eq),
401+
'=' => {
402+
chars.next();
403+
match chars.peek() {
404+
Some('=') => self.consume_and_return(chars, Token::DoubleEq),
405+
_ => Ok(Some(Token::Eq))
406+
}
407+
},
399408
'.' => self.consume_and_return(chars, Token::Period),
400409
'!' => {
401410
chars.next(); // consume

0 commit comments

Comments
 (0)