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