@@ -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 {
@@ -14286,12 +14286,13 @@ impl<'a> Parser<'a> {
1428614286 pub fn maybe_parse_connect_by(&mut self) -> Result<Vec<ConnectByKind>, ParserError> {
1428714287 let mut clauses = Vec::with_capacity(2);
1428814288 loop {
14289- if let Some(idx) = self.parse_keywords_ (&[Keyword::START, Keyword::WITH]) {
14289+ if let Some(idx) = self.parse_keywords_indexed (&[Keyword::START, Keyword::WITH]) {
1429014290 clauses.push(ConnectByKind::StartWith {
1429114291 start_token: self.token_at(idx).clone().into(),
1429214292 condition: self.parse_expr()?.into(),
1429314293 });
14294- } else if let Some(idx) = self.parse_keywords_(&[Keyword::CONNECT, Keyword::BY]) {
14294+ } else if let Some(idx) = self.parse_keywords_indexed(&[Keyword::CONNECT, Keyword::BY])
14295+ {
1429514296 clauses.push(ConnectByKind::ConnectBy {
1429614297 connect_token: self.token_at(idx).clone().into(),
1429714298 nocycle: self.parse_keyword(Keyword::NOCYCLE),
0 commit comments