Skip to content

Commit dd64ad1

Browse files
committed
make sure all (MySQL intersect MariaDB) keywords are present
1 parent 78c8eee commit dd64ad1

6 files changed

+814
-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,18 +73,28 @@ final class Tokenizer
6573
'COMMITTED',
6674
'COMPRESSED',
6775
'CONCURRENT',
76+
'CONDITION',
6877
'CONSTRAINT',
6978
'CONTAINS',
79+
'CONTINUE',
7080
'CONVERT',
7181
'CREATE',
7282
'CROSS',
83+
'CURRENT_DATE',
84+
'CURRENT_TIME',
7385
'CURRENT_TIMESTAMP',
86+
'CURRENT_USER',
87+
'CURSOR',
7488
'DATABASE',
7589
'DATABASES',
7690
'DAY',
7791
'DAY_HOUR',
92+
'DAY_MICROSECOND',
7893
'DAY_MINUTE',
7994
'DAY_SECOND',
95+
'DEC',
96+
'DECIMAL',
97+
'DECLARE',
8098
'DEFAULT',
8199
'DEFINER',
82100
'DELAYED',
@@ -88,11 +106,15 @@ final class Tokenizer
88106
'DISTINCTROW',
89107
'DIV',
90108
'DO',
109+
'DOUBLE',
91110
'DROP',
111+
'DUAL',
92112
'DUMPFILE',
93113
'DUPLICATE',
94114
'DYNAMIC',
115+
'EACH',
95116
'ELSE',
117+
'ELSEIF',
96118
'ENCLOSED',
97119
'END',
98120
'ENGINE',
@@ -106,14 +128,20 @@ final class Tokenizer
106128
'EXEC',
107129
'EXECUTE',
108130
'EXISTS',
131+
'EXIT',
109132
'EXPLAIN',
110133
'EXTENDED',
134+
'FALSE',
111135
'FAST',
136+
'FETCH',
112137
'FIELDS',
113138
'FILE',
114139
'FILTER',
115140
'FIRST',
116141
'FIXED',
142+
'FLOAT',
143+
'FLOAT4',
144+
'FLOAT8',
117145
'FLUSH',
118146
'FOLLOWING',
119147
'FOR',
@@ -133,6 +161,7 @@ final class Tokenizer
133161
'HIGH_PRIORITY',
134162
'HOSTS',
135163
'HOUR',
164+
'HOUR_MICROSECOND',
136165
'HOUR_MINUTE',
137166
'HOUR_SECOND',
138167
'IDENTIFIED',
@@ -144,21 +173,32 @@ final class Tokenizer
144173
'INDEXES',
145174
'INFILE',
146175
'INNER',
176+
'INOUT',
177+
'INSENSITIVE',
147178
'INSERT',
148179
'INSERT_ID',
149180
'INSERT_METHOD',
181+
'INT',
182+
'INT1',
183+
'INT2',
184+
'INT3',
185+
'INT4',
186+
'INT8',
187+
'INTEGER',
150188
'INTERSECT',
151189
'INTERVAL',
152190
'INTO',
153191
'INVOKER',
154192
'IS',
155193
'ISOLATION',
194+
'ITERATE',
156195
'JOIN',
157196
'KEY',
158197
'KEYS',
159198
'KILL',
160199
'LAST_INSERT_ID',
161200
'LEADING',
201+
'LEAVE',
162202
'LEFT',
163203
'LEVEL',
164204
'LIKE',
@@ -167,9 +207,15 @@ final class Tokenizer
167207
'LINES',
168208
'LOAD',
169209
'LOCAL',
210+
'LOCALTIME',
211+
'LOCALTIMESTAMP',
170212
'LOCK',
171213
'LOCKS',
172214
'LOGS',
215+
'LONG',
216+
'LONGBLOB',
217+
'LONGTEXT',
218+
'LOOP',
173219
'LOW_PRIORITY',
174220
'MARIA',
175221
'MASTER',
@@ -182,20 +228,30 @@ final class Tokenizer
182228
'MAX_ROWS',
183229
'MAX_UPDATES_PER_HOUR',
184230
'MAX_USER_CONNECTIONS',
231+
'MAXVALUE',
185232
'MEDIUM',
233+
'MEDIUMBLOB',
234+
'MEDIUMINT',
235+
'MEDIUMTEXT',
186236
'MERGE',
237+
'MIDDLEINT',
187238
'MIN_ROWS',
188239
'MINUTE',
240+
'MINUTE_MICROSECOND',
189241
'MINUTE_SECOND',
242+
'MOD',
190243
'MODE',
244+
'MODIFIES',
191245
'MODIFY',
192246
'MONTH',
193247
'MRG_MYISAM',
194248
'MYISAM',
195249
'NAMES',
196250
'NATURAL',
251+
'NO_WRITE_TO_BINLOG',
197252
'NOT',
198253
'NULL',
254+
'NUMERIC',
199255
'OFFSET',
200256
'ON',
201257
'OPEN',
@@ -204,6 +260,7 @@ final class Tokenizer
204260
'OPTIONALLY',
205261
'OR',
206262
'ORDER',
263+
'OUT',
207264
'OUTER',
208265
'OUTFILE',
209266
'OVER',
@@ -214,6 +271,7 @@ final class Tokenizer
214271
'PARTITIONS',
215272
'PASSWORD',
216273
'PRECEDING',
274+
'PRECISION',
217275
'PRIMARY',
218276
'PRIVILEGES',
219277
'PROCEDURE',
@@ -229,16 +287,22 @@ final class Tokenizer
229287
'READ',
230288
'READ_ONLY',
231289
'READ_WRITE',
290+
'READS',
291+
'REAL',
232292
'RECURSIVE',
233293
'REFERENCES',
234294
'REGEXP',
295+
'RELEASE',
235296
'RELOAD',
236297
'RENAME',
237298
'REPAIR',
299+
'REPEAT',
238300
'REPEATABLE',
239301
'REPLACE',
240302
'REPLICATION',
303+
'REQUIRE',
241304
'RESET',
305+
'RESIGNAL',
242306
'RESTORE',
243307
'RESTRICT',
244308
'RETURN',
@@ -249,20 +313,29 @@ final class Tokenizer
249313
'ROLLBACK',
250314
'ROW',
251315
'ROW_FORMAT',
316+
'ROW_NUMBER',
252317
'ROWS',
318+
'SCHEMA',
319+
'SCHEMAS',
253320
'SECOND',
321+
'SECOND_MICROSECOND',
254322
'SECURITY',
255323
'SELECT',
324+
'SENSITIVE',
256325
'SEPARATOR',
257326
'SERIALIZABLE',
258327
'SESSION',
259328
'SET',
260329
'SHARE',
261330
'SHOW',
262331
'SHUTDOWN',
332+
'SIGNAL',
263333
'SLAVE',
334+
'SMALLINT',
264335
'SONAME',
265336
'SOUNDS',
337+
'SPATIAL',
338+
'SPECIFIC',
266339
'SQL',
267340
'SQL_AUTO_IS_NULL',
268341
'SQL_BIG_RESULT',
@@ -283,6 +356,10 @@ final class Tokenizer
283356
'SQL_SLAVE_SKIP_COUNTER',
284357
'SQL_SMALL_RESULT',
285358
'SQL_WARNINGS',
359+
'SQLEXCEPTION',
360+
'SQLSTATE',
361+
'SQLWARNING',
362+
'SSL',
286363
'START',
287364
'STARTING',
288365
'STATUS',
@@ -298,15 +375,20 @@ final class Tokenizer
298375
'TERMINATED',
299376
'THEN',
300377
'TIES',
378+
'TINYBLOB',
379+
'TINYINT',
380+
'TINYTEXT',
301381
'TO',
302382
'TRAILING',
303383
'TRANSACTIONAL',
384+
'TRIGGER',
304385
'TRUE',
305386
'TRUNCATE',
306387
'TYPE',
307388
'TYPES',
308389
'UNBOUNDED',
309390
'UNCOMMITTED',
391+
'UNDO',
310392
'UNION',
311393
'UNIQUE',
312394
'UNLOCK',
@@ -315,17 +397,26 @@ final class Tokenizer
315397
'USAGE',
316398
'USE',
317399
'USING',
400+
'UTC_DATE',
401+
'UTC_TIME',
402+
'UTC_TIMESTAMP',
318403
'VALUES',
404+
'VARBINARY',
405+
'VARCHAR',
406+
'VARCHARACTER',
319407
'VARIABLES',
408+
'VARYING',
320409
'VIEW',
321410
'WHEN',
322411
'WHERE',
412+
'WHILE',
323413
'WINDOW',
324414
'WITH',
325415
'WORK',
326416
'WRITE',
327417
'XOR',
328418
'YEAR_MONTH',
419+
'ZEROFILL',
329420
];
330421

331422
/**

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->assertEquals(trim($html), trim($this->formatter->highlight($sql)));
7373
}

0 commit comments

Comments
 (0)