/* * DBeaver - Universal Database Manager * Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.jkiss.dbeaver.model.sql; /** * SQL editor constants */ public class SQLConstants { public static final String NULL_VALUE = "NULL"; public static final String STR_QUOTE_SINGLE = "'"; public static final String STR_QUOTE_DOUBLE = "\""; public static final String STR_QUOTE_APOS = "`"; public static final String ML_COMMENT_START = "/*"; public static final String ML_COMMENT_END = "*/"; public static final String SL_COMMENT = "--"; public static final String KEYWORD_UPDATE = "UPDATE"; public static final String KEYWORD_INTO = "INTO"; public static final String KEYWORD_JOIN = "JOIN"; public static final String[] TABLE_KEYWORDS = { "FROM", KEYWORD_UPDATE, KEYWORD_INTO, "TABLE", "VIEW", KEYWORD_JOIN }; public static final String KEYWORD_SELECT = "SELECT"; public static final String KEYWORD_ON = "ON"; public static final String[] COLUMN_KEYWORDS = { KEYWORD_SELECT, "WHERE", "SET", KEYWORD_ON, "AND", "OR", "BY", "HAVING" }; public static final String[] DDL_KEYWORDS = { "CREATE", "ALTER", "DROP", }; public static final String[] SQL2003_RESERVED_KEYWORDS = { "ALL", "ALLOCATE", "ALTER", "AND", "ANY", "ARE", "ARRAY", "AS", "ASENSITIVE", "ASYMMETRIC", "AT", "ATOMIC", "AUTHORIZATION", "BEGIN", "BETWEEN", //"BIGINT", "BINARY", "BOTH", "BY", "CALL", "CALLED", "CARDINALITY", "CASCADE", "CASCADED", "CASE", "CAST", "CEIL", "CEILING", "CHARACTER", "CHECK", "CLOSE", "COALESCE", "COLLATE", "COLLECT", "COLUMN", "COMMIT", "CONDITION", "CONNECT", "CONSTRAINT", "CONVERT", "CORR", "CORRESPONDING", "COVAR_POP", "COVAR_SAMP", "CREATE", "CROSS", "CUBE", "CUME_DIST", "CURRENT", "CURSOR", "CYCLE", "DAY", "DEALLOCATE", "DEC", "DECLARE", "DEFAULT", "DELETE", "DENSE_RANK", "DEREF", "DESCRIBE", "DETERMINISTIC", "DISCONNECT", "DISTINCT", "DROP", "DYNAMIC", "EACH", "ELEMENT", "ELSE", "END", "END-EXEC", "ESCAPE", "EVERY", "EXCEPT", "EXEC", "EXECUTE", "EXISTS", "EXP", "EXTERNAL", "EXTRACT", "FALSE", "FETCH", "FILTER", "FOR", "FOREIGN", "FREE", "FROM", "FULL", "FUNCTION", "FUSION", "GET", "GLOBAL", "GRANT", "GROUP", "GROUPING", "HAVING", "HOLD", "HOUR", "IDENTITY", "IF", "IN", "INDEX", "INDICATOR", "INNER", "INOUT", "INSENSITIVE", "INSERT", "INTERSECT", "INTERSECTION", "INTERVAL", "INTO", "IS", "JOIN", "LANGUAGE", "LARGE", "LATERAL", "LEFT", "LIKE", "LN", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "MATCH", "MEMBER", "MERGE", "METHOD", "MINUTE", "MOD", "MODIFIES", // "MODULE", // too common for column names "MONTH", "MULTISET", "NATIONAL", "NATURAL", //"NCHAR", //"NCLOB", "NEW", "NO", "NONE", "NORMALIZE", "NOT", "NULL", "NULLIF", "NUMERIC", "OF", "OLD", KEYWORD_ON, "ONLY", "OPEN", "OR", "ORDER", "OUT", "OUTER", "OVER", "OVERLAPS", "OVERLAY", "PARAMETER", "PARTITION", "POSITION", "PRECISION", "PREPARE", "PRIMARY", "PROCEDURE", "RANGE", "RANK", "READS", "REAL", "RECURSIVE", "REF", "REFERENCES", "REFERENCING", "RELEASE", "RENAME", "RESULT", "RETURN", "RETURNS", "REVOKE", "RIGHT", "ROLLBACK", "ROLLUP", "ROW", "ROW_NUMBER", "ROWS", "SAVEPOINT", "SCOPE", "SCROLL", "SEARCH", "SECOND", KEYWORD_SELECT, "SENSITIVE", "SESSION_USER", "SET", "SIMILAR", "SMALLINT", "SOME", "SPECIFIC", "SPECIFICTYPE", "SQL", "SQLEXCEPTION", "SQLSTATE", "SQLWARNING", "START", "STATIC", "STDDEV_POP", "STDDEV_SAMP", "SUBMULTISET", "SYMMETRIC", "SYSTEM", "SYSTEM_USER", "TABLE", "TABLESAMPLE", "THEN", "TIMEZONE_HOUR", "TIMEZONE_MINUTE", "TO", "TRAILING", "TRANSLATE", "TRANSLATION", "TREAT", "TRIGGER", "TRUE", "UNION", "UNIQUE", "UNKNOWN", "UNNEST", "UPDATE", "USER", "USING", //"VALUE", // too common for column names "VALUES", "VAR_POP", "VAR_SAMP", //"VARCHAR", "VARYING", "WHEN", "WHENEVER", "WHERE", "WIDTH_BUCKET", "WINDOW", "WITH", "WITHIN", "WITHOUT", "YEAR", "NULLS", "FIRST", "LAST", "FOLLOWING", "PRECEDING", "UNBOUNDED", "LENGTH", "KEY", "LEVEL", "VIEW", "SEQUENCE", "SCHEMA", "ROLE", "RESTRICT", "ASC", "DESC", // Not actually standard but widely used "LIMIT", // Extended keywords // "A", "ABSOLUTE", "ACTION", // "ADA", "ADD", // "ADMIN", "AFTER", "ALWAYS", // "ASC", "ASSERTION", "ASSIGNMENT", "ATTRIBUTE", "ATTRIBUTES", "BEFORE", // "BERNOULLI", // "BREADTH", // "C", "CASCADE", "CATALOG", // "CATALOG_NAME", "CHAIN", // "CHARACTER_SET_CATALOG", // "CHARACTER_SET_NAME", // "CHARACTER_SET_SCHEMA", "CHARACTERISTICS", "CHARACTERS", // "CLASS_ORIGIN", // "COBOL", "COLLATION", // "COLLATION_CATALOG", // "COLLATION_NAME", // "COLLATION_SCHEMA", // "COLUMN_NAME", // "COMMAND_FUNCTION", // "COMMAND_FUNCTION_CODE", "COMMITTED", // "CONDITION_NUMBER", "CONNECTION", // "CONNECTION_NAME", // "CONSTRAINT_CATALOG", // "CONSTRAINT_NAME", // "CONSTRAINT_SCHEMA", "CONSTRAINTS", "CONSTRUCTOR", "CONTAINS", "CONTINUE", "CURSOR_NAME", "DATA", // "DATETIME_INTERVAL_CODE", // "DATETIME_INTERVAL_PRECISION", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINED", "DEFINER", "DEGREE", "DEPTH", "DERIVED", // "DESC", "DESCRIPTOR", "DIAGNOSTICS", "DISPATCH", "DOMAIN", // "DYNAMIC_FUNCTION", // "DYNAMIC_FUNCTION_CODE", "EQUALS", "EXCEPTION", "EXCLUDE", "EXCLUDING", "FINAL", "FIRST", // "FORTRAN", "FOUND", // "G", "GENERAL", "GENERATED", "GO", "GOTO", "GRANTED", "HIERARCHY", "IMMEDIATE", "IMPLEMENTATION", "INCLUDING", "INCREMENT", "INITIALLY", "INPUT", "INSTANCE", "INSTANTIABLE", "INVOKER", "ISOLATION", // "K", // "KEY_MEMBER", "KEY_TYPE", "LAST", "LOCATOR", // "M", "MAP", "MATCHED", "MAXVALUE", // "MESSAGE_LENGTH", // "MESSAGE_OCTET_LENGTH", // "MESSAGE_TEXT", "MINVALUE", "MORE", "MUMPS", // "NAME", // "NAMES", "NESTING", "NEXT", "NORMALIZED", // "NULLABLE", // "NULLS", // "NUMBER", "OBJECT", "OCTETS", "OPTION", "OPTIONS", "ORDERING", "ORDINALITY", "OTHERS", "OUTPUT", "OVERRIDING", "PAD", // "PARAMETER_MODE", // "PARAMETER_NAME", // "PARAMETER_ORDINAL_POSITION", // "PARAMETER_SPECIFIC_CATALOG", // "PARAMETER_SPECIFIC_NAME", // "PARAMETER_SPECIFIC_SCHEMA", "PARTIAL", // "PASCAL", "PATH", "PLACING", // "PLI", "PRESERVE", "PRIOR", "PRIVILEGES", // "PUBLIC", "READ", "RELATIVE", "REPEATABLE", "RESTART", // "RETURNED_CARDINALITY", // "RETURNED_LENGTH", // "RETURNED_OCTET_LENGTH", // "RETURNED_SQLSTATE", "ROUTINE", // "ROUTINE_CATALOG", // "ROUTINE_NAME", // "ROUTINE_SCHEMA", // "ROW_COUNT", "SCALE", // "SCHEMA_NAME", // "SCOPE_CATALOG", // "SCOPE_NAME", // "SCOPE_SCHEMA", "SECTION", "SECURITY", "SELF", "SERIALIZABLE", // "SERVER_NAME", "SESSION", "SETS", // "SIMPLE", "SIZE", "SOURCE", "SPACE", // "SPECIFIC_NAME", // "STATE", // too common for column names "STATEMENT", "STRUCTURE", "STYLE", // "SUBCLASS_ORIGIN", // "TABLE_NAME", "TEMPORARY", "TIES", // "TOP_LEVEL_COUNT", "TRANSACTION", // "TRANSACTION_ACTIVE", // "TRANSACTIONS_COMMITTED", // "TRANSACTIONS_ROLLED_BACK", "TRANSFORM", "TRANSFORMS", // "TRIGGER_CATALOG", // "TRIGGER_NAME", // "TRIGGER_SCHEMA", "TYPE", "UNCOMMITTED", "UNDER", "UNNAMED", "USAGE", // "USER_DEFINED_TYPE_CATALOG", // "USER_DEFINED_TYPE_CODE", // "USER_DEFINED_TYPE_NAME", // "USER_DEFINED_TYPE_SCHEMA", "WORK", "WRITE", "ZONE" }; public static final String[] SQL2003_FUNCTIONS = { "ABS", "AVG", "CHAR_LENGTH", "CHARACTER_LENGTH", "COUNT", "CURRENT_DATE", "CURRENT_DEFAULT_TRANSFORM_GROUP", "CURRENT_PATH", "CURRENT_ROLE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_TRANSFORM_GROUP_FOR_TYPE", "CURRENT_USER", "FLOOR", "LEADING", "LOWER", "MAX", "MIN", "OCTET_LENGTH", "PERCENT_RANK", "PERCENTILE_CONT", "PERCENTILE_DISC", "POWER", "REGR_AVGX", "REGR_AVGY", "REGR_COUNT", "REGR_INTERCEPT", "REGR_R2", "REGR_SLOPE", "REGR_SXX", "REGR_SXY", "REGR_SYY", "SQRT", "SUBSTRING", "SUM", "TRIM", "UESCAPE", "UPPER", }; public static final String[] SQL_EX_KEYWORDS = { "CHANGE", "MODIFY", }; public static final String[] DEFAULT_TYPES = { "BOOLEAN", "CHAR", "VARCHAR", "BINARY", "VARBINARY", "INT", "INTEGER", "SMALLINT", "BIGINT", "NUMBER", "NUMERIC", "DECIMAL", "FLOAT", "DOUBLE", "DATE", "TIME", "TIMESTAMP", "CLOB", "BLOB", }; public static final String BLOCK_BEGIN = "BEGIN"; public static final String BLOCK_END = "END"; /** * Pseudo variables - these are not dynamic parameters */ public static final String[] PSEUDO_VARIABLES = { ":NEW", ":OLD", }; public static final char STRUCT_SEPARATOR = '.'; //$NON-NLS-1$ public static final String DEFAULT_STATEMENT_DELIMITER = ";"; public static final String CONFIG_COLOR_KEYWORD = "org.jkiss.dbeaver.sql.editor.color.keyword.foreground"; public static final String CONFIG_COLOR_DATATYPE = "org.jkiss.dbeaver.sql.editor.color.datatype.foreground"; public static final String CONFIG_COLOR_STRING = "org.jkiss.dbeaver.sql.editor.color.string.foreground"; public static final String CONFIG_COLOR_NUMBER = "org.jkiss.dbeaver.sql.editor.color.number.foreground"; public static final String CONFIG_COLOR_COMMENT = "org.jkiss.dbeaver.sql.editor.color.comment.foreground"; public static final String CONFIG_COLOR_DELIMITER = "org.jkiss.dbeaver.sql.editor.color.delimiter.foreground"; public static final String CONFIG_COLOR_PARAMETER = "org.jkiss.dbeaver.sql.editor.color.parameter.foreground"; public static final String CONFIG_COLOR_COMMAND = "org.jkiss.dbeaver.sql.editor.color.command.foreground"; public static final String CONFIG_COLOR_TEXT = "org.jkiss.dbeaver.sql.editor.color.text.foreground"; public static final String CONFIG_COLOR_BACKGROUND = "org.jkiss.dbeaver.sql.editor.color.text.background"; public static final String CONFIG_COLOR_DISABLED = "org.jkiss.dbeaver.sql.editor.color.disabled.background"; public static final String CONFIG_FONT_OUTPUT = "org.jkiss.dbeaver.sql.editor.font.output"; public static final char DEFAULT_PARAMETER_MARK = '?'; public static final char DEFAULT_PARAMETER_PREFIX = ':'; public static final String DEFAULT_IDENTIFIER_QUOTE = "\""; public static final String KEYWORD_PATTERN_CHARS = "\\*\\"; public static final String DEFAULT_CONTROL_COMMAND_PREFIX = "@"; }