提交 3d3b60aa 编写于 作者: S Serge Rider

#93 SQL keywords update

上级 0a27e689
......@@ -127,7 +127,8 @@ public final class DBUtils {
}
// Check for keyword conflict
boolean hasBadChars = sqlDialect.getKeywordType(str) == DBPKeywordType.KEYWORD;
final DBPKeywordType keywordType = sqlDialect.getKeywordType(str);
boolean hasBadChars = (keywordType == DBPKeywordType.KEYWORD || keywordType == DBPKeywordType.TYPE);
if (!hasBadChars) {
hasBadChars = Character.isDigit(str.charAt(0));
......
......@@ -294,7 +294,8 @@ public class BasicSQLDialect implements SQLDialect {
protected void loadStandardKeywords()
{
// Add default set of keywords
Collections.addAll(reservedWords, SQLConstants.SQL2003_KEYWORDS);
Collections.addAll(reservedWords, SQLConstants.SQL2003_RESERVED_KEYWORDS);
Collections.addAll(reservedWords, SQLConstants.SQL2003_NON_RESERVED_KEYWORDS);
Collections.addAll(reservedWords, SQLConstants.SQL_EX_KEYWORDS);
Collections.addAll(tableQueryWords, SQLConstants.TABLE_KEYWORDS);
Collections.addAll(columnQueryWords, SQLConstants.COLUMN_KEYWORDS);
......
......@@ -64,245 +64,8 @@ public class SQLConstants {
"BY",
"HAVING"
};
public static final String[] SQL92_KEYWORDS = {
"ABSOLUTE",
"ACTION",
"ADA",
"ADD",
"ALL",
"ALLOCATE",
"ALTER",
"AND",
"ANY",
"ARE",
"AS",
"ASC",
"ASSERTION",
"AT",
"AUTHORIZATION",
"AVG",
"BEGIN",
"BETWEEN",
"BIT",
"BIT_LENGTH",
"BOTH",
"BY",
"CASCADE",
"CASCADED",
"CASE",
"CAST",
"CATALOG",
"CHAR",
"CHAR_LENGTH",
"CHARACTER",
"CHARACTER_LENGTH",
"CHECK",
"CLOSE",
"COALESCE",
"COLLATE",
"COLLATION",
"COLUMN",
"COMMIT",
"CONNECT",
"CONNECTION",
"CONSTRAINT",
"CONSTRAINTS",
"CONTINUE",
"CONVERT",
"CORRESPONDING",
"COUNT",
"CREATE",
"CROSS",
"CURRENT",
"CURRENT_DATE",
"CURRENT_TIME",
"CURRENT_TIMESTAMP",
"CURRENT_USER",
"CURSOR",
"DATE",
"DAY",
"DEALLOCATE",
"DEC",
"DECIMAL",
"DECLARE",
"DEFAULT",
"DEFERRABLE",
"DEFERRED",
"DELETE",
"DESC",
"DESCRIBE",
"DESCRIPTOR",
"DIAGNOSTICS",
"DISCONNECT",
"DISTINCT",
"DOMAIN",
"DOUBLE",
"DROP",
"ELSE",
"END",
"END-EXEC",
"ESCAPE",
"EXCEPT",
"EXCEPTION",
"EXEC",
"EXECUTE",
"EXISTS",
"EXTERNAL",
"EXTRACT",
"FALSE",
"FETCH",
"FIRST",
"FLOAT",
"FOR",
"FOREIGN",
"FORTRAN",
"FOUND",
"FROM",
"FULL",
"GET",
"GLOBAL",
// "GO",
"GOTO",
"GRANT",
"GROUP",
"HAVING",
"HOUR",
"IDENTITY",
"IMMEDIATE",
"IN",
"INCLUDE",
"INDEX",
"INDICATOR",
"INITIALLY",
"INNER",
"INPUT",
"INSENSITIVE",
"INSERT",
"INT",
"INTEGER",
"INTERSECT",
"INTERVAL",
"INTO",
"IS",
"ISOLATION",
"JOIN",
"KEY",
"LANGUAGE",
"LAST",
"LEADING",
"LEFT",
"LEVEL",
"LIKE",
"LOCAL",
"LOWER",
"MATCH",
"MAX",
"MIN",
"MINUTE",
"MODULE",
"MONTH",
"NAMES",
"NATIONAL",
"NATURAL",
"NCHAR",
"NEXT",
"NO",
"NONE",
"NOT",
"NULL",
"NULLIF",
"NUMERIC",
"OCTET_LENGTH",
"OF",
"ON",
"ONLY",
"OPEN",
"OPTION",
"OR",
"ORDER",
"OUTER",
"OUTPUT",
"OVERLAPS",
"PAD",
"PARTIAL",
"PASCAL",
"POSITION",
"PRECISION",
"PREPARE",
"PRESERVE",
"PRIMARY",
"PRIOR",
"PRIVILEGES",
"PROCEDURE",
// "PUBLIC",
"READ",
"REAL",
"REFERENCES",
"RELATIVE",
"RESTRICT",
"REVOKE",
"RIGHT",
"ROLLBACK",
"ROWS",
"SCHEMA",
"SCROLL",
"SECOND",
"SECTION",
"SELECT",
"SESSION",
"SESSION_USER",
"SET",
"SIZE",
"SMALLINT",
"SOME",
"SPACE",
"SQL",
"SQLCA",
"SQLCODE",
"SQLERROR",
"SQLSTATE",
"SQLWARNING",
"SUBSTRING",
"SUM",
"SYSTEM_USER",
"TABLE",
"TEMPORARY",
"THEN",
"TIME",
"TIMESTAMP",
"TIMEZONE_HOUR",
"TIMEZONE_MINUTE",
"TO",
"TRAILING",
"TRANSACTION",
"TRANSLATE",
"TRANSLATION",
"TRIM",
"TRUE",
"UNION",
"UNIQUE",
"UNKNOWN",
"UPDATE",
"UPPER",
"USAGE",
"USER",
"USING",
"VALUE",
"VALUES",
"VARCHAR",
"VARYING",
"VIEW",
"WHEN",
"WHENEVER",
"WHERE",
"WITH",
"WORK",
"WRITE",
"YEAR",
"ZONE",
};
public static final String[] SQL2003_KEYWORDS = {
public static final String[] SQL2003_RESERVED_KEYWORDS = {
"ABS",
"ALL",
"ALLOCATE",
......@@ -593,6 +356,218 @@ public class SQLConstants {
"YEAR",
};
public static final String[] SQL2003_NON_RESERVED_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",
"FOLLOWING",
"FORTRAN",
"FOUND",
"G",
"GENERAL",
"GENERATED",
"GO",
"GOTO",
"GRANTED",
"HIERARCHY",
"IMMEDIATE",
"IMPLEMENTATION",
"INCLUDING",
"INCREMENT",
"INITIALLY",
"INPUT",
"INSTANCE",
"INSTANTIABLE",
"INVOKER",
"ISOLATION",
"K",
"KEY",
"KEY_MEMBER",
"KEY_TYPE",
"LAST",
"LENGTH",
"LEVEL",
"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",
"PRECEDING",
"PRESERVE",
"PRIOR",
"PRIVILEGES",
"PUBLIC",
"READ",
"RELATIVE",
"REPEATABLE",
"RESTART",
"RESTRICT",
"RETURNED_CARDINALITY",
"RETURNED_LENGTH",
"RETURNED_OCTET_LENGTH",
"RETURNED_SQLSTATE",
"ROLE",
"ROUTINE",
"ROUTINE_CATALOG",
"ROUTINE_NAME",
"ROUTINE_SCHEMA",
"ROW_COUNT",
"SCALE",
"SCHEMA",
"SCHEMA_NAME",
"SCOPE_CATALOG",
"SCOPE_NAME",
"SCOPE_SCHEMA",
"SECTION",
"SECURITY",
"SELF",
"SEQUENCE",
"SERIALIZABLE",
"SERVER_NAME",
"SESSION",
"SETS",
"SIMPLE",
"SIZE",
"SOURCE",
"SPACE",
"SPECIFIC_NAME",
"STATE",
"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",
"UNBOUNDED",
"UNCOMMITTED",
"UNDER",
"UNNAMED",
"USAGE",
"USER_DEFINED_TYPE_CATALOG",
"USER_DEFINED_TYPE_CODE",
"USER_DEFINED_TYPE_NAME",
"USER_DEFINED_TYPE_SCHEMA",
"VIEW",
"WORK",
"WRITE",
"ZONE"
};
public static final String[] SQL_EX_KEYWORDS = {
"CHANGE",
"MODIFY",
......@@ -602,7 +577,13 @@ public class SQLConstants {
"VARCHAR",
"VARBINARY",
"INTEGER",
"SMALLINT",
"BIGINT",
"NUMBER",
"NUMERIC",
"DECIMAL",
"FLOAT",
"DOUBLE",
"DATE",
"TIME",
"TIMESTAMP",
......@@ -620,6 +601,7 @@ public class SQLConstants {
":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";
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册