#
# Testing of comments
#

select 1+2/*hello*/+3;
select 1 /* long
multi line comment */;
--error 1065
 ;
select 1 /*!32301 +1 */;
select 1 /*!952301 +1 */;
select 1--1;
# Note that the following returns 4 while it should return 2
# This is because the mysqld server doesn't parse -- comments
select 1 --2
+1;
select 1 # The rest of the row will be ignored
;
/* line with only comment */;

# End of 4.1 tests

#
# Testing of MariaDB executable comments
#

select 1 /*M! +1 */;
select 1 /*M!50000 +1 */;
select 1 /*M!50300 +1 */;
select 2 /*M!99999 +1 */;
select 2 /*M!100000 +1 */;
select 2 /*M!999999 +1 */;
--error ER_PARSE_ERROR
select 2 /*M!0000 +1 */;

--echo #
--echo # Testing that MySQL versions >= 5.7.x and < 10.0.0 are ignored (MDEV-5009)
--echo #
SELECT 1 /*!50699 +1*/;
SELECT 1 /*!50700 +1*/;
SELECT 1 /*!50999 +1*/;
SELECT 1 /*!99999 +1*/;
SELECT 1 /*!100000 +1*/;
SELECT 1 /*!110000 +1*/;

--echo #
--echo # Tesing that versions >= 5.7.x and < 10.0.0 are not ignored 
--echo # when used with the MariaDB executable comment syntax.
--echo #
SELECT 1 /*M!50699 +1*/;
SELECT 1 /*M!50700 +1*/;
SELECT 1 /*M!50999 +1*/;
SELECT 1 /*M!99999 +1*/;
SELECT 1 /*M!100000 +1*/;
SELECT 1 /*M!110000 +1*/;

#
# Bug#25411 (trigger code truncated)
#

--error ER_PARSE_ERROR
select 1/*!2*/;

--error ER_PARSE_ERROR
select 1/*!0000002*/;

select 1/*!999992*/;

select 1 + /*!00000 2 */ + 3 /*!999999 noise*/ + 4;

#
# Bug#28779 (mysql_query() allows execution of statements with unbalanced
# comments)
#

--disable_warnings
drop table if exists table_28779;
--enable_warnings

create table table_28779 (a int);

--error 1064
prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*' AND b = 'bar';";

--error 1064
prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*' AND b = 'bar';*";

--error 1064
prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*! AND 2=2;";

--error 1064
prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*! AND 2=2;*";

--error 1064
prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*!998765' AND b = 'bar';";

--error 1064
prepare bar from "DELETE FROM table_28779 WHERE a = 7 OR 1=1/*!998765' AND b = 'bar';*";

drop table table_28779;