summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/comments.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/comments.test')
-rw-r--r--mysql-test/main/comments.test101
1 files changed, 101 insertions, 0 deletions
diff --git a/mysql-test/main/comments.test b/mysql-test/main/comments.test
new file mode 100644
index 00000000..6cf69635
--- /dev/null
+++ b/mysql-test/main/comments.test
@@ -0,0 +1,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;
+