File tree Expand file tree Collapse file tree 1 file changed +194
-0
lines changed
Expand file tree Collapse file tree 1 file changed +194
-0
lines changed Original file line number Diff line number Diff line change @@ -709,6 +709,199 @@ final class TokenizerTest extends TestCase
709709 'WITHOUT ' ,
710710 ];
711711
712+ /**
713+ * Based on https://learn.microsoft.com/en-us/sql/t-sql/language-elements/reserved-keywords-transact-sql?view=sql-server-ver16 list.
714+ *
715+ * All these keywords must be quoted.
716+ */
717+ private const KEYWORDS_RESERVED_MSSQL = [
718+ 'ADD ' ,
719+ 'ALL ' ,
720+ 'ALTER ' ,
721+ 'AND ' ,
722+ 'ANY ' ,
723+ 'AS ' ,
724+ 'ASC ' ,
725+ 'AUTHORIZATION ' ,
726+ 'BACKUP ' ,
727+ 'BEGIN ' ,
728+ 'BETWEEN ' ,
729+ 'BREAK ' ,
730+ 'BROWSE ' ,
731+ 'BULK ' ,
732+ 'BY ' ,
733+ 'CASCADE ' ,
734+ 'CASE ' ,
735+ 'CHECK ' ,
736+ 'CHECKPOINT ' ,
737+ 'CLOSE ' ,
738+ 'CLUSTERED ' ,
739+ 'COALESCE ' ,
740+ 'COLLATE ' ,
741+ 'COLUMN ' ,
742+ 'COMMIT ' ,
743+ 'COMPUTE ' ,
744+ 'CONSTRAINT ' ,
745+ 'CONTAINS ' ,
746+ 'CONTAINSTABLE ' ,
747+ 'CONTINUE ' ,
748+ 'CONVERT ' ,
749+ 'CREATE ' ,
750+ 'CROSS ' ,
751+ 'CURRENT ' ,
752+ 'CURRENT_DATE ' ,
753+ 'CURRENT_TIME ' ,
754+ 'CURRENT_TIMESTAMP ' ,
755+ 'CURRENT_USER ' ,
756+ 'CURSOR ' ,
757+ 'DATABASE ' ,
758+ 'DBCC ' ,
759+ 'DEALLOCATE ' ,
760+ 'DECLARE ' ,
761+ 'DEFAULT ' ,
762+ 'DELETE ' ,
763+ 'DENY ' ,
764+ 'DESC ' ,
765+ 'DISK ' ,
766+ 'DISTINCT ' ,
767+ 'DISTRIBUTED ' ,
768+ 'DOUBLE ' ,
769+ 'DROP ' ,
770+ 'DUMP ' ,
771+ 'ELSE ' ,
772+ 'END ' ,
773+ 'ERRLVL ' ,
774+ 'ESCAPE ' ,
775+ 'EXCEPT ' ,
776+ 'EXEC ' ,
777+ 'EXECUTE ' ,
778+ 'EXISTS ' ,
779+ 'EXIT ' ,
780+ 'EXTERNAL ' ,
781+ 'FETCH ' ,
782+ 'FILE ' ,
783+ 'FILLFACTOR ' ,
784+ 'FOR ' ,
785+ 'FOREIGN ' ,
786+ 'FREETEXT ' ,
787+ 'FREETEXTTABLE ' ,
788+ 'FROM ' ,
789+ 'FULL ' ,
790+ 'FUNCTION ' ,
791+ 'GOTO ' ,
792+ 'GRANT ' ,
793+ 'GROUP ' ,
794+ 'HAVING ' ,
795+ 'HOLDLOCK ' ,
796+ 'IDENTITY ' ,
797+ 'IDENTITYCOL ' ,
798+ 'IDENTITY_INSERT ' ,
799+ 'IF ' ,
800+ 'IN ' ,
801+ 'INDEX ' ,
802+ 'INNER ' ,
803+ 'INSERT ' ,
804+ 'INTERSECT ' ,
805+ 'INTO ' ,
806+ 'IS ' ,
807+ 'JOIN ' ,
808+ 'KEY ' ,
809+ 'KILL ' ,
810+ 'LEFT ' ,
811+ 'LIKE ' ,
812+ 'LINENO ' ,
813+ 'LOAD ' ,
814+ 'MERGE ' ,
815+ 'NATIONAL ' ,
816+ 'NOCHECK ' ,
817+ 'NONCLUSTERED ' ,
818+ 'NOT ' ,
819+ 'NULL ' ,
820+ 'NULLIF ' ,
821+ 'OF ' ,
822+ 'OFF ' ,
823+ 'OFFSETS ' ,
824+ 'ON ' ,
825+ 'OPEN ' ,
826+ 'OPENDATASOURCE ' ,
827+ 'OPENQUERY ' ,
828+ 'OPENROWSET ' ,
829+ 'OPENXML ' ,
830+ 'OPTION ' ,
831+ 'OR ' ,
832+ 'ORDER ' ,
833+ 'OUTER ' ,
834+ 'OVER ' ,
835+ 'PERCENT ' ,
836+ 'PIVOT ' ,
837+ 'PLAN ' ,
838+ 'PRECISION ' ,
839+ 'PRIMARY ' ,
840+ 'PRINT ' ,
841+ 'PROC ' ,
842+ 'PROCEDURE ' ,
843+ 'PUBLIC ' ,
844+ 'RAISERROR ' ,
845+ 'READ ' ,
846+ 'READTEXT ' ,
847+ 'RECONFIGURE ' ,
848+ 'REFERENCES ' ,
849+ 'REPLICATION ' ,
850+ 'RESTORE ' ,
851+ 'RESTRICT ' ,
852+ 'RETURN ' ,
853+ 'REVERT ' ,
854+ 'REVOKE ' ,
855+ 'RIGHT ' ,
856+ 'ROLLBACK ' ,
857+ 'ROWCOUNT ' ,
858+ 'ROWGUIDCOL ' ,
859+ 'RULE ' ,
860+ 'SAVE ' ,
861+ 'SCHEMA ' ,
862+ 'SECURITYAUDIT ' ,
863+ 'SELECT ' ,
864+ 'SEMANTICKEYPHRASETABLE ' ,
865+ 'SEMANTICSIMILARITYDETAILSTABLE ' ,
866+ 'SEMANTICSIMILARITYTABLE ' ,
867+ 'SESSION_USER ' ,
868+ 'SET ' ,
869+ 'SETUSER ' ,
870+ 'SHUTDOWN ' ,
871+ 'SOME ' ,
872+ 'STATISTICS ' ,
873+ 'SYSTEM_USER ' ,
874+ 'TABLE ' ,
875+ 'TABLESAMPLE ' ,
876+ 'TEXTSIZE ' ,
877+ 'THEN ' ,
878+ 'TO ' ,
879+ 'TOP ' ,
880+ 'TRAN ' ,
881+ 'TRANSACTION ' ,
882+ 'TRIGGER ' ,
883+ 'TRUNCATE ' ,
884+ 'TRY_CONVERT ' ,
885+ 'TSEQUAL ' ,
886+ 'UNION ' ,
887+ 'UNIQUE ' ,
888+ 'UNPIVOT ' ,
889+ 'UPDATE ' ,
890+ 'UPDATETEXT ' ,
891+ 'USE ' ,
892+ 'USER ' ,
893+ 'VALUES ' ,
894+ 'VARYING ' ,
895+ 'VIEW ' ,
896+ 'WAITFOR ' ,
897+ 'WHEN ' ,
898+ 'WHERE ' ,
899+ 'WHILE ' ,
900+ 'WITH ' ,
901+ 'WITHIN GROUP ' ,
902+ 'WRITETEXT ' ,
903+ ];
904+
712905 /**
713906 * @param 'reserved'|'reservedToplevel'|'reservedNewline'|'functions' $propertyName
714907 *
@@ -734,6 +927,7 @@ public function testInternalKeywordListsAreSortedForEasierMaintenance(): void
734927 self ::KEYWORDS_RESERVED_MYSQL ,
735928 self ::KEYWORDS_RESERVED_MARIADB ,
736929 self ::KEYWORDS_RESERVED_SQLITE ,
930+ self ::KEYWORDS_RESERVED_MSSQL ,
737931 ] as $ list
738932 ) {
739933 $ listSorted = $ list ;
You can’t perform that action at this time.
0 commit comments