@@ -5451,11 +5451,7 @@ impl<'a> Parser<'a> {
54515451 && self.parse_keyword(Keyword::COMMENT)
54525452 {
54535453 self.expect_token(&Token::Eq)?;
5454- let next_token = self.next_token();
5455- match next_token.token {
5456- Token::SingleQuotedString(str) => Some(str),
5457- _ => self.expected("string literal", next_token)?,
5458- }
5454+ Some(self.parse_comment_value()?)
54595455 } else {
54605456 None
54615457 };
@@ -7059,21 +7055,28 @@ impl<'a> Parser<'a> {
70597055 pub fn parse_optional_inline_comment(&mut self) -> Result<Option<CommentDef>, ParserError> {
70607056 let comment = if self.parse_keyword(Keyword::COMMENT) {
70617057 let has_eq = self.consume_token(&Token::Eq);
7062- let next_token = self.next_token();
7063- match next_token.token {
7064- Token::SingleQuotedString(str) => Some(if has_eq {
7065- CommentDef::WithEq(str)
7066- } else {
7067- CommentDef::WithoutEq(str)
7068- }),
7069- _ => self.expected("comment", next_token)?,
7070- }
7058+ let comment = self.parse_comment_value()?;
7059+ Some(if has_eq {
7060+ CommentDef::WithEq(comment)
7061+ } else {
7062+ CommentDef::WithoutEq(comment)
7063+ })
70717064 } else {
70727065 None
70737066 };
70747067 Ok(comment)
70757068 }
70767069
7070+ pub fn parse_comment_value(&mut self) -> Result<String, ParserError> {
7071+ let next_token = self.next_token();
7072+ let value = match next_token.token {
7073+ Token::SingleQuotedString(str) => str,
7074+ Token::DollarQuotedString(str) => str.value,
7075+ _ => self.expected("string literal", next_token)?,
7076+ };
7077+ Ok(value)
7078+ }
7079+
70777080 pub fn parse_optional_procedure_parameters(
70787081 &mut self,
70797082 ) -> Result<Option<Vec<ProcedureParam>>, ParserError> {
@@ -7209,11 +7212,7 @@ impl<'a> Parser<'a> {
72097212 } else if self.parse_keywords(&[Keyword::NOT, Keyword::NULL]) {
72107213 Ok(Some(ColumnOption::NotNull))
72117214 } else if self.parse_keywords(&[Keyword::COMMENT]) {
7212- let next_token = self.next_token();
7213- match next_token.token {
7214- Token::SingleQuotedString(value, ..) => Ok(Some(ColumnOption::Comment(value))),
7215- _ => self.expected("string", next_token),
7216- }
7215+ Ok(Some(ColumnOption::Comment(self.parse_comment_value()?)))
72177216 } else if self.parse_keyword(Keyword::NULL) {
72187217 Ok(Some(ColumnOption::Null))
72197218 } else if self.parse_keyword(Keyword::DEFAULT) {
0 commit comments