summaryrefslogtreecommitdiff
path: root/mysql-test/t/comments.test
blob: 6cf69635d1e74ebe10a907f4293ac056ff125c0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#
# 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;