--echo #
--echo # MDEV-30680 Warning: Memory not freed: 280 on mangled query, LeakSanitizer: detected memory leaks
--echo #

DELIMITER $$;
--error ER_PARSE_ERROR
BEGIN NOT ATOMIC
  IF SCALAR() expected_THEN_here;
END
$$
DELIMITER ;$$


DELIMITER $$;
--error ER_PARSE_ERROR
BEGIN NOT ATOMIC
  WHILE SCALAR() expected_DO_here;
END
$$
DELIMITER ;$$


DELIMITER $$;
--error ER_PARSE_ERROR
BEGIN NOT ATOMIC
  REPEAT SELECT 1; UNTIL SCALAR() expected_END_here;
END
$$
DELIMITER ;$$


--echo #
--echo # MDEV-31578 DECLARE CURSOR: "Memory not freed: 280 bytes lost" on syntax error
--echo #

DELIMITER $$;
--error ER_PARSE_ERROR
BEGIN NOT ATOMIC
  DECLARE cur CURSOR (a INT) FOR SELECT a+1;
  OPEN cur(sp_followed_by_syntax_error();
  CLOSE cur;
END;
$$
DELIMITER ;$$

DELIMITER $$;
--error ER_PARSE_ERROR
BEGIN NOT ATOMIC
  DECLARE cur CURSOR (a INT) FOR SELECT a+1;
  OPEN cur(1,sp_followed_by_syntax_error();
  CLOSE cur;
END;
$$
DELIMITER ;$$