Beispiel #1
0
            /// <summary>
            /// Retrieves a map that associates with each declared string token
            /// its corresponding declared numeric identifier.
            /// </summary>
            /// <returns>
            /// A new map from each declared string token to its numeric identifier.
            /// </returns>
            private static IntValueHashMap NewTokenValueMap()
            {
                IntValueHashMap map = new IntValueHashMap(347, 1.0F);

                FieldInfo[] fields = typeof(Token.ValueFor).GetFields(
                    BindingFlags.DeclaredOnly |
                    BindingFlags.Static |
                    BindingFlags.Public);

                foreach (FieldInfo keyField in fields)
                {
                    if (keyField.FieldType != typeof(string))
                    {
                        continue;
                    }
                    if (0 == (keyField.Attributes & (FieldAttributes.HasDefault |
                                                     FieldAttributes.Literal)))
                    {
                        continue;
                    }

                    FieldInfo valueField = (typeof(Token.IdFor)).GetField(
                        keyField.Name);

                    if (valueField == null)
                    {
                        continue;
                    }

                    map.put(keyField.GetValue(null), (int)valueField.GetValue(null));
                }

                return(map);
            }
Beispiel #2
0
 /// <summary>
 /// Initializes the <see cref="Map"/> class.
 /// </summary>
 static Map()
 {
     m_CommandTokenIdentifierMap = Map.NewCommandTokenIdentifierMap();
     m_TokenValueMap             = Map.NewTokenValueMap();
     m_TokenIdentifierMap        = Map.NewTokenIdentifierMap();
     // literals not allowed as table / column names
     m_KeywordSet = Map.NewKeywordSet();
 }
Beispiel #3
0
            /// <summary>
            /// Constructs and returns a new map that associates with each
            /// commonly encountered database command token a corresponding
            /// numeric identifier.
            /// </summary>
            /// <returns>
            /// A new map for the database command token set
            /// </returns>
            private static IntValueHashMap NewCommandTokenIdentifierMap()
            {
                IntValueHashMap map = new IntValueHashMap(67);

                map.put(Token.ValueFor.ADD, Token.IdFor.ADD);
                map.put(Token.ValueFor.ALIAS, Token.IdFor.ALIAS);
                map.put(Token.ValueFor.ALTER, Token.IdFor.ALTER);
                map.put(Token.ValueFor.AUTOCOMMIT, Token.IdFor.AUTOCOMMIT);
                map.put(Token.ValueFor.CACHED, Token.IdFor.CACHED);
                map.put(Token.ValueFor.CALL, Token.IdFor.CALL);
                map.put(Token.ValueFor.CHECK, Token.IdFor.CHECK);
                map.put(Token.ValueFor.CHECKPOINT, Token.IdFor.CHECKPOINT);
                map.put(Token.ValueFor.COLUMN, Token.IdFor.COLUMN);
                map.put(Token.ValueFor.COMMIT, Token.IdFor.COMMIT);
                map.put(Token.ValueFor.CONNECT, Token.IdFor.CONNECT);
                map.put(Token.ValueFor.CONSTRAINT, Token.IdFor.CONSTRAINT);
                map.put(Token.ValueFor.CREATE, Token.IdFor.CREATE);
                map.put(Token.ValueFor.DATABASE, Token.IdFor.DATABASE);
                map.put(Token.ValueFor.DELETE, Token.IdFor.DELETE);
                map.put(Token.ValueFor.DEFRAG, Token.IdFor.DEFRAG);
                map.put(Token.ValueFor.DISCONNECT, Token.IdFor.DISCONNECT);
                map.put(Token.ValueFor.DROP, Token.IdFor.DROP);
                map.put(Token.ValueFor.EXCEPT, Token.IdFor.EXCEPT);
                map.put(Token.ValueFor.EXPLAIN, Token.IdFor.EXPLAIN);
                map.put(Token.ValueFor.FOREIGN, Token.IdFor.FOREIGN);
                map.put(Token.ValueFor.GRANT, Token.IdFor.GRANT);
                map.put(Token.ValueFor.IGNORECASE, Token.IdFor.IGNORECASE);
                map.put(Token.ValueFor.INCREMENT, Token.IdFor.INCREMENT);
                map.put(Token.ValueFor.INDEX, Token.IdFor.INDEX);
                map.put(Token.ValueFor.INITIAL, Token.IdFor.INITIAL);
                map.put(Token.ValueFor.INSERT, Token.IdFor.INSERT);
                map.put(Token.ValueFor.INTERSECT, Token.IdFor.INTERSECT);
                map.put(Token.ValueFor.LOGSIZE, Token.IdFor.LOGSIZE);
                map.put(Token.ValueFor.MAXROWS, Token.IdFor.MAXROWS);
                map.put(Token.ValueFor.MEMORY, Token.IdFor.MEMORY);
                map.put(Token.ValueFor.MINUS, Token.IdFor.MINUS);
                map.put(Token.ValueFor.NEXT, Token.IdFor.NEXT);
                map.put(Token.ValueFor.NOT, Token.IdFor.NOT);
                map.put(Token.ValueFor.OPENBRACKET, Token.IdFor.OPENBRACKET);
                map.put(Token.ValueFor.PASSWORD, Token.IdFor.PASSWORD);
                map.put(Token.ValueFor.PLAN, Token.IdFor.PLAN);
                map.put(Token.ValueFor.PRIMARY, Token.IdFor.PRIMARY);
                map.put(Token.ValueFor.PROPERTY, Token.IdFor.PROPERTY);
                map.put(Token.ValueFor.READONLY, Token.IdFor.READONLY);
                map.put(Token.ValueFor.REFERENTIAL_INTEGRITY, Token.IdFor.REFERENTIAL_INTEGRITY);
                map.put(Token.ValueFor.RELEASE, Token.IdFor.RELEASE);
                map.put(Token.ValueFor.RENAME, Token.IdFor.RENAME);
                map.put(Token.ValueFor.RESTART, Token.IdFor.RESTART);
                map.put(Token.ValueFor.REVOKE, Token.IdFor.REVOKE);
                map.put(Token.ValueFor.ROLE, Token.IdFor.ROLE);
                map.put(Token.ValueFor.ROLLBACK, Token.IdFor.ROLLBACK);
                map.put(Token.ValueFor.SAVEPOINT, Token.IdFor.SAVEPOINT);
                map.put(Token.ValueFor.SCRIPT, Token.IdFor.SCRIPT);
                map.put(Token.ValueFor.SCRIPTFORMAT, Token.IdFor.SCRIPTFORMAT);
                map.put(Token.ValueFor.SELECT, Token.IdFor.SELECT);
                map.put(Token.ValueFor.SEMICOLON, Token.IdFor.SEMICOLON);
                map.put(Token.ValueFor.SEQUENCE, Token.IdFor.SEQUENCE);
                map.put(Token.ValueFor.SET, Token.IdFor.SET);
                map.put(Token.ValueFor.SHUTDOWN, Token.IdFor.SHUTDOWN);
                map.put(Token.ValueFor.SOURCE, Token.IdFor.SOURCE);
                map.put(Token.ValueFor.TABLE, Token.IdFor.TABLE);
                map.put(Token.ValueFor.TEMP, Token.IdFor.TEMP);
                map.put(Token.ValueFor.TEXT, Token.IdFor.TEXT);
                map.put(Token.ValueFor.TRIGGER, Token.IdFor.TRIGGER);
                map.put(Token.ValueFor.UNIQUE, Token.IdFor.UNIQUE);
                map.put(Token.ValueFor.UPDATE, Token.IdFor.UPDATE);
                map.put(Token.ValueFor.UNION, Token.IdFor.UNION);
                map.put(Token.ValueFor.USER, Token.IdFor.USER);
                map.put(Token.ValueFor.VALUES, Token.IdFor.VALUES);
                map.put(Token.ValueFor.VIEW, Token.IdFor.VIEW);
                map.put(Token.ValueFor.WRITE_DELAY, Token.IdFor.WRITE_DELAY);
                map.put(Token.ValueFor.SCHEMA, Token.IdFor.SCHEMA);

                return(map);
            }