@@ -260,7 +260,6 @@ impl<'a> Parser<'a> {
260260 Keyword :: CASE => self . parse_case_expr ( ) ,
261261 Keyword :: CAST => self . parse_cast_expr ( false ) ,
262262 Keyword :: TRY_CAST => self . parse_cast_expr ( true ) ,
263- Keyword :: POSITION => self . parse_position ( ) ,
264263 Keyword :: EXISTS => self . parse_exists_expr ( ) ,
265264 Keyword :: EXTRACT => self . parse_extract_expr ( ) ,
266265 Keyword :: INTERVAL => self . parse_literal_interval ( ) ,
@@ -558,36 +557,6 @@ impl<'a> Parser<'a> {
558557 } )
559558 }
560559
561- // https://docs.snowflake.com/en/sql-reference/functions/position.html
562- pub fn parse_position ( & mut self ) -> Result < Expr , ParserError > {
563- self . expect_token ( & Token :: LParen ) ?;
564- let expr1 = self . parse_expr ( ) ?;
565- let mut args = vec ! [ FunctionArg :: Unnamed ( expr1) ] ;
566- if self . consume_token ( & Token :: Comma ) {
567- let more_args = self . parse_comma_separated ( Parser :: parse_expr) ?;
568- for arg in more_args {
569- args. push ( FunctionArg :: Unnamed ( arg) ) ;
570- }
571- } else {
572- self . expect_keyword ( Keyword :: IN ) ?;
573- args. push ( FunctionArg :: Unnamed ( self . parse_expr ( ) ?) ) ;
574- }
575- self . expect_token ( & Token :: RParen ) ?;
576- Ok ( Expr :: Function ( Function {
577- name : ObjectName ( vec ! [ Ident {
578- value: "POSITION" . to_owned( ) ,
579- quote_style: None ,
580- } ] ) ,
581- args,
582- within_group : vec ! [ ] ,
583- over : None ,
584- distinct : false ,
585- ignore_respect_nulls : None ,
586- order_by : vec ! [ ] ,
587- limit : None ,
588- } ) )
589- }
590-
591560 /// Parse a SQL EXISTS expression e.g. `WHERE EXISTS(SELECT ...)`.
592561 pub fn parse_exists_expr ( & mut self ) -> Result < Expr , ParserError > {
593562 self . expect_token ( & Token :: LParen ) ?;
0 commit comments