(&mut self)
| 3729 | } |
| 3730 | |
| 3731 | fn parse_pg_connection_option(&mut self) -> Result<PgConfigOption<Raw>, ParserError> { |
| 3732 | let name = match self.expect_one_of_keywords(&[DETAILS, PUBLICATION, TEXT, EXCLUDE])? { |
| 3733 | DETAILS => PgConfigOptionName::Details, |
| 3734 | PUBLICATION => PgConfigOptionName::Publication, |
| 3735 | TEXT => { |
| 3736 | self.expect_keyword(COLUMNS)?; |
| 3737 | |
| 3738 | let _ = self.consume_token(&Token::Eq); |
| 3739 | |
| 3740 | let value = self |
| 3741 | .parse_option_sequence(Parser::parse_item_name)? |
| 3742 | .map(|inner| { |
| 3743 | WithOptionValue::Sequence( |
| 3744 | inner |
| 3745 | .into_iter() |
| 3746 | .map(WithOptionValue::UnresolvedItemName) |
| 3747 | .collect_vec(), |
| 3748 | ) |
| 3749 | }); |
| 3750 | |
| 3751 | return Ok(PgConfigOption { |
| 3752 | name: PgConfigOptionName::TextColumns, |
| 3753 | value, |
| 3754 | }); |
| 3755 | } |
| 3756 | EXCLUDE => { |
| 3757 | self.expect_keyword(COLUMNS)?; |
| 3758 | |
| 3759 | let _ = self.consume_token(&Token::Eq); |
| 3760 | |
| 3761 | let value = self |
| 3762 | .parse_option_sequence(Parser::parse_item_name)? |
| 3763 | .map(|inner| { |
| 3764 | WithOptionValue::Sequence( |
| 3765 | inner |
| 3766 | .into_iter() |
| 3767 | .map(WithOptionValue::UnresolvedItemName) |
| 3768 | .collect_vec(), |
| 3769 | ) |
| 3770 | }); |
| 3771 | |
| 3772 | return Ok(PgConfigOption { |
| 3773 | name: PgConfigOptionName::ExcludeColumns, |
| 3774 | value, |
| 3775 | }); |
| 3776 | } |
| 3777 | _ => unreachable!(), |
| 3778 | }; |
| 3779 | Ok(PgConfigOption { |
| 3780 | name, |
| 3781 | value: self.parse_optional_option_value()?, |
| 3782 | }) |
| 3783 | } |
| 3784 | |
| 3785 | fn parse_mysql_connection_option(&mut self) -> Result<MySqlConfigOption<Raw>, ParserError> { |
| 3786 | match self.expect_one_of_keywords(&[DETAILS, TEXT, EXCLUDE, IGNORE])? { |
nothing calls this directly
no test coverage detected