@@ -4521,13 +4521,13 @@ impl<'a> Parser<'a> {
45214521 /// consumed and returns false
45224522 #[must_use]
45234523 pub fn parse_keywords(&mut self, keywords: &[Keyword]) -> bool {
4524- self.parse_keywords_ (keywords).is_some()
4524+ self.parse_keywords_indexed (keywords).is_some()
45254525 }
45264526
45274527 /// Just like [Self::parse_keywords], but - upon success - returns the
45284528 /// token index of the first keyword.
45294529 #[must_use]
4530- fn parse_keywords_ (&mut self, keywords: &[Keyword]) -> Option<usize> {
4530+ fn parse_keywords_indexed (&mut self, keywords: &[Keyword]) -> Option<usize> {
45314531 let start_index = self.index;
45324532 let mut first_keyword_index = None;
45334533 match keywords {
@@ -14168,12 +14168,13 @@ impl<'a> Parser<'a> {
1416814168 pub fn maybe_parse_connect_by(&mut self) -> Result<Vec<ConnectByKind>, ParserError> {
1416914169 let mut clauses = Vec::with_capacity(2);
1417014170 loop {
14171- if let Some(idx) = self.parse_keywords_ (&[Keyword::START, Keyword::WITH]) {
14171+ if let Some(idx) = self.parse_keywords_indexed (&[Keyword::START, Keyword::WITH]) {
1417214172 clauses.push(ConnectByKind::StartWith {
1417314173 start_token: self.token_at(idx).clone().into(),
1417414174 condition: self.parse_expr()?.into(),
1417514175 });
14176- } else if let Some(idx) = self.parse_keywords_(&[Keyword::CONNECT, Keyword::BY]) {
14176+ } else if let Some(idx) = self.parse_keywords_indexed(&[Keyword::CONNECT, Keyword::BY])
14177+ {
1417714178 clauses.push(ConnectByKind::ConnectBy {
1417814179 connect_token: self.token_at(idx).clone().into(),
1417914180 nocycle: self.parse_keyword(Keyword::NOCYCLE),
0 commit comments