📄 sqltokenizer.java
字号:
default: throw new Error("DataType:"+type);
}
}
static SearchNode searchTree;
static Hashtable keywords = new Hashtable(337);
static final int VALUE = 0;
static final int STRING = 3;
static final int IDENTIFIER = 4;
static final int NUMBERVALUE= 5;
static{
// for Error messages
keywords.put( new Integer(VALUE), "<expression>" );
keywords.put( new Integer(IDENTIFIER), "<identifier>" );
keywords.put( new Integer(NUMBERVALUE), "<number>" );
}
static final int PERCENT = '%'; // 37
static final int BIT_AND = '&'; // 38
static final int PARENTHESIS_L = '('; // 40
static final int PARENTHESIS_R = ')'; // 41
static final int ASTERISK = '*'; // 42
static final int PLUS = '+'; // 43
static final int COMMA = ','; // 44
static final int MINUS = '-'; // 45
static final int POINT = '.'; // 46
static final int SLACH = '/'; // 47
static final int LESSER = '<'; // 60
static final int EQUALS = '='; // 61
static final int GREATER = '>'; // 62
static final int QUESTION = '?'; // 63
static final int BIT_XOR = '^'; // 94
static final int ESCAPE_L = '{'; // 123
static final int BIT_OR = '|'; // 124
static final int ESCAPE_R = '}'; // 125
static final int TILDE = '~'; // 126
static final int LESSER_EQU = 100 + LESSER; // <=
static final int UNEQUALS = 100 + EQUALS; // <>
static final int GREATER_EQU = 100 + GREATER; // >=
static{
// f黵 Fehlermeldungen
keywords.put( new Integer(LESSER_EQU), "<=" );
keywords.put( new Integer(UNEQUALS), "<>" );
keywords.put( new Integer(GREATER_EQU), ">=" );
}
static final int SELECT = 200;
static final int DELETE = 201;
//static final int INSERT = 202;
static final int INTO = 203;
static final int UPDATE = 204;
static final int CREATE = 205;
static final int DROP = 206;
static final int ALTER = 207;
static final int SET = 208;
static final int EXECUTE = 209;
static final int FROM = 210;
static final int WHERE = 211;
static final int GROUP = 212;
static final int BY = 213;
static final int HAVING = 214;
static final int ORDER = 215;
static final int ASC = 216;
static final int DESC = 217;
static final int VALUES = 218;
static final int AS = 219;
static final int DEFAULT = 220;
static final int IDENTITY = 221;
static final int INNER = 222;
static final int JOIN = 223;
static final int ON = 224;
static final int OUTER = 225;
static final int FULL = 226;
static final int CROSS = 227;
static final int USE = 228;
static final int TOP = 229;
static final int ADD = 230;
static final int DATABASE = 235;
static final int TABLE = 236;
static final int VIEW = 237;
static final int INDEX = 238;
static final int PROCEDURE = 239;
static final int TRANSACTION= 240;
static final int ISOLATION = 241;
static final int LEVEL = 242;
static final int READ = 243;
static final int COMMITTED = 244;
static final int UNCOMMITTED= 245;
static final int REPEATABLE = 246;
static final int SERIALIZABLE= 247;
static final int CONSTRAINT = 250;
static final int PRIMARY = 251;
static final int FOREIGN = 252;
static final int KEY = 253;
static final int UNIQUE = 254;
static final int CLUSTERED = 255;
static final int NONCLUSTERED=256;
static final int REFERENCES = 257;
static final int UNION = 260;
static final int ALL = 261;
static final int DISTINCT = 262;
static final int CASE = 263;
static final int WHEN = 264;
static final int THEN = 265;
static final int ELSE = 266;
static final int END = 267;
static final int SWITCH = 268;
static final String DESC_STR = "DESC";
static{
addKeyWord( "SELECT", SELECT);
addKeyWord( "DELETE", DELETE);
// addKeyWord( "INSERT", INSERT);
addKeyWord( "INTO", INTO);
addKeyWord( "UPDATE", UPDATE);
addKeyWord( "CREATE", CREATE);
addKeyWord( "DROP", DROP);
addKeyWord( "ALTER", ALTER);
addKeyWord( "SET", SET);
addKeyWord( "EXEC", EXECUTE); // alias for EXECUTE; alias must set first so that key is in the hashtable and not the alias
addKeyWord( "EXECUTE", EXECUTE);
addKeyWord( "FROM", FROM);
addKeyWord( "WHERE", WHERE);
addKeyWord( "GROUP", GROUP);
addKeyWord( "BY", BY);
addKeyWord( "HAVING", HAVING);
addKeyWord( "ORDER", ORDER);
addKeyWord( "ASC", ASC);
addKeyWord( DESC_STR, DESC);
addKeyWord( "VALUES", VALUES);
addKeyWord( "AS", AS);
addKeyWord( "DEFAULT", DEFAULT);
addKeyWord( "IDENTITY", IDENTITY);
addKeyWord( "INNER", INNER);
addKeyWord( "JOIN", JOIN);
addKeyWord( "ON", ON);
addKeyWord( "OUTER", OUTER);
addKeyWord( "FULL", FULL);
addKeyWord( "CROSS", CROSS);
addKeyWord( "USE", USE);
addKeyWord( "TOP", TOP);
addKeyWord( "ADD", ADD);
addKeyWord( "DATABASE", DATABASE);
addKeyWord( "TABLE", TABLE);
addKeyWord( "VIEW", VIEW);
addKeyWord( "INDEX", INDEX);
addKeyWord( "PROCEDURE",PROCEDURE);
addKeyWord( "TRANSACTION", TRANSACTION);
addKeyWord( "ISOLATION", ISOLATION);
addKeyWord( "LEVEL", LEVEL);
addKeyWord( "READ", READ);
addKeyWord( "COMMITTED", COMMITTED);
addKeyWord( "UNCOMMITTED", UNCOMMITTED);
addKeyWord( "REPEATABLE", REPEATABLE);
addKeyWord( "SERIALIZABLE", SERIALIZABLE);
addKeyWord( "CONSTRAINT", CONSTRAINT);
addKeyWord( "PRIMARY", PRIMARY);
addKeyWord( "FOREIGN", FOREIGN);
addKeyWord( "KEY", KEY);
addKeyWord( "UNIQUE", UNIQUE);
addKeyWord( "CLUSTERED", CLUSTERED);
addKeyWord( "NONCLUSTERED", NONCLUSTERED);
addKeyWord( "REFERENCES", REFERENCES);
addKeyWord( "UNION", UNION);
addKeyWord( "ALL", ALL);
addKeyWord( "DISTINCT", DISTINCT);
addKeyWord( "CASE", CASE);
addKeyWord( "WHEN", WHEN);
addKeyWord( "THEN", THEN);
addKeyWord( "ELSE", ELSE);
addKeyWord( "END", END);
addKeyWord( "SWITCH", SWITCH);
}
//data types
static final int BIT = 300;
static final int BOOLEAN = 301;
static final int BINARY = 310;
static final int VARBINARY = 311;
static final int RAW = 312;
static final int LONGVARBINARY = 313;
static final int BLOB = 316;
static final int TINYINT = 321;
static final int SMALLINT = 322;
static final int INT = 323;
static final int COUNTER = 324; //alias for INT IDENTITY, is used from MS ACCESS
static final int BIGINT = 325;
static final int SMALLMONEY = 330;
static final int MONEY = 331;
static final int DECIMAL = 332;
static final int NUMERIC = 333;
static final int REAL = 336;
static final int FLOAT = 337;
static final int DOUBLE = 338;
static final int DATE = 340;
static final int TIME = 341;
static final int TIMESTAMP = 342;
static final int SMALLDATETIME = 343;
static final int CHAR = 350;
static final int NCHAR = 352;
static final int VARCHAR = 353;
static final int NVARCHAR = 355;
static final int SYSNAME = 357;
static final int LONGVARCHAR = 359;
static final int LONGNVARCHAR = 360;
static final int LONG = 361;
static final int CLOB = 362;
static final int NCLOB = 363;
static final int UNIQUEIDENTIFIER= 370;
static final int JAVA_OBJECT = 371;
static{
addKeyWord( "BIT", BIT);
addKeyWord( "BOOLEAN", BOOLEAN);
addKeyWord( "BINARY", BINARY);
addKeyWord( "VARBINARY", VARBINARY);
addKeyWord( "RAW", RAW); // alias for Oracle RAW and LONG RAW
addKeyWord( "IMAGE", LONGVARBINARY); // alias for MS SQL Server data type IMAGE
addKeyWord( "LONGVARBINARY",LONGVARBINARY);
addKeyWord( "BLOB", BLOB);
addKeyWord( "BYTE", TINYINT);
addKeyWord( "TINYINT", TINYINT);
addKeyWord( "SMALLINT", SMALLINT);
addKeyWord( "INTEGER", INT);
addKeyWord( "INT", INT);
addKeyWord( "SERIAL", COUNTER); //alias for MySQL and PostgreSQL
addKeyWord( "COUNTER", COUNTER);
addKeyWord( "BIGINT", BIGINT);
addKeyWord( "SMALLMONEY", SMALLMONEY);
addKeyWord( "MONEY", MONEY);
addKeyWord( "NUMBER", DECIMAL);
addKeyWord( "VARNUM", DECIMAL);
addKeyWord( "DECIMAL", DECIMAL);
addKeyWord( "NUMERIC", NUMERIC);
addKeyWord( "REAL", REAL);
addKeyWord( "FLOAT", FLOAT);
addKeyWord( "DOUBLE", DOUBLE);
addKeyWord( "DATE", DATE);
addKeyWord( "TIME", TIME);
addKeyWord( "DATETIME", TIMESTAMP); // alias for MS SQL Server data type DATETIME
addKeyWord( "TIMESTAMP", TIMESTAMP);
addKeyWord( "SMALLDATETIME",SMALLDATETIME);
addKeyWord( "CHARACTER", CHAR); // alias for CHAR
addKeyWord( "CHAR", CHAR);
addKeyWord( "NCHAR", NCHAR);
addKeyWord( "VARCHAR2", VARCHAR); // alias for Oracle VARCHAR2
addKeyWord( "VARCHAR", VARCHAR);
addKeyWord( "NVARCHAR2", NVARCHAR); // alias for Oracle VARCHAR2
addKeyWord( "NVARCHAR", NVARCHAR);
addKeyWord( "SYSNAME", SYSNAME);
addKeyWord( "TEXT", LONGVARCHAR);
addKeyWord( "LONGVARCHAR", LONGVARCHAR);
addKeyWord( "NTEXT", LONGNVARCHAR);
addKeyWord( "LONGNVARCHAR", LONGNVARCHAR);
addKeyWord( "LONG", LONG); // alias for Oracle LONG and LONG RAW
addKeyWord( "CLOB", CLOB);
addKeyWord( "NCLOB", NCLOB);
addKeyWord( "UNIQUEIDENTIFIER",UNIQUEIDENTIFIER);
addKeyWord( "SQL_VARIANT", JAVA_OBJECT); // alias for MS SQL Server data type SQL_VARIANT
addKeyWord( "JAVA_OBJECT", JAVA_OBJECT);
}
//escape commands
static final int D = 400;
static final int T = 401;
static final int TS = 402;
static final int FN = 403;
static final int CALL = 404;
static final int OJ = 405;
static{
addKeyWord( "D", D);
addKeyWord( "T", T);
addKeyWord( "TS", TS);
addKeyWord( "FN", FN);
addKeyWord( "CALL", CALL);
addKeyWord( "OJ", OJ);
}
static final int OR = 500;
static final int AND = 501;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -