Skip to content

Commit ab36822

Browse files
committed
Make sure all (MySQL intersect MariaDB) keywords are present
1 parent 5473108 commit ab36822

6 files changed

+812
-181
lines changed

src/Tokenizer.php

+91
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,26 @@ final class Tokenizer
4141
'AND',
4242
'AS',
4343
'ASC',
44+
'ASENSITIVE',
4445
'AUTO_INCREMENT',
4546
'AUTOCOMMIT',
4647
'BACKUP',
48+
'BEFORE',
4749
'BEGIN',
4850
'BETWEEN',
51+
'BIGINT',
52+
'BINARY',
4953
'BINLOG',
54+
'BLOB',
5055
'BOTH',
5156
'BY',
57+
'CALL',
5258
'CASCADE',
5359
'CASE',
5460
'CHANGE',
5561
'CHANGED',
62+
'CHAR',
63+
'CHARACTER',
5664
'CHARSET',
5765
'CHECK',
5866
'CHECKSUM',
@@ -65,19 +73,29 @@ final class Tokenizer
6573
'COMMITTED',
6674
'COMPRESSED',
6775
'CONCURRENT',
76+
'CONDITION',
6877
'CONSTRAINT',
6978
'CONTAINS',
79+
'CONTINUE',
7080
'CONVERT',
7181
'CREATE',
7282
'CROSS',
7383
'CURRENT',
84+
'CURRENT_DATE',
85+
'CURRENT_TIME',
7486
'CURRENT_TIMESTAMP',
87+
'CURRENT_USER',
88+
'CURSOR',
7589
'DATABASE',
7690
'DATABASES',
7791
'DAY',
7892
'DAY_HOUR',
93+
'DAY_MICROSECOND',
7994
'DAY_MINUTE',
8095
'DAY_SECOND',
96+
'DEC',
97+
'DECIMAL',
98+
'DECLARE',
8199
'DEFAULT',
82100
'DEFINER',
83101
'DELAYED',
@@ -89,11 +107,15 @@ final class Tokenizer
89107
'DISTINCTROW',
90108
'DIV',
91109
'DO',
110+
'DOUBLE',
92111
'DROP',
112+
'DUAL',
93113
'DUMPFILE',
94114
'DUPLICATE',
95115
'DYNAMIC',
116+
'EACH',
96117
'ELSE',
118+
'ELSEIF',
97119
'ENCLOSED',
98120
'END',
99121
'ENGINE',
@@ -107,14 +129,20 @@ final class Tokenizer
107129
'EXEC',
108130
'EXECUTE',
109131
'EXISTS',
132+
'EXIT',
110133
'EXPLAIN',
111134
'EXTENDED',
135+
'FALSE',
112136
'FAST',
137+
'FETCH',
113138
'FIELDS',
114139
'FILE',
115140
'FILTER',
116141
'FIRST',
117142
'FIXED',
143+
'FLOAT',
144+
'FLOAT4',
145+
'FLOAT8',
118146
'FLUSH',
119147
'FOLLOWING',
120148
'FOR',
@@ -134,6 +162,7 @@ final class Tokenizer
134162
'HIGH_PRIORITY',
135163
'HOSTS',
136164
'HOUR',
165+
'HOUR_MICROSECOND',
137166
'HOUR_MINUTE',
138167
'HOUR_SECOND',
139168
'IDENTIFIED',
@@ -145,21 +174,32 @@ final class Tokenizer
145174
'INDEXES',
146175
'INFILE',
147176
'INNER',
177+
'INOUT',
178+
'INSENSITIVE',
148179
'INSERT',
149180
'INSERT_ID',
150181
'INSERT_METHOD',
182+
'INT',
183+
'INT1',
184+
'INT2',
185+
'INT3',
186+
'INT4',
187+
'INT8',
188+
'INTEGER',
151189
'INTERSECT',
152190
'INTERVAL',
153191
'INTO',
154192
'INVOKER',
155193
'IS',
156194
'ISOLATION',
195+
'ITERATE',
157196
'JOIN',
158197
'KEY',
159198
'KEYS',
160199
'KILL',
161200
'LAST_INSERT_ID',
162201
'LEADING',
202+
'LEAVE',
163203
'LEFT',
164204
'LEVEL',
165205
'LIKE',
@@ -168,9 +208,15 @@ final class Tokenizer
168208
'LINES',
169209
'LOAD',
170210
'LOCAL',
211+
'LOCALTIME',
212+
'LOCALTIMESTAMP',
171213
'LOCK',
172214
'LOCKS',
173215
'LOGS',
216+
'LONG',
217+
'LONGBLOB',
218+
'LONGTEXT',
219+
'LOOP',
174220
'LOW_PRIORITY',
175221
'MARIA',
176222
'MASTER',
@@ -183,20 +229,30 @@ final class Tokenizer
183229
'MAX_ROWS',
184230
'MAX_UPDATES_PER_HOUR',
185231
'MAX_USER_CONNECTIONS',
232+
'MAXVALUE',
186233
'MEDIUM',
234+
'MEDIUMBLOB',
235+
'MEDIUMINT',
236+
'MEDIUMTEXT',
187237
'MERGE',
238+
'MIDDLEINT',
188239
'MIN_ROWS',
189240
'MINUTE',
241+
'MINUTE_MICROSECOND',
190242
'MINUTE_SECOND',
243+
'MOD',
191244
'MODE',
245+
'MODIFIES',
192246
'MODIFY',
193247
'MONTH',
194248
'MRG_MYISAM',
195249
'MYISAM',
196250
'NAMES',
197251
'NATURAL',
252+
'NO_WRITE_TO_BINLOG',
198253
'NOT',
199254
'NULL',
255+
'NUMERIC',
200256
'OFFSET',
201257
'ON',
202258
'OPEN',
@@ -205,6 +261,7 @@ final class Tokenizer
205261
'OPTIONALLY',
206262
'OR',
207263
'ORDER',
264+
'OUT',
208265
'OUTER',
209266
'OUTFILE',
210267
'OVER',
@@ -215,6 +272,7 @@ final class Tokenizer
215272
'PARTITIONS',
216273
'PASSWORD',
217274
'PRECEDING',
275+
'PRECISION',
218276
'PRIMARY',
219277
'PRIVILEGES',
220278
'PROCEDURE',
@@ -230,16 +288,22 @@ final class Tokenizer
230288
'READ',
231289
'READ_ONLY',
232290
'READ_WRITE',
291+
'READS',
292+
'REAL',
233293
'RECURSIVE',
234294
'REFERENCES',
235295
'REGEXP',
296+
'RELEASE',
236297
'RELOAD',
237298
'RENAME',
238299
'REPAIR',
300+
'REPEAT',
239301
'REPEATABLE',
240302
'REPLACE',
241303
'REPLICATION',
304+
'REQUIRE',
242305
'RESET',
306+
'RESIGNAL',
243307
'RESTORE',
244308
'RESTRICT',
245309
'RETURN',
@@ -250,20 +314,29 @@ final class Tokenizer
250314
'ROLLBACK',
251315
'ROW',
252316
'ROW_FORMAT',
317+
'ROW_NUMBER',
253318
'ROWS',
319+
'SCHEMA',
320+
'SCHEMAS',
254321
'SECOND',
322+
'SECOND_MICROSECOND',
255323
'SECURITY',
256324
'SELECT',
325+
'SENSITIVE',
257326
'SEPARATOR',
258327
'SERIALIZABLE',
259328
'SESSION',
260329
'SET',
261330
'SHARE',
262331
'SHOW',
263332
'SHUTDOWN',
333+
'SIGNAL',
264334
'SLAVE',
335+
'SMALLINT',
265336
'SONAME',
266337
'SOUNDS',
338+
'SPATIAL',
339+
'SPECIFIC',
267340
'SQL',
268341
'SQL_AUTO_IS_NULL',
269342
'SQL_BIG_RESULT',
@@ -284,6 +357,10 @@ final class Tokenizer
284357
'SQL_SLAVE_SKIP_COUNTER',
285358
'SQL_SMALL_RESULT',
286359
'SQL_WARNINGS',
360+
'SQLEXCEPTION',
361+
'SQLSTATE',
362+
'SQLWARNING',
363+
'SSL',
287364
'START',
288365
'STARTING',
289366
'STATUS',
@@ -299,15 +376,20 @@ final class Tokenizer
299376
'TERMINATED',
300377
'THEN',
301378
'TIES',
379+
'TINYBLOB',
380+
'TINYINT',
381+
'TINYTEXT',
302382
'TO',
303383
'TRAILING',
304384
'TRANSACTIONAL',
385+
'TRIGGER',
305386
'TRUE',
306387
'TRUNCATE',
307388
'TYPE',
308389
'TYPES',
309390
'UNBOUNDED',
310391
'UNCOMMITTED',
392+
'UNDO',
311393
'UNION',
312394
'UNIQUE',
313395
'UNLOCK',
@@ -316,17 +398,26 @@ final class Tokenizer
316398
'USAGE',
317399
'USE',
318400
'USING',
401+
'UTC_DATE',
402+
'UTC_TIME',
403+
'UTC_TIMESTAMP',
319404
'VALUES',
405+
'VARBINARY',
406+
'VARCHAR',
407+
'VARCHARACTER',
320408
'VARIABLES',
409+
'VARYING',
321410
'VIEW',
322411
'WHEN',
323412
'WHERE',
413+
'WHILE',
324414
'WINDOW',
325415
'WITH',
326416
'WORK',
327417
'WRITE',
328418
'XOR',
329419
'YEAR_MONTH',
420+
'ZEROFILL',
330421
];
331422

332423
/**

tests/SqlFormatterTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public function testHighlightBinary(): void
6767
$html = '<pre style="color: black; background-color: white;">' .
6868
'<span style="font-weight:bold;">SELECT</span> <span style="color: blue;">' .
6969
$binaryData .
70-
'</span> <span style="font-weight:bold;">AS</span> <span style="color: #333;">BINARY</span></pre>';
70+
'</span> <span style="font-weight:bold;">AS</span> <span style="font-weight:bold;">BINARY</span></pre>';
7171

7272
$this->assertSame($html, $this->formatter->highlight($sql));
7373
}

0 commit comments

Comments
 (0)