fn parse_declare(&mut self) -> Result<Statement<Raw>, ParserError> {
        let name = self.parse_identifier()?;
        self.expect_keyword(CURSOR)?;
        // WITHOUT HOLD is optional and the default behavior so we can ignore it.
        let _ = self.parse_keywords(&[WITHOUT, HOLD]);
        self.expect_keyword(FOR)?;
        let stmt = self.parse_statement()?;
        Ok(Statement::Declare(DeclareStatement {
            name,
            stmt: Box::new(stmt),
        }))
    }
/// Parse a `DECLARE` statement, assuming that the `DECLARE` token
/// has already been consumed.
Parse a `DECLARE` statement, assuming that the `DECLARE` token
has already been consumed.
Parse a ` DECLARE ` statement assuming that the ` DECLARE ` token has already been consumed .
fn parse_declare(&mut self) -> Result<Statement<Raw>, ParserError> {
        let name = self.parse_identifier()?;
        self.expect_keyword(CURSOR)?;
        // WITHOUT HOLD is optional and the default behavior so we can ignore it.
        let _ = self.parse_keywords(&[WITHOUT, HOLD]);
        self.expect_keyword(FOR)?;
        let stmt = self.parse_statement()?;
        Ok(Statement::Declare(DeclareStatement {
            name,
            stmt: Box::new(stmt),
        }))
    }
fn parse_declare ( & mut self ) -> Result < Statement < Raw > , ParserError > { let name = self . parse_identifier ( ) ? ; self . expect_keyword ( CURSOR ) ? ; // WITHOUT HOLD is optional and the default behavior so we can ignore it. let _ = self . parse_keywords ( & [ WITHOUT , HOLD ] ) ; self . expect_keyword ( FOR ) ? ; let stmt = self . parse_statement ( ) ? ; Ok ( Statement :: Declare ( DeclareStatement { name , stmt : Box :: new ( stmt ) , } ) ) }
Parse a `DECLARE` statement, assuming that the `DECLARE` token
has already been consumed.
Parse a ` DECLARE ` statement assuming that the ` DECLARE ` token has already been consumed .
&mut self
&mut self