@@ -92,4 +92,63 @@ public function testBuild(): void
92
92
'1 + 2 AS `three`, 1 + 3 AS `four` '
93
93
);
94
94
}
95
+
96
+ /**
97
+ * @return string[][]
98
+ */
99
+ public static function mysqlCommandsProvider (): array
100
+ {
101
+ return [
102
+ [
103
+ '/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; ' ,
104
+ 'SET @OLD_CHARACTER_SET_CLIENT = @@CHARACTER_SET_CLIENT ' ,
105
+ ],
106
+ [
107
+ '/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; ' ,
108
+ 'SET @OLD_CHARACTER_SET_RESULTS = @@CHARACTER_SET_RESULTS ' ,
109
+ ],
110
+ [
111
+ '/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; ' ,
112
+ 'SET @OLD_COLLATION_CONNECTION = @@COLLATION_CONNECTION ' ,
113
+ ],
114
+ [
115
+ '/*!40101 SET NAMES utf8 */; ' ,
116
+ 'SET NAMES utf8 ' ,
117
+ ],
118
+ [
119
+ '/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; ' ,
120
+ 'SET @OLD_TIME_ZONE = @@TIME_ZONE ' ,
121
+ ],
122
+ [
123
+ "/*!40103 SET TIME_ZONE='+00:00' */; " ,
124
+ "SET TIME_ZONE = '+00:00' " ,
125
+ ],
126
+ [
127
+ '/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; ' ,
128
+ 'SET @OLD_UNIQUE_CHECKS = @@UNIQUE_CHECKS, UNIQUE_CHECKS = 0 ' ,
129
+ ],
130
+ [
131
+ '/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; ' ,
132
+ 'SET @OLD_FOREIGN_KEY_CHECKS = @@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS = 0 ' ,
133
+ ],
134
+ [
135
+ "/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; " ,
136
+ "SET @OLD_SQL_MODE = @@SQL_MODE, SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO' " ,
137
+ ],
138
+ [
139
+ '/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; ' ,
140
+ 'SET @OLD_SQL_NOTES = @@SQL_NOTES, SQL_NOTES = 0 ' ,
141
+ ],
142
+ ];
143
+ }
144
+
145
+ /**
146
+ * @dataProvider mysqlCommandsProvider
147
+ */
148
+ public function testMysqlCommands (string $ expr , string $ expected ): void
149
+ {
150
+ $ parser = new Parser ($ expr , true );
151
+ $ parser ->parse ();
152
+ self ::assertSame ($ expected , $ parser ->statements [0 ]->build ());
153
+ }
95
154
}
0 commit comments