File tree 1 file changed +156
-0
lines changed
1 file changed +156
-0
lines changed Original file line number Diff line number Diff line change @@ -553,6 +553,161 @@ final class TokenizerTest extends TestCase
553
553
'ZEROFILL ' ,
554
554
];
555
555
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
+
556
711
/**
557
712
* @param 'reserved'|'reservedToplevel'|'reservedNewline'|'functions' $propertyName
558
713
*
@@ -577,6 +732,7 @@ public function testInternalKeywordListsAreSortedForEasierMaintenance(): void
577
732
$ this ->getTokenizerList ('functions ' ),
578
733
self ::KEYWORDS_RESERVED_MYSQL ,
579
734
self ::KEYWORDS_RESERVED_MARIADB ,
735
+ self ::KEYWORDS_RESERVED_SQLITE ,
580
736
] as $ list
581
737
) {
582
738
$ listSorted = $ list ;
You can’t perform that action at this time.
0 commit comments