Some checks failed
kotlin / test (push) Has been skipped
python / test (push) Has been skipped
typescript / test (push) Has been skipped
go / build darwin/amd64 (push) Has been cancelled
go / build linux/amd64 (push) Has been cancelled
go / build windows/amd64 (push) Has been cancelled
go / build darwin/arm64 (push) Has been cancelled
go / build linux/arm64 (push) Has been cancelled
go / build windows/arm64 (push) Has been cancelled
go / test (push) Has been cancelled
go / vuln_check (push) Has been cancelled
197 lines
3.2 KiB
Go
197 lines
3.2 KiB
Go
package mssql
|
|
|
|
import "strings"
|
|
|
|
// https://learn.microsoft.com/en-us/sql/t-sql/language-elements/reserved-keywords-transact-sql
|
|
func (p *Parser) IsReservedKeyword(s string) bool {
|
|
switch strings.ToLower(s) {
|
|
case "add":
|
|
case "all":
|
|
case "alter":
|
|
case "and":
|
|
case "any":
|
|
case "as":
|
|
case "asc":
|
|
case "authorization":
|
|
case "backup":
|
|
case "begin":
|
|
case "between":
|
|
case "break":
|
|
case "browse":
|
|
case "bulk":
|
|
case "by":
|
|
case "cascade":
|
|
case "case":
|
|
case "check":
|
|
case "checkpoint":
|
|
case "close":
|
|
case "clustered":
|
|
case "coalesce":
|
|
case "collate":
|
|
case "column":
|
|
case "commit":
|
|
case "compute":
|
|
case "constraint":
|
|
case "contains":
|
|
case "containstable":
|
|
case "continue":
|
|
case "convert":
|
|
case "create":
|
|
case "cross":
|
|
case "current":
|
|
case "current_date":
|
|
case "current_time":
|
|
case "current_timestamp":
|
|
case "current_user":
|
|
case "cursor":
|
|
case "database":
|
|
case "dbcc":
|
|
case "deallocate":
|
|
case "declare":
|
|
case "default":
|
|
case "delete":
|
|
case "deny":
|
|
case "desc":
|
|
case "disk":
|
|
case "distinct":
|
|
case "distributed":
|
|
case "double":
|
|
case "drop":
|
|
case "dump":
|
|
case "else":
|
|
case "end":
|
|
case "errlvl":
|
|
case "escape":
|
|
case "except":
|
|
case "exec":
|
|
case "execute":
|
|
case "exists":
|
|
case "exit":
|
|
case "external":
|
|
case "fetch":
|
|
case "file":
|
|
case "fillfactor":
|
|
case "for":
|
|
case "foreign":
|
|
case "freetext":
|
|
case "freetexttable":
|
|
case "from":
|
|
case "full":
|
|
case "function":
|
|
case "goto":
|
|
case "grant":
|
|
case "group":
|
|
case "having":
|
|
case "holdlock":
|
|
case "identity":
|
|
case "identity_insert":
|
|
case "identitycol":
|
|
case "if":
|
|
case "in":
|
|
case "index":
|
|
case "inner":
|
|
case "insert":
|
|
case "intersect":
|
|
case "into":
|
|
case "is":
|
|
case "join":
|
|
case "key":
|
|
case "kill":
|
|
case "left":
|
|
case "like":
|
|
case "lineno":
|
|
case "load":
|
|
case "merge":
|
|
case "national":
|
|
case "nocheck":
|
|
case "nonclustered":
|
|
case "not":
|
|
case "null":
|
|
case "nullif":
|
|
case "of":
|
|
case "off":
|
|
case "offsets":
|
|
case "on":
|
|
case "open":
|
|
case "opendatasource":
|
|
case "openquery":
|
|
case "openrowset":
|
|
case "openxml":
|
|
case "option":
|
|
case "or":
|
|
case "order":
|
|
case "outer":
|
|
case "over":
|
|
case "percent":
|
|
case "pivot":
|
|
case "plan":
|
|
case "precision":
|
|
case "primary":
|
|
case "print":
|
|
case "proc":
|
|
case "procedure":
|
|
case "public":
|
|
case "raiserror":
|
|
case "read":
|
|
case "readtext":
|
|
case "reconfigure":
|
|
case "references":
|
|
case "replication":
|
|
case "restore":
|
|
case "restrict":
|
|
case "return":
|
|
case "revert":
|
|
case "revoke":
|
|
case "right":
|
|
case "rollback":
|
|
case "rowcount":
|
|
case "rowguidcol":
|
|
case "rule":
|
|
case "save":
|
|
case "schema":
|
|
case "securityaudit":
|
|
case "select":
|
|
case "semantickeyphrasetable":
|
|
case "semanticsimilaritydetailstable":
|
|
case "semanticsimilaritytable":
|
|
case "session_user":
|
|
case "set":
|
|
case "setuser":
|
|
case "shutdown":
|
|
case "some":
|
|
case "statistics":
|
|
case "system_user":
|
|
case "table":
|
|
case "tablesample":
|
|
case "textsize":
|
|
case "then":
|
|
case "to":
|
|
case "top":
|
|
case "tran":
|
|
case "transaction":
|
|
case "trigger":
|
|
case "truncate":
|
|
case "try_convert":
|
|
case "tsequal":
|
|
case "union":
|
|
case "unique":
|
|
case "unpivot":
|
|
case "update":
|
|
case "updatetext":
|
|
case "use":
|
|
case "user":
|
|
case "values":
|
|
case "varying":
|
|
case "view":
|
|
case "waitfor":
|
|
case "when":
|
|
case "where":
|
|
case "while":
|
|
case "with":
|
|
case "writetext":
|
|
default:
|
|
return false
|
|
}
|
|
return true
|
|
}
|