![JAR search and dependency download from the Maven repository](/logo.png)
com.wda.sdbc.postgresql.Identifier.scala Maven / Gradle / Ivy
package com.wda.sdbc.postgresql
import com.wda.CISet
import com.wda.sdbc.base
import scala.util.matching.Regex
class Identifier extends base.Identifier {
override val leftQuote = '"'
override val rightQuote = leftQuote
//http://www.postgresql.org/docs/9.4/static/sql-syntax-lexical.html
override val identifierMatcher: Regex = """(?U)[\p{L}_][\p{L}\d_$]*""".r
//non-reserved keywords from http://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/include/parser/kwlist.h;hb=HEAD
//Thanks MatheusOI from #postgresql.
override val reservedWords: Set[String] =
CISet(
"ALL",
"ANALYSE",
"ANALYZE",
"AND",
"ANY",
"ARRAY",
"AS",
"ASC",
"ASYMMETRIC",
"AUTHORIZATION",
"BETWEEN",
"BIGINT",
"BINARY",
"BIT",
"BOOLEAN",
"BOTH",
"CASE",
"CAST",
"CHAR",
"CHARACTER",
"CHECK",
"COALESCE",
"COLLATE",
"COLLATION",
"COLUMN",
"CONCURRENTLY",
"CONSTRAINT",
"CREATE",
"CROSS",
"CURRENT_CATALOG",
"CURRENT_DATE",
"CURRENT_ROLE",
"CURRENT_SCHEMA",
"CURRENT_TIME",
"CURRENT_TIMESTAMP",
"CURRENT_USER",
"DEC",
"DECIMAL",
"DEFAULT",
"DEFERRABLE",
"DESC",
"DISTINCT",
"DO",
"ELSE",
"END",
"EXCEPT",
"EXISTS",
"EXTRACT",
"FALSE",
"FETCH",
"FLOAT",
"FOR",
"FOREIGN",
"FREEZE",
"FROM",
"FULL",
"GRANT",
"GREATEST",
"GROUP",
"HAVING",
"ILIKE",
"IN",
"INITIALLY",
"INNER",
"INOUT",
"INT",
"INTEGER",
"INTERSECT",
"INTERVAL",
"INTO",
"IS",
"ISNULL",
"JOIN",
"LATERAL",
"LEADING",
"LEAST",
"LEFT",
"LIKE",
"LIMIT",
"LOCALTIME",
"LOCALTIMESTAMP",
"NATIONAL",
"NATURAL",
"NCHAR",
"NONE",
"NOT",
"NOTNULL",
"NULL",
"NULLIF",
"NUMERIC",
"OFFSET",
"ON",
"ONLY",
"OR",
"ORDER",
"OUT",
"OUTER",
"OVERLAPS",
"OVERLAY",
"PLACING",
"POSITION",
"PRECISION",
"PRIMARY",
"REAL",
"REFERENCES",
"RETURNING",
"RIGHT",
"ROW",
"SELECT",
"SESSION_USER",
"SETOF",
"SIMILAR",
"SMALLINT",
"SOME",
"SUBSTRING",
"SYMMETRIC",
"TABLE",
"THEN",
"TIME",
"TIMESTAMP",
"TO",
"TRAILING",
"TREAT",
"TRIM",
"TRUE",
"UNION",
"UNIQUE",
"USER",
"USING",
"VALUES",
"VARCHAR",
"VARIADIC",
"VERBOSE",
"WHEN",
"WHERE",
"WINDOW",
"WITH",
"XMLATTRIBUTES",
"XMLCONCAT",
"XMLELEMENT",
"XMLEXISTS",
"XMLFOREST",
"XMLPARSE",
"XMLPI",
"XMLROOT",
"XMLSERIALIZE"
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy