Skip to content

Commit e410352

Browse files
authored
Merge pull request #126 from doctrine/1.4.x
Merge 1.4.x up into 1.5.x
2 parents 15b7420 + 7c0096a commit e410352

File tree

6 files changed

+1774
-208
lines changed

6 files changed

+1774
-208
lines changed

src/Tokenizer.php

Lines changed: 57 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ final class Tokenizer
2929
private array $reserved = [
3030
'ACCESSIBLE',
3131
'ACTION',
32+
'ADD',
3233
'AFTER',
3334
'AGAINST',
3435
'AGGREGATE',
@@ -37,19 +38,25 @@ final class Tokenizer
3738
'ALTER',
3839
'ANALYSE',
3940
'ANALYZE',
41+
'AND',
4042
'AS',
4143
'ASC',
4244
'AUTOCOMMIT',
4345
'AUTO_INCREMENT',
4446
'BACKUP',
4547
'BEGIN',
4648
'BETWEEN',
49+
'BIGINT',
50+
'BINARY',
4751
'BINLOG',
52+
'BLOB',
4853
'BOTH',
54+
'BY',
4955
'CASCADE',
5056
'CASE',
5157
'CHANGE',
5258
'CHANGED',
59+
'CHAR',
5360
'CHARACTER',
5461
'CHARSET',
5562
'CHECK',
@@ -76,6 +83,7 @@ final class Tokenizer
7683
'DAY_HOUR',
7784
'DAY_MINUTE',
7885
'DAY_SECOND',
86+
'DECIMAL',
7987
'DEFAULT',
8088
'DEFINER',
8189
'DELAYED',
@@ -87,6 +95,8 @@ final class Tokenizer
8795
'DISTINCTROW',
8896
'DIV',
8997
'DO',
98+
'DOUBLE',
99+
'DROP',
90100
'DUMPFILE',
91101
'DUPLICATE',
92102
'DYNAMIC',
@@ -99,23 +109,30 @@ final class Tokenizer
99109
'ESCAPE',
100110
'ESCAPED',
101111
'EVENTS',
112+
'EXCEPT',
113+
'EXCLUDE',
102114
'EXEC',
103115
'EXECUTE',
104116
'EXISTS',
105117
'EXPLAIN',
106118
'EXTENDED',
119+
'FALSE',
107120
'FAST',
108121
'FETCH',
109122
'FIELDS',
110123
'FILE',
111124
'FILTER',
112125
'FIRST',
113126
'FIXED',
127+
'FLOAT',
128+
'FLOAT4',
129+
'FLOAT8',
114130
'FLUSH',
115131
'FOLLOWING',
116132
'FOR',
117133
'FORCE',
118134
'FOREIGN',
135+
'FROM',
119136
'FULL',
120137
'FULLTEXT',
121138
'FUNCTION',
@@ -124,6 +141,7 @@ final class Tokenizer
124141
'GRANTS',
125142
'GROUP',
126143
'GROUPS',
144+
'HAVING',
127145
'HEAP',
128146
'HIGH_PRIORITY',
129147
'HOSTS',
@@ -138,28 +156,43 @@ final class Tokenizer
138156
'INDEX',
139157
'INDEXES',
140158
'INFILE',
159+
'INNER',
141160
'INSERT',
142161
'INSERT_ID',
143162
'INSERT_METHOD',
163+
'INT',
164+
'INT1',
165+
'INT2',
166+
'INT3',
167+
'INT4',
168+
'INT8',
169+
'INTEGER',
170+
'INTERSECT',
144171
'INTERVAL',
145172
'INTO',
146173
'INVOKER',
147174
'IS',
148175
'ISOLATION',
176+
'JOIN',
149177
'KEY',
150178
'KEYS',
151179
'KILL',
152180
'LAST_INSERT_ID',
153181
'LEADING',
182+
'LEFT',
154183
'LEVEL',
155184
'LIKE',
185+
'LIMIT',
156186
'LINEAR',
157187
'LINES',
158188
'LOAD',
159189
'LOCAL',
160190
'LOCK',
161191
'LOCKS',
162192
'LOGS',
193+
'LONG',
194+
'LONGBLOB',
195+
'LONGTEXT',
163196
'LOW_PRIORITY',
164197
'MARIA',
165198
'MASTER',
@@ -173,24 +206,32 @@ final class Tokenizer
173206
'MAX_UPDATES_PER_HOUR',
174207
'MAX_USER_CONNECTIONS',
175208
'MEDIUM',
209+
'MEDIUMBLOB',
210+
'MEDIUMINT',
211+
'MEDIUMTEXT',
176212
'MERGE',
177213
'MINUTE',
178214
'MINUTE_SECOND',
179215
'MIN_ROWS',
180216
'MODE',
217+
'MODIFY',
181218
'MONTH',
182219
'MRG_MYISAM',
183220
'MYISAM',
184221
'NAMES',
185222
'NATURAL',
186223
'NOT',
187224
'NULL',
225+
'NUMERIC',
188226
'OFFSET',
189227
'ON',
190228
'OPEN',
191229
'OPTIMIZE',
192230
'OPTION',
193231
'OPTIONALLY',
232+
'OR',
233+
'ORDER',
234+
'OUTER',
194235
'OUTFILE',
195236
'OVER',
196237
'PACK_KEYS',
@@ -215,6 +256,7 @@ final class Tokenizer
215256
'READ',
216257
'READ_ONLY',
217258
'READ_WRITE',
259+
'REAL',
218260
'RECURSIVE',
219261
'REFERENCES',
220262
'REGEXP',
@@ -230,13 +272,15 @@ final class Tokenizer
230272
'RETURN',
231273
'RETURNS',
232274
'REVOKE',
275+
'RIGHT',
233276
'RLIKE',
234277
'ROLLBACK',
235278
'ROW',
236279
'ROWS',
237280
'ROW_FORMAT',
238281
'SECOND',
239282
'SECURITY',
283+
'SELECT',
240284
'SEPARATOR',
241285
'SERIALIZABLE',
242286
'SESSION',
@@ -245,6 +289,7 @@ final class Tokenizer
245289
'SHOW',
246290
'SHUTDOWN',
247291
'SLAVE',
292+
'SMALLINT',
248293
'SONAME',
249294
'SOUNDS',
250295
'SQL',
@@ -282,6 +327,9 @@ final class Tokenizer
282327
'TERMINATED',
283328
'THEN',
284329
'TIES',
330+
'TINYBLOB',
331+
'TINYINT',
332+
'TINYTEXT',
285333
'TO',
286334
'TRAILING',
287335
'TRANSACTIONAL',
@@ -291,18 +339,27 @@ final class Tokenizer
291339
'TYPES',
292340
'UNBOUNDED',
293341
'UNCOMMITTED',
342+
'UNION',
294343
'UNIQUE',
295344
'UNLOCK',
296345
'UNSIGNED',
346+
'UPDATE',
297347
'USAGE',
298348
'USE',
299349
'USING',
350+
'VALUES',
351+
'VARBINARY',
352+
'VARCHAR',
353+
'VARCHARACTER',
300354
'VARIABLES',
301355
'VIEW',
302356
'WHEN',
357+
'WHERE',
358+
'WINDOW',
303359
'WITH',
304360
'WORK',
305361
'WRITE',
362+
'XOR',
306363
'YEAR_MONTH',
307364
];
308365

@@ -392,21 +449,16 @@ final class Tokenizer
392449
'CEIL',
393450
'CEILING',
394451
'CENTROID',
395-
'CHAR',
396452
'CHARACTER_LENGTH',
397-
'CHARSET',
398453
'CHAR_LENGTH',
399454
'CHECKSUM_AGG',
400455
'COALESCE',
401456
'COERCIBILITY',
402-
'COLLATION',
403457
'COMPRESS',
404458
'CONCAT',
405459
'CONCAT_WS',
406460
'CONNECTION_ID',
407-
'CONTAINS',
408461
'CONV',
409-
'CONVERT',
410462
'CONVERT_TZ',
411463
'CONVEXHULL',
412464
'COS',
@@ -419,23 +471,19 @@ final class Tokenizer
419471
'CURDATE',
420472
'CURRENT_DATE',
421473
'CURRENT_TIME',
422-
'CURRENT_TIMESTAMP',
423474
'CURRENT_USER',
424475
'CURTIME',
425-
'DATABASE',
426476
'DATE',
427477
'DATEDIFF',
428478
'DATE_ADD',
429479
'DATE_DIFF',
430480
'DATE_FORMAT',
431481
'DATE_SUB',
432-
'DAY',
433482
'DAYNAME',
434483
'DAYOFMONTH',
435484
'DAYOFWEEK',
436485
'DAYOFYEAR',
437486
'DECODE',
438-
'DEFAULT',
439487
'DEGREES',
440488
'DENSE_RANK',
441489
'DES_DECRYPT',
@@ -483,17 +531,12 @@ final class Tokenizer
483531
'GROUP_CONCAT',
484532
'GROUP_UNIQUE_USERS',
485533
'HEX',
486-
'HOUR',
487-
'IF',
488-
'IFNULL',
489534
'INET_ATON',
490535
'INET_NTOA',
491-
'INSERT',
492536
'INSTR',
493537
'INTERIORRINGN',
494538
'INTERSECTION',
495539
'INTERSECTS',
496-
'INTERVAL',
497540
'ISCLOSED',
498541
'ISEMPTY',
499542
'ISNULL',
@@ -503,12 +546,10 @@ final class Tokenizer
503546
'IS_USED_LOCK',
504547
'LAG',
505548
'LAST_DAY',
506-
'LAST_INSERT_ID',
507549
'LAST_VALUE',
508550
'LCASE',
509551
'LEAD',
510552
'LEAST',
511-
'LEFT',
512553
'LENGTH',
513554
'LINEFROMTEXT',
514555
'LINEFROMWKB',
@@ -543,11 +584,9 @@ final class Tokenizer
543584
'MICROSECOND',
544585
'MID',
545586
'MIN',
546-
'MINUTE',
547587
'MLINEFROMTEXT',
548588
'MLINEFROMWKB',
549589
'MOD',
550-
'MONTH',
551590
'MONTHNAME',
552591
'MPOINTFROMTEXT',
553592
'MPOINTFROMWKB',
@@ -575,7 +614,6 @@ final class Tokenizer
575614
'OLD_PASSWORD',
576615
'ORD',
577616
'OVERLAPS',
578-
'PASSWORD',
579617
'PERCENTILE_CONT',
580618
'PERCENTILE_DISC',
581619
'PERCENT_RANK',
@@ -603,16 +641,13 @@ final class Tokenizer
603641
'RELATED',
604642
'RELEASE_LOCK',
605643
'REPEAT',
606-
'REPLACE',
607644
'REVERSE',
608-
'RIGHT',
609645
'ROUND',
610646
'ROW_COUNT',
611647
'ROW_NUMBER',
612648
'RPAD',
613649
'RTRIM',
614650
'SCHEMA',
615-
'SECOND',
616651
'SEC_TO_TIME',
617652
'SESSION_USER',
618653
'SHA',
@@ -654,7 +689,6 @@ final class Tokenizer
654689
'TOUCHES',
655690
'TO_DAYS',
656691
'TRIM',
657-
'TRUNCATE',
658692
'UCASE',
659693
'UNCOMPRESS',
660694
'UNCOMPRESSED_LENGTH',

tests/SqlFormatterTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public function testHighlightBinary(): void
6868
$html = '<pre style="color: black; background-color: white;">' .
6969
'<span style="font-weight:bold;">SELECT</span> <span style="color: blue;">' .
7070
$binaryData .
71-
'</span> <span style="font-weight:bold;">AS</span> <span style="color: #333;">BINARY</span></pre>';
71+
'</span> <span style="font-weight:bold;">AS</span> <span style="font-weight:bold;">BINARY</span></pre>';
7272

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

0 commit comments

Comments
 (0)