File tree Expand file tree Collapse file tree 1 file changed +20
-1
lines changed
Expand file tree Collapse file tree 1 file changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -1745,7 +1745,7 @@ impl<'a> Tokenizer<'a> {
17451745 }
17461746 }
17471747 Some ( '#' ) => self . consume_and_return ( chars, Token :: QuestionMarkSharp ) ,
1748- _ => self . consume_and_return ( chars , Token :: Question ) ,
1748+ _ => Ok ( Some ( Token :: Question ) ) ,
17491749 }
17501750 }
17511751 '?' => {
@@ -4175,4 +4175,23 @@ mod tests {
41754175 panic ! ( "Tokenizer should have failed on {sql}, but it succeeded with {tokens:?}" ) ;
41764176 }
41774177 }
4178+
4179+ #[ test]
4180+ fn tokenize_question_mark ( ) {
4181+ let dialect = PostgreSqlDialect { } ;
4182+ let sql = "SELECT x ? y" ;
4183+ let tokens = Tokenizer :: new ( & dialect, sql) . tokenize ( ) . unwrap ( ) ;
4184+ compare (
4185+ tokens,
4186+ vec ! [
4187+ Token :: make_keyword( "SELECT" ) ,
4188+ Token :: Whitespace ( Whitespace :: Space ) ,
4189+ Token :: make_word( "x" , None ) ,
4190+ Token :: Whitespace ( Whitespace :: Space ) ,
4191+ Token :: Question ,
4192+ Token :: Whitespace ( Whitespace :: Space ) ,
4193+ Token :: make_word( "y" , None ) ,
4194+ ] ,
4195+ )
4196+ }
41784197}
You can’t perform that action at this time.
0 commit comments