File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -553,6 +553,161 @@ final class TokenizerTest extends TestCase
553553 'ZEROFILL ' ,
554554 ];
555555
556+ /**
557+ * Based on https://www.sqlite.org/lang_keywords.html list.
558+ *
559+ * All these keywords must be quoted.
560+ */
561+ private const KEYWORDS_RESERVED_SQLITE = [
562+ 'ABORT ' ,
563+ 'ACTION ' ,
564+ 'ADD ' ,
565+ 'AFTER ' ,
566+ 'ALL ' ,
567+ 'ALTER ' ,
568+ 'ALWAYS ' ,
569+ 'ANALYZE ' ,
570+ 'AND ' ,
571+ 'AS ' ,
572+ 'ASC ' ,
573+ 'ATTACH ' ,
574+ 'AUTOINCREMENT ' ,
575+ 'BEFORE ' ,
576+ 'BEGIN ' ,
577+ 'BETWEEN ' ,
578+ 'BY ' ,
579+ 'CASCADE ' ,
580+ 'CASE ' ,
581+ 'CAST ' ,
582+ 'CHECK ' ,
583+ 'COLLATE ' ,
584+ 'COLUMN ' ,
585+ 'COMMIT ' ,
586+ 'CONFLICT ' ,
587+ 'CONSTRAINT ' ,
588+ 'CREATE ' ,
589+ 'CROSS ' ,
590+ 'CURRENT ' ,
591+ 'CURRENT_DATE ' ,
592+ 'CURRENT_TIME ' ,
593+ 'CURRENT_TIMESTAMP ' ,
594+ 'DATABASE ' ,
595+ 'DEFAULT ' ,
596+ 'DEFERRABLE ' ,
597+ 'DEFERRED ' ,
598+ 'DELETE ' ,
599+ 'DESC ' ,
600+ 'DETACH ' ,
601+ 'DISTINCT ' ,
602+ 'DO ' ,
603+ 'DROP ' ,
604+ 'EACH ' ,
605+ 'ELSE ' ,
606+ 'END ' ,
607+ 'ESCAPE ' ,
608+ 'EXCEPT ' ,
609+ 'EXCLUDE ' ,
610+ 'EXCLUSIVE ' ,
611+ 'EXISTS ' ,
612+ 'EXPLAIN ' ,
613+ 'FAIL ' ,
614+ 'FILTER ' ,
615+ 'FIRST ' ,
616+ 'FOLLOWING ' ,
617+ 'FOR ' ,
618+ 'FOREIGN ' ,
619+ 'FROM ' ,
620+ 'FULL ' ,
621+ 'GENERATED ' ,
622+ 'GLOB ' ,
623+ 'GROUP ' ,
624+ 'GROUPS ' ,
625+ 'HAVING ' ,
626+ 'IF ' ,
627+ 'IGNORE ' ,
628+ 'IMMEDIATE ' ,
629+ 'IN ' ,
630+ 'INDEX ' ,
631+ 'INDEXED ' ,
632+ 'INITIALLY ' ,
633+ 'INNER ' ,
634+ 'INSERT ' ,
635+ 'INSTEAD ' ,
636+ 'INTERSECT ' ,
637+ 'INTO ' ,
638+ 'IS ' ,
639+ 'ISNULL ' ,
640+ 'JOIN ' ,
641+ 'KEY ' ,
642+ 'LAST ' ,
643+ 'LEFT ' ,
644+ 'LIKE ' ,
645+ 'LIMIT ' ,
646+ 'MATCH ' ,
647+ 'MATERIALIZED ' ,
648+ 'NATURAL ' ,
649+ 'NO ' ,
650+ 'NOT ' ,
651+ 'NOTHING ' ,
652+ 'NOTNULL ' ,
653+ 'NULL ' ,
654+ 'NULLS ' ,
655+ 'OF ' ,
656+ 'OFFSET ' ,
657+ 'ON ' ,
658+ 'OR ' ,
659+ 'ORDER ' ,
660+ 'OTHERS ' ,
661+ 'OUTER ' ,
662+ 'OVER ' ,
663+ 'PARTITION ' ,
664+ 'PLAN ' ,
665+ 'PRAGMA ' ,
666+ 'PRECEDING ' ,
667+ 'PRIMARY ' ,
668+ 'QUERY ' ,
669+ 'RAISE ' ,
670+ 'RANGE ' ,
671+ 'RECURSIVE ' ,
672+ 'REFERENCES ' ,
673+ 'REGEXP ' ,
674+ 'REINDEX ' ,
675+ 'RELEASE ' ,
676+ 'RENAME ' ,
677+ 'REPLACE ' ,
678+ 'RESTRICT ' ,
679+ 'RETURNING ' ,
680+ 'RIGHT ' ,
681+ 'ROLLBACK ' ,
682+ 'ROW ' ,
683+ 'ROWS ' ,
684+ 'SAVEPOINT ' ,
685+ 'SELECT ' ,
686+ 'SET ' ,
687+ 'TABLE ' ,
688+ 'TEMP ' ,
689+ 'TEMPORARY ' ,
690+ 'THEN ' ,
691+ 'TIES ' ,
692+ 'TO ' ,
693+ 'TRANSACTION ' ,
694+ 'TRIGGER ' ,
695+ 'UNBOUNDED ' ,
696+ 'UNION ' ,
697+ 'UNIQUE ' ,
698+ 'UPDATE ' ,
699+ 'USING ' ,
700+ 'VACUUM ' ,
701+ 'VALUES ' ,
702+ 'VIEW ' ,
703+ 'VIRTUAL ' ,
704+ 'WHEN ' ,
705+ 'WHERE ' ,
706+ 'WINDOW ' ,
707+ 'WITH ' ,
708+ 'WITHOUT ' ,
709+ ];
710+
556711 /**
557712 * @param 'reserved'|'reservedToplevel'|'reservedNewline'|'functions' $propertyName
558713 *
@@ -577,6 +732,7 @@ public function testInternalKeywordListsAreSortedForEasierMaintenance(): void
577732 $ this ->getTokenizerList ('functions ' ),
578733 self ::KEYWORDS_RESERVED_MYSQL ,
579734 self ::KEYWORDS_RESERVED_MARIADB ,
735+ self ::KEYWORDS_RESERVED_SQLITE ,
580736 ] as $ list
581737 ) {
582738 $ listSorted = $ list ;
You can’t perform that action at this time.
0 commit comments