devdaily home | apple | java | perl | unix | directory | blog

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

/* Copyright (c) 2001-2004, The HSQL Development Group
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice, this
 * list of conditions and the following disclaimer.
 *
 * Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation
 * and/or other materials provided with the distribution.
 *
 * Neither the name of the HSQL Development Group nor the names of its
 * contributors may be used to endorse or promote products derived from this
 * software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG, 
 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */


package org.hsqldb;

import org.hsqldb.lib.IntValueHashMap;
import org.hsqldb.lib.HashSet;

/**
 * Defines and enumerates reserved and non-reserved SQL
 * keywords. 

* * @author Nitin Chauhan * @author fredt@users * @since HSQLDB 1.7.2 * @version 1.7.2 */ public class Token { private static IntValueHashMap commandSet; // static final String T_ASTERISK = "*"; static final String T_COMMA = ","; static final String T_CLOSEBRACKET = ")"; static final String T_EQUALS = "="; static final String T_OPENBRACKET = "("; static final String T_SEMICOLON = ";"; // SQL 200n reserved tokens static final String T_ADD = "ADD"; //reserved static final String T_ALL = "ALL"; //reserved static final String T_ALLOCATE = "ALLOCATE"; //reserved static final String T_ALTER = "ALTER"; //reserved static final String T_AND = "AND"; //reserved static final String T_ANY = "ANY"; //reserved static final String T_ARE = "ARE"; //reserved static final String T_ARRAY = "ARRAY"; //reserved static final String T_AS = "AS"; //reserved static final String T_ASENSITIVE = "ASENSITIVE"; //reserved static final String T_ASYMMETRIC = "ASYMMETRIC"; //reserved static final String T_AT = "AT"; //reserved static final String T_ATOMIC = "ATOMIC"; //reserved static final String T_AUTHORIZATION = "AUTHORIZATION"; //reserved static final String T_BEGIN = "BEGIN"; //reserved static final String T_BETWEEN = "BETWEEN"; static final String T_BIGINT = "BIGINT"; //reserved public static final String T_BINARY = "BINARY"; //reserved static final String T_BLOB = "BLOB"; //reserved static final String T_BOOLEAN = "BOOLEAN"; //reserved static final String T_BOTH = "BOTH"; static final String T_BY = "BY"; //reserved static final String T_CALL = "CALL"; //reserved static final String T_CALLED = "CALLED"; //reserved static final String T_CASCADED = "CASCADED"; //reserved static final String T_CASE = "CASE"; //reserved static final String T_CAST = "CAST"; //reserved static final String T_CHAR = "CHAR"; //reserved static final String T_CHARACTER = "CHARACTER"; //reserved static final String T_CHECK = "CHECK"; //reserved static final String T_CLOB = "CLOB"; //reserved static final String T_CLOSE = "CLOSE"; //reserved static final String T_COLLATE = "COLLATE"; //reserved static final String T_COLUMN = "COLUMN"; //reserved static final String T_COMMIT = "COMMIT"; //reserved static final String T_CONDITION = "CONDIITON"; //reserved static final String T_CONNECT = "CONNECT"; //reserved static final String T_CONSTRAINT = "CONSTRAINT"; //reserved static final String T_CONTINUE = "CONTINUE"; //reserved static final String T_CORRESPONDING = "CORRESPONDING"; //reserved static final String T_CREATE = "CREATE"; //reserved static final String T_CROSS = "CONCAT"; //reserved static final String T_CUBE = "CUBE"; //reserved static final String T_CURRENT = "CURRENT"; //reserved static final String T_CURRENT_DATE = "CURRENT_DATE"; //reserved static final String T_CURRENT_DEFAULT_TRANSFORM_GROUP = "CURRENT_DEFAULT_TRANSFORM_GROUP"; //reserved static final String T_CURRENT_PATH = "CURRENT_PATH"; //reserved static final String T_CURRENT_ROLE = "CURRENT_ROLE"; //reserved static final String T_CURRENT_TIME = "CURRENT_TIME"; //reserved static final String T_CURRENT_TIMESTAMP = "CURRENT_TIMESTAMP"; //reserved static final String T_CURRENT_TRANSFORM_TROUP_FOR_TYPE = "CURRENT_TRANSFORM_GROUP_FOR_TYPE"; //reserved static final String T_CURRENT_USER = "CURRENT_USER"; //reserved static final String T_CURSOR = "CURSOR"; //reserved static final String T_CYCLE = "CYCLE"; //reserved static final String T_DATE = "DATE"; //reserved static final String T_DAY = "DAY"; //reserved static final String T_DEALLOCATE = "DEALLOCATE"; //reserved static final String T_DEC = "DEC"; //reserved static final String T_DECIMAL = "DECIMAL"; //reserved static final String T_DECLARE = "DECLARE"; //reserved static final String T_DEFAULT = "DEFAULT"; //reserved static final String T_DELETE = "DELETE"; //reserved static final String T_DEREF = "DEREF"; //reserved static final String T_DESCRIBE = "DESCRIBE"; //reserved static final String T_DETERMINISTIC = "DETERMINISTIC"; //reserved static final String T_DISCONNECT = "DISCONNECT"; //reserved static final String T_DISTINCT = "DISTINCT"; //reserved static final String T_DO = "DO"; //reserved static final String T_DOUBLE = "DOUBLE"; //reserved static final String T_DROP = "DROP"; //reserved static final String T_DYNAMIC = "DYNAMIC"; //reserved static final String T_EACH = "EACH"; //reserved static final String T_ELEMENT = "ELEMENT"; //reserved static final String T_ELSE = "ELSE"; //reserved static final String T_ELSEIF = "ELSEIF"; //reserved static final String T_END = "END"; //reserved static final String T_ESCAPE = "ESCAPE"; //reserved static final String T_EXCEPT = "EXCEPT"; //reserved static final String T_EXEC = "EXEC"; //reserved static final String T_EXECUTE = "EXECUTE"; //reserved static final String T_EXISTS = "EXISTS"; //reserved static final String T_EXIT = "EXIT"; //reserved static final String T_EXTERNAL = "EXTERNAL"; //reserved static final String T_FALSE = "FALSE"; //reserved static final String T_FETCH = "FETCH"; //reserved static final String T_FILTER = "FILTER"; //reserved static final String T_FLOAT = "FLOAT"; //reserved static final String T_FOR = "FOR"; //reserved static final String T_FOREIGN = "FOREIGN"; //reserved static final String T_FREE = "FREE"; //reserved static final String T_FROM = "FROM"; //reserved static final String T_FULL = "FULL"; //reserved static final String T_FUNCTION = "FUNCTION"; //reserved static final String T_GET = "GET"; //reserved static final String T_GLOBAL = "GLOBAL"; //reserved static final String T_GRANT = "GRANT"; //reserved static final String T_GROUP = "GROUP"; //reserved static final String T_GROUPING = "GROUPING"; //reserved static final String T_HANDLER = "HANDLER"; //reserved static final String T_HAVING = "HAVING"; //reserved static final String T_HOLD = "HOLD"; //reserved static final String T_HOUR = "HOUR"; //reserved static final String T_IDENTITY = "IDENTITY"; //reserved static final String T_IF = "IF"; //reserved static final String T_IMMEDIATE = "IMMEDIATE"; //reserved static final String T_IN = "IN"; //reserved static final String T_INDICATOR = "INDICATOR"; //reserved static final String T_INNER = "INNER"; //reserved static final String T_INOUT = "INOUT"; //reserved static final String T_INPUT = "INPUT"; //reserved static final String T_INSENSITIVE = "INSENSITIVE"; //reserved static final String T_INSERT = "INSERT"; //reserved static final String T_INT = "INT"; //reserved static final String T_INTEGER = "INTEGER"; //reserved static final String T_INTERSECT = "INTERSECT"; //reserved static final String T_INTERVAL = "INTERVAL"; //reserved static final String T_INTO = "INTO"; //reserved static final String T_IS = "IS"; //reserved static final String T_ITERATE = "ITERATE"; //reserved static final String T_JOIN = "JOIN"; //reserved static final String T_LANGUAGE = "LANGUAGE"; //reserved static final String T_LARGE = "LARGE"; //reserved static final String T_LATERAL = "LATERAL"; //reserved static final String T_LEADING = "LEADING"; //reserved static final String T_LEAVE = "LEAVE"; //reserved static final String T_LEFT = "LEFT"; //reserved static final String T_LIKE = "LIKE"; //reserved static final String T_LOCAL = "LOCAL"; //reserved static final String T_LOCALTIME = "LOCALTIME"; //reserved static final String T_LOCALTIMESTAMP = "LOCALTIMESTAMP"; //reserved static final String T_LOOP = "LOOP"; //reserved static final String T_MATCH = "MATCH"; //reserved static final String T_MEMBER = "MEMBER"; //reserved static final String T_METHOD = "METHOD"; //reserved static final String T_MINUTE = "MINUTE"; //reserved static final String T_MODIFIES = "MODIFIES"; //reserved static final String T_MODULE = "MODULE"; //reserved static final String T_MONTH = "MONTH"; //reserved static final String T_MULTISET = "MULTISET"; //reserved static final String T_NATIONAL = "NATIONAL"; //reserved static final String T_NATURAL = "NAUTRAL"; //reserved static final String T_NCHAR = "NCHAR"; //reserved static final String T_NCLOB = "NCLOB"; //reserved static final String T_NEW = "NEW"; //reserved static final String T_NEXT = "NEXT"; //reserved static final String T_NO = "NO"; //reserved static final String T_NONE = "NONE"; //reserved static final String T_NOT = "NOT"; //reserved static final String T_NULL = "NULL"; //reserved static final String T_NUMERIC = "NUMERIC"; //reserved static final String T_OF = "OF"; //reserved static final String T_OLD = "OLD"; //reserved static final String T_ON = "ON"; //reserved static final String T_ONLY = "ONLY"; //reserved static final String T_OPEN = "OPEN"; //reserved static final String T_OR = "OR"; //reserved static final String T_ORDER = "ORDER"; //reserved static final String T_OUT = "OUT"; //reserved static final String T_OUTER = "OUTER"; //reserved static final String T_OUTPUT = "OUTPUT"; //reserved static final String T_OVER = "OVER"; //reserved static final String T_OVERLAPS = "OVERLAPS"; //reserved static final String T_PARAMETER = "PARAMETER"; //reserved static final String T_PARTITION = "PARTITION"; //reserved static final String T_PRECISION = "PRECISION"; //reserved static final String T_PREPARE = "PREPARE"; //reserved static final String T_PRIMARY = "PRIMARY"; //reserved static final String T_PROCEDURE = "PROCEDURE"; //reserved static final String T_RANGE = "RANGE"; //reserved static final String T_READS = "READS"; //reserved static final String T_REAL = "REAL"; //reserved static final String T_RECURSIVE = "RECURSIVE"; //reserved static final String T_REF = "REF"; //reserved static final String T_REFERENCES = "REFERENCES"; //reserved static final String T_REFERENCING = "REFERENCING"; //reserved static final String T_RELEASE = "RELEASE"; //reserved static final String T_REPEAT = "REPEAT"; //reserved static final String T_RESIGNAL = "RESIGNAL"; //reserved static final String T_RESULT = "RESULT"; //reserved static final String T_RETURN = "RETURN"; //reserved static final String T_RETURNS = "RETURNS"; //reserved static final String T_REVOKE = "REVOKE"; //reserved static final String T_RIGHT = "RIGHT"; //reserved static final String T_ROLLBACK = "ROLLBACK"; //reserved static final String T_ROLLUP = "ROLLUP"; //reserved static final String T_ROW = "ROW"; //reserved static final String T_ROWS = "ROWS"; //reserved static final String T_SAVEPOINT = "SAVEPOINT"; //reserved static final String T_SCOPE = "SCOPE"; //reserved static final String T_SCROLL = "SCROLL"; //reserved static final String T_SECOND = "SECOND"; //reserved static final String T_SEARCH = "SEARCH"; //reserved static final String T_SELECT = "SELECT"; //reserved static final String T_SENSITIVE = "SENSITIVE"; //reserved static final String T_SESSION_USER = "SESSION_USER"; //reserved static final String T_SET = "SET"; //reserved static final String T_SIGNAL = "SIGNAL"; //reserved static final String T_SIMILAR = "SIMILAR"; //reserved static final String T_SMALLINT = "SMALLINT"; //reserved static final String T_SOME = "SOME"; //reserved static final String T_SPECIFIC = "SPECIFIC"; //reserved static final String T_SPECIFICTYPE = "SPECIFICTYPE"; //reserved static final String T_SQL = "SQL"; //reserved static final String T_SQLEXCEPTION = "SQLEXCEPTION"; //reserved static final String T_SQLSTATE = "SQLSTATE"; //reserved static final String T_SQLWARNING = "SQLWARNING"; //reserved static final String T_START = "START"; //reserved static final String T_STATIC = "STATIC"; //reserved static final String T_SUBMULTISET = "SUBMULTISET"; //reserved static final String T_SYMMETRIC = "SYMMETRIC"; //reserved static final String T_SYSTEM = "SYSTEM"; //reserved static final String T_SYSTEM_USER = "SYSTEM_USER"; //reserved static final String T_TABLE = "TABLE"; //reserved static final String T_TABLESAMPLE = "TABLESAMPLE"; //reserved static final String T_THEN = "THEN"; //reserved static final String T_TIME = "TIME"; //reserved static final String T_TIMESTAMP = "TIMESTAMP"; //reserved static final String T_TIMEZONE_HOUR = "TIMEZONE_HOUR"; //reserved static final String T_TIMEZONE_MINUTE = "TIMEZONE_MINUTE"; //reserved static final String T_TO = "TO"; //reserved static final String T_TRAILING = "TRAILING"; //reserved static final String T_TRANSLATION = "TRANSLATION"; //reserved static final String T_TREAT = "TREAT"; //reserved static final String T_TRIGGER = "TRIGGER"; //reserved static final String T_TRUE = "TRUE"; //reserved static final String T_UNDO = "UNDO"; //reserved static final String T_UNION = "UNION"; //reserved static final String T_UNIQUE = "UNIQUE"; //reserved static final String T_UNKNOWN = "UNKNOWN"; //reserved static final String T_UNNEST = "UNNEST"; //reserved static final String T_UNTIL = "UNTIL"; //reserved static final String T_UPDATE = "UPDATE"; //reserved static final String T_USER = "USER"; //reserved static final String T_USING = "USING"; //reserved static final String T_VALUE = "VALUE"; //reserved static final String T_VALUES = "VALUES"; //reserved static final String T_VARCHAR = "VARCHAR"; //reserved static final String T_VARYING = "VARYING"; //reserved static final String T_WHEN = "WHEN"; //reserved static final String T_WHENEVER = "WHENEVER"; //reserved static final String T_WHERE = "WHERE"; //reserved static final String T_WHILE = "WHILE"; //reserved static final String T_WINDOW = "WINDOW"; //reserved static final String T_WITH = "WITH"; //reserved static final String T_WITHIN = "WITHIN"; //reserved static final String T_WITHOUT = "WITHOUT"; //reserved static final String T_YEAR = "YEAR"; //reserved // other tokens static final String T_ALWAYS = "ALWAYS"; static final String T_ACTION = "ACTION"; static final String T_ADMIN = "ADMIN"; static final String T_AFTER = "AFTER"; static final String T_ALIAS = "ALIAS"; static final String T_ASC = "ASC"; static final String T_AUTOCOMMIT = "AUTOCOMMIT"; static final String T_AVG = "AVG"; static final String T_BEFORE = "BEFORE"; static final String T_CACHED = "CACHED"; static final String T_CASCADE = "CASCADE"; static final String T_CASEWHEN = "CASEWHEN"; static final String T_CHECKPOINT = "CHECKPOINT"; static final String T_CLASS = "CLASS"; static final String T_COALESCE = "COALESCE"; static final String T_COMPACT = "COMPACT"; public static final String T_COMPRESSED = "COMPRESSED"; static final String T_CONCAT = "CONCAT"; static final String T_CONVERT = "CONVERT"; static final String T_COUNT = "COUNT"; static final String T_DEFRAG = "DEFRAG"; static final String T_DESC = "DESC"; static final String T_EXPLAIN = "EXPLAIN"; static final String T_EXTRACT = "EXTRACT"; static final String T_GENERATED = "GENERATED"; static final String T_IFNULL = "IFNULL"; static final String T_IGNORECASE = "IGNORECASE"; static final String T_IMMEDIATELY = "IMMEDIATELY"; static final String T_INCREMENT = "INCREMENT"; static final String T_INDEX = "INDEX"; static final String T_KEY = "KEY"; static final String T_LIMIT = "LIMIT"; static final String T_LOGSIZE = "LOGSIZE"; static final String T_MAX = "MAX"; static final String T_MAXROWS = "MAXROWS"; static final String T_MEMORY = "MEMORY"; static final String T_MERGE = "MERGE"; static final String T_MIN = "MIN"; static final String T_MINUS = "MINUS"; static final String T_NOW = "NOW"; static final String T_NOWAIT = "NOWAIT"; static final String T_NULLIF = "NULLIF"; static final String T_PASSWORD = "PASSWORD"; static final String T_PLAN = "PLAN"; static final String T_POSITION = "POSITION"; static final String T_PROPERTY = "PROPERTY"; static final String T_PUBLIC = "PUBLIC"; static final String T_QUEUE = "QUEUE"; static final String T_READONLY = "READONLY"; static final String T_REFERENTIAL_INTEGRITY = "REFERENTIAL_INTEGRITY"; static final String T_RENAME = "RENAME"; static final String T_RESTART = "RESTART"; static final String T_RESTRICT = "RESTRICT"; static final String T_SCRIPT = "SCRIPT"; static final String T_SCRIPTFORMAT = "SCRIPTFORMAT"; static final String T_SEQUENCE = "SEQUENCE"; static final String T_SHUTDOWN = "SHUTDOWN"; static final String T_SOURCE = "SOURCE"; static final String T_SUBSTRING = "SUBSTRING"; static final String T_SUM = "SUM"; static final String T_SYSDATE = "SYSDATE"; static final String T_TEMP = "TEMP"; public static final String T_TEXT = "TEXT"; static final String T_TODAY = "TODAY"; static final String T_TOP = "TOP"; static final String T_TRIM = "TRIM"; static final String T_VIEW = "VIEW"; static final String T_WORK = "WORK"; static final String T_WRITE_DELAY = "WRITE_DELAY"; // SQL 200n token values static final int ADD = 1; static final int ALL = 2; static final int ALLOCATE = 3; static final int ALTER = 4; static final int AND = 5; static final int ANY = 6; static final int ARE = 7; static final int ARRAY = 8; static final int AS = 9; static final int ASENSITIVE = 10; static final int ASYMMETRIC = 11; static final int AT = 12; static final int ATOMIC = 13; static final int AUTHORIZATION = 14; static final int BEGIN = 15; static final int BETWEEN = 16; static final int BIGINT = 17; static final int BINARY = 18; static final int BLOB = 19; static final int BOOLEAN = 20; static final int BOTH = 21; static final int BY = 22; public static final int CALL = 23; static final int CALLED = 24; static final int CASCADED = 25; static final int CASE = 26; static final int CAST = 27; static final int CHAR = 28; static final int CHARACTER = 29; static final int CHECK = 30; static final int CLOB = 31; static final int CLOSE = 32; static final int COLLATE = 33; static final int COLUMN = 34; static final int COMMIT = 35; static final int CONDITION = 36; static final int CONNECT = 37; static final int CONSTRAINT = 38; static final int CONTINUE = 39; static final int CORRESPONDING = 40; static final int CREATE = 41; static final int CROSS = 42; static final int CUBE = 43; static final int CURRENT = 44; static final int CURRENT_DATE = 45; static final int CURRENT_DEFAULT_TRANSFORM_GRO = 46; static final int CURRENT_PATH = 47; static final int CURRENT_ROLE = 48; static final int CURRENT_TIME = 49; static final int CURRENT_TIMESTAMP = 50; static final int CURRENT_TRANSFORM_GROUP_FOR_T = 51; static final int CURRENT_USER = 52; static final int CURSOR = 53; static final int CYCLE = 54; static final int DATE = 55; static final int DAY = 56; static final int DEALLOCATE = 57; static final int DEC = 58; static final int DECIMAL = 59; static final int DECLARE = 60; static final int DEFAULT = 61; public static final int DELETE = 62; static final int DEREF = 63; static final int DESCRIBE = 64; static final int DETERMINISTIC = 65; static final int DISCONNECT = 66; static final int DISTINCT = 67; static final int DO = 68; static final int DOUBLE = 69; static final int DROP = 70; static final int DYNAMIC = 71; static final int EACH = 72; static final int ELEMENT = 73; static final int ELSE = 74; static final int ELSEIF = 75; static final int END = 76; static final int ESCAPE = 77; static final int EXCEPT = 78; static final int EXEC = 79; static final int EXECUTE = 80; static final int EXISTS = 81; static final int EXIT = 82; static final int EXTERNAL = 83; static final int FALSE = 84; static final int FETCH = 85; static final int FILTER = 86; static final int FLOAT = 87; static final int FOR = 88; static final int FOREIGN = 89; static final int FREE = 90; static final int FROM = 91; static final int FULL = 92; static final int FUNCTION = 93; static final int GET = 94; static final int GLOBAL = 95; static final int GRANT = 96; static final int GROUP = 97; static final int GROUPING = 98; static final int HANDLER = 99; static final int HAVING = 100; static final int HOLD = 101; static final int HOUR = 102; static final int IDENTITY = 103; static final int IF = 104; static final int IMMEDIATE = 105; static final int IN = 106; static final int INDICATOR = 107; static final int INNER = 108; static final int INOUT = 109; static final int INPUT = 110; static final int INSENSITIVE = 111; public static final int INSERT = 112; static final int INT = 113; static final int INTEGER = 114; static final int INTERSECT = 115; static final int INTERVAL = 116; static final int INTO = 117; static final int IS = 118; static final int ITERATE = 119; static final int JOIN = 120; static final int LANGUAGE = 121; static final int LARGE = 122; static final int LATERAL = 123; static final int LEADING = 124; static final int LEAVE = 125; static final int LEFT = 126; static final int LIKE = 127; static final int LOCAL = 128; static final int LOCALTIME = 129; static final int LOCALTIMESTAMP = 130; static final int LOOP = 131; static final int MATCH = 132; static final int MEMBER = 133; static final int MERGE = 134; static final int METHOD = 135; static final int MINUTE = 136; static final int MODIFIES = 137; static final int MODULE = 138; static final int MONTH = 139; static final int MULTISET = 140; static final int NATIONAL = 141; static final int NATURAL = 142; static final int NCHAR = 143; static final int NCLOB = 144; static final int NEW = 145; static final int NO = 146; static final int NONE = 147; static final int NOT = 148; static final int NULL = 149; static final int NUMERIC = 150; static final int OF = 151; static final int OLD = 152; static final int ON = 153; static final int ONLY = 154; static final int OPEN = 155; static final int OR = 156; static final int ORDER = 157; static final int OUT = 158; static final int OUTER = 159; static final int OUTPUT = 160; static final int OVER = 161; static final int OVERLAPS = 162; static final int PARAMETER = 163; static final int PARTITION = 164; static final int PRECISION = 165; static final int PREPARE = 166; static final int PRIMARY = 167; static final int PROCEDURE = 168; static final int RANGE = 169; static final int READS = 170; static final int REAL = 171; static final int RECURSIVE = 172; static final int REF = 173; static final int REFERENCES = 174; static final int REFERENCING = 175; static final int RELEASE = 176; static final int REPEAT = 177; static final int RESIGNAL = 178; static final int RESULT = 179; static final int RETURN = 180; static final int RETURNS = 181; static final int REVOKE = 182; static final int RIGHT = 183; static final int ROLLBACK = 184; static final int ROLLUP = 185; static final int ROW = 186; static final int ROWS = 187; static final int SAVEPOINT = 188; static final int SCOPE = 189; static final int SCROLL = 190; static final int SEARCH = 191; static final int SECOND = 192; public static final int SELECT = 193; static final int SENSITIVE = 194; static final int SESSION_USER = 195; static final int SET = 196; static final int SIGNAL = 197; static final int SIMILAR = 198; static final int SMALLINT = 199; static final int SOME = 200; static final int SPECIFIC = 201; static final int SPECIFICTYPE = 202; static final int SQL = 203; static final int SQLEXCEPTION = 204; static final int SQLSTATE = 205; static final int SQLWARNING = 206; static final int START = 207; static final int STATIC = 208; static final int SUBMULTISET = 209; static final int SYMMETRIC = 210; static final int SYSTEM = 211; static final int SYSTEM_USER = 212; static final int TABLE = 213; static final int TABLESAMPLE = 214; static final int THEN = 215; static final int TIME = 216; static final int TIMESTAMP = 217; static final int TIMEZONE_HOUR = 218; static final int TIMEZONE_MINUTE = 219; static final int TO = 220; static final int TRAILING = 221; static final int TRANSLATION = 222; static final int TREAT = 223; static final int TRIGGER = 224; static final int TRUE = 225; static final int UNDO = 226; static final int UNION = 227; static final int UNIQUE = 228; static final int UNKNOWN = 229; static final int UNNEST = 220; static final int UNTIL = 221; public static final int UPDATE = 222; static final int USER = 223; static final int USING = 224; static final int VALUE = 225; static final int VALUES = 226; static final int VARCHAR = 227; static final int VARYING = 228; static final int WHEN = 229; static final int WHENEVER = 230; static final int WHERE = 231; static final int WHILE = 232; static final int WINDOW = 233; static final int WITH = 234; static final int WITHIN = 235; static final int WITHOUT = 236; static final int YEAR = 237; // other token values used as switch cases public static final int UNKNOWNTOKEN = -1; static final int ALIAS = 300; static final int AUTOCOMMIT = 301; static final int CACHED = 302; static final int CHECKPOINT = 303; static final int EXPLAIN = 304; static final int IGNORECASE = 305; static final int INDEX = 306; static final int LOGSIZE = 307; static final int MAXROWS = 308; static final int MEMORY = 309; static final int MINUS = 310; static final int NEXT = 311; static final int OPENBRACKET = 312; static final int PASSWORD = 313; static final int PLAN = 314; static final int PROPERTY = 315; static final int READONLY = 316; static final int REFERENTIAL_INTEGRITY = 317; static final int RENAME = 318; static final int SCRIPT = 319; static final int SCRIPTFORMAT = 320; static final int SEMICOLON = 321; static final int SEQUENCE = 322; static final int SHUTDOWN = 323; static final int SOURCE = 324; static final int TEMP = 325; static final int TEXT = 326; static final int VIEW = 327; static final int WRITE_DELAY = 328; // static { commandSet = newCommandSet(); } /** * Retrieves a new map from set of string tokens to numeric tokens for * commonly encountered database command token occurences. * * @return a new map for the database command token set */ private static IntValueHashMap newCommandSet() { IntValueHashMap commandSet; commandSet = new IntValueHashMap(67); commandSet.put(T_ADD, ADD); commandSet.put(T_ALIAS, ALIAS); commandSet.put(T_ALTER, ALTER); commandSet.put(T_AUTOCOMMIT, AUTOCOMMIT); commandSet.put(T_CACHED, CACHED); commandSet.put(T_CALL, CALL); commandSet.put(T_CHECK, CHECK); commandSet.put(T_CHECKPOINT, CHECKPOINT); commandSet.put(T_COLUMN, COLUMN); commandSet.put(T_COMMIT, COMMIT); commandSet.put(T_CONNECT, CONNECT); commandSet.put(T_CONSTRAINT, CONSTRAINT); commandSet.put(T_CREATE, CREATE); commandSet.put(T_DELETE, DELETE); commandSet.put(T_DISCONNECT, DISCONNECT); commandSet.put(T_DROP, DROP); commandSet.put(T_EXCEPT, EXCEPT); commandSet.put(T_EXPLAIN, EXPLAIN); commandSet.put(T_FOREIGN, FOREIGN); commandSet.put(T_GRANT, GRANT); commandSet.put(T_IGNORECASE, IGNORECASE); commandSet.put(T_INDEX, INDEX); commandSet.put(T_INSERT, INSERT); commandSet.put(T_INTERSECT, INTERSECT); commandSet.put(T_LOGSIZE, LOGSIZE); commandSet.put(T_MAXROWS, MAXROWS); commandSet.put(T_MEMORY, MEMORY); commandSet.put(T_MINUS, MINUS); commandSet.put(T_NEXT, NEXT); commandSet.put(T_NOT, NOT); commandSet.put(T_OPENBRACKET, OPENBRACKET); commandSet.put(T_PASSWORD, PASSWORD); commandSet.put(T_PLAN, PLAN); commandSet.put(T_PRIMARY, PRIMARY); commandSet.put(T_PROPERTY, PROPERTY); commandSet.put(T_READONLY, READONLY); commandSet.put(T_REFERENTIAL_INTEGRITY, REFERENTIAL_INTEGRITY); commandSet.put(T_RELEASE, RELEASE); commandSet.put(T_RENAME, RENAME); commandSet.put(T_REVOKE, REVOKE); commandSet.put(T_ROLLBACK, ROLLBACK); commandSet.put(T_SAVEPOINT, SAVEPOINT); commandSet.put(T_SCRIPT, SCRIPT); commandSet.put(T_SCRIPTFORMAT, SCRIPTFORMAT); commandSet.put(T_SELECT, SELECT); commandSet.put(T_SEMICOLON, SEMICOLON); commandSet.put(T_SEQUENCE, SEQUENCE); commandSet.put(T_SET, SET); commandSet.put(T_SHUTDOWN, SHUTDOWN); commandSet.put(T_SOURCE, SOURCE); commandSet.put(T_TABLE, TABLE); commandSet.put(T_TEMP, TEMP); commandSet.put(T_TEXT, TEXT); commandSet.put(T_TRIGGER, TRIGGER); commandSet.put(T_UNIQUE, UNIQUE); commandSet.put(T_UPDATE, UPDATE); commandSet.put(T_UNION, UNION); commandSet.put(T_USER, USER); commandSet.put(T_VALUES, VALUES); commandSet.put(T_VIEW, VIEW); commandSet.put(T_WRITE_DELAY, WRITE_DELAY); return commandSet; } public static int get(String token) { return commandSet.get(token, -1); } private static HashSet keywords; static IntValueHashMap valueTokens; static { // literals not allowed as table / column names keywords = new HashSet(67); // fredt - if we add MONTH, DAY, YEAR etc. MONTH(), DAY() et al will no longer work // following tokens are values /* "FALSE",*/ /* "TRUE",*/ /* "NULL", */ /** @todo perhaps rename LEFT() */ // following token is excluded to allow LEFT() function to work /* "LEFT" ,*/ String keyword[] = { Token.T_AS, Token.T_AND, Token.T_ALL, Token.T_AVG, Token.T_BY, Token.T_BETWEEN, Token.T_BOTH, Token.T_CALL, Token.T_CASE, Token.T_CASEWHEN, Token.T_CAST, Token.T_CONVERT, Token.T_CONCAT, Token.T_COUNT, Token.T_COALESCE, Token.T_DISTINCT, Token.T_ELSE, Token.T_END, Token.T_EXISTS, Token.T_EXCEPT, Token.T_EXTRACT, Token.T_FOR, Token.T_FROM, Token.T_GROUP, Token.T_IF, Token.T_INTO, Token.T_IFNULL, Token.T_IS, Token.T_IN, Token.T_JOIN, Token.T_INTERSECT, Token.T_INNER, Token.T_LEADING, Token.T_LIKE, Token.T_MAX, Token.T_MIN, Token.T_NEXT, Token.T_NULLIF, Token.T_NOT, Token.T_MINUS, Token.T_ON, Token.T_ORDER, Token.T_OR, Token.T_OUTER, Token.T_POSITION, Token.T_PRIMARY, Token.T_SELECT, Token.T_SET, Token.T_SUBSTRING, Token.T_SUM, Token.T_THEN, Token.T_TO, Token.T_TRAILING, Token.T_TRIM, Token.T_UNIQUE, Token.T_UNION, Token.T_VALUES, Token.T_WHEN, Token.T_WHERE, Token.T_HAVING }; for (int i = 0; i < keyword.length; i++) { keywords.add(keyword[i]); } } public static boolean isKeyword(String token) { return keywords.contains(token); } }




Copyright 1998-2008 Alvin Alexander
All Rights Reserved.
 
devdaily.com is based in louisville, kentucky, and this web site is hosted by godaddy.com