63 lines
5.2 KiB
Go
63 lines
5.2 KiB
Go
package pgsql
|
|
|
|
// postgresKeywords contains PostgreSQL reserved keywords that need to be handled
|
|
var postgresKeywords = map[string]bool{
|
|
"abort": true, "action": true, "add": true, "after": true, "all": true, "alter": true, "and": true,
|
|
"any": true, "array": true, "as": true, "asc": true, "asymmetric": true, "at": true, "authorization": true,
|
|
"begin": true, "between": true, "bigint": true, "binary": true, "bit": true, "boolean": true, "both": true,
|
|
"by": true, "cascade": true, "case": true, "cast": true, "char": true, "character": true, "check": true,
|
|
"collate": true, "collation": true, "column": true, "commit": true, "concurrently": true, "constraint": true,
|
|
"create": true, "cross": true, "current": true, "current_catalog": true, "current_date": true,
|
|
"current_role": true, "current_schema": true, "current_time": true, "current_timestamp": true,
|
|
"current_user": true, "cursor": true, "cycle": true, "date": true, "day": true, "deallocate": true,
|
|
"dec": true, "decimal": true, "declare": true, "default": true, "deferrable": true, "deferred": true,
|
|
"delete": true, "desc": true, "distinct": true, "do": true, "drop": true, "each": true, "else": true,
|
|
"end": true, "enum": true, "escape": true, "except": true, "exclude": true, "execute": true, "exists": true,
|
|
"extract": true, "false": true, "fetch": true, "filter": true, "first": true, "float": true, "following": true,
|
|
"for": true, "foreign": true, "from": true, "full": true, "function": true, "global": true, "grant": true,
|
|
"group": true, "having": true, "hour": true, "identity": true, "if": true, "ilike": true, "in": true,
|
|
"include": true, "increment": true, "index": true, "inherit": true, "initially": true, "inner": true,
|
|
"inout": true, "input": true, "insert": true, "instead": true, "int": true, "integer": true, "intersect": true,
|
|
"interval": true, "into": true, "is": true, "isolation": true, "join": true, "key": true, "language": true,
|
|
"large": true, "last": true, "lateral": true, "leading": true, "left": true, "level": true, "like": true,
|
|
"limit": true, "listen": true, "load": true, "local": true, "localtime": true, "localtimestamp": true,
|
|
"location": true, "lock": true, "match": true, "minute": true, "mode": true, "month": true, "move": true,
|
|
"name": true, "national": true, "natural": true, "nchar": true, "new": true, "next": true, "no": true,
|
|
"none": true, "not": true, "nothing": true, "notify": true, "null": true, "nulls": true, "numeric": true,
|
|
"object": true, "of": true, "off": true, "offset": true, "oids": true, "old": true, "on": true, "only": true,
|
|
"option": true, "or": true, "order": true, "ordinality": true, "out": true, "outer": true, "over": true,
|
|
"overlaps": true, "overlay": true, "owned": true, "owner": true, "partial": true, "partition": true,
|
|
"placing": true, "position": true, "preceding": true, "precision": true, "prepare": true, "prepared": true,
|
|
"preserve": true, "primary": true, "prior": true, "privileges": true, "procedural": true, "procedure": true,
|
|
"range": true, "read": true, "real": true, "reassign": true, "recheck": true, "recursive": true, "ref": true,
|
|
"references": true, "refresh": true, "reindex": true, "relative": true, "release": true, "rename": true,
|
|
"repeatable": true, "replace": true, "replica": true, "reset": true, "restart": true, "restrict": true,
|
|
"returning": true, "returns": true, "revoke": true, "right": true, "role": true, "rollback": true,
|
|
"rollup": true, "row": true, "rows": true, "rule": true, "savepoint": true, "schema": true, "scroll": true,
|
|
"search": true, "second": true, "security": true, "select": true, "sequence": true, "serializable": true,
|
|
"session": true, "set": true, "setof": true, "share": true, "show": true, "similar": true, "simple": true,
|
|
"smallint": true, "snapshot": true, "some": true, "sql": true, "stable": true, "standalone": true,
|
|
"start": true, "statement": true, "statistics": true, "stdin": true, "stdout": true, "storage": true,
|
|
"strict": true, "strip": true, "substring": true, "symmetric": true, "sysid": true, "system": true,
|
|
"table": true, "tables": true, "tablespace": true, "temp": true, "template": true, "temporary": true,
|
|
"text": true, "then": true, "time": true, "timestamp": true, "to": true, "trailing": true, "transaction": true,
|
|
"transform": true, "treat": true, "trigger": true, "trim": true, "true": true, "truncate": true,
|
|
"trusted": true, "type": true, "types": true, "unbounded": true, "uncommitted": true, "unencrypted": true,
|
|
"union": true, "unique": true, "unknown": true, "unlisten": true, "unlogged": true, "until": true,
|
|
"update": true, "user": true, "using": true, "vacuum": true, "valid": true, "validate": true, "validator": true,
|
|
"value": true, "values": true, "varchar": true, "variadic": true, "varying": true, "verbose": true,
|
|
"version": true, "view": true, "volatile": true, "when": true, "where": true, "whitespace": true,
|
|
"window": true, "with": true, "within": true, "without": true, "work": true, "wrapper": true,
|
|
"write": true, "xml": true, "xmlattributes": true, "xmlconcat": true, "xmlelement": true, "xmlexists": true,
|
|
"xmlforest": true, "xmlparse": true, "xmlpi": true, "xmlroot": true, "xmlserialize": true, "year": true,
|
|
"yes": true, "zone": true,
|
|
}
|
|
|
|
func GetPostgresKeywords() []string {
|
|
lst := []string{}
|
|
for k := range postgresKeywords {
|
|
lst = append(lst, k)
|
|
}
|
|
return lst
|
|
}
|