/** * Registers a compiled statement to be managed. * * <p>The only caller should be a Session that is attempting to prepare a statement for the first * time, or a statement that has been invalidated due to DDL changes. * * @param csid existing id or negative if the statement is not yet managed * @param cs The CompiledStatement to add * @return The compiled statement id assigned to the CompiledStatement object */ synchronized int registerStatement(int csid, CompiledStatement cs) { if (csid < 0) { csid = nextID(); sqlMap.put(cs.sql, csid); sqlLookup.put(csid, cs.sql); } csidMap.put(csid, cs); return csid; }
/** * 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_DATABASE, DATABASE); commandSet.put(T_DELETE, DELETE); commandSet.put(T_DEFRAG, DEFRAG); 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_INCREMENT, INCREMENT); commandSet.put(T_INDEX, INDEX); commandSet.put(T_INITIAL, INITIAL); 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_RESTART, RESTART); commandSet.put(T_REVOKE, REVOKE); commandSet.put(T_ROLE, ROLE); 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); commandSet.put(T_SCHEMA, SCHEMA); return commandSet; }
static { typeNames = new IntValueHashMap(37); typeNames.put("CHARACTER", Types.SQL_CHAR); typeNames.put("VARCHAR", Types.SQL_VARCHAR); typeNames.put("VARCHAR_IGNORECASE", Types.VARCHAR_IGNORECASE); typeNames.put("DATE", Types.SQL_DATE); typeNames.put("TIME", Types.SQL_TIME); typeNames.put("TIMESTAMP", Types.SQL_TIMESTAMP); typeNames.put("INTERVAL", Types.SQL_INTERVAL); typeNames.put("TINYINT", Types.TINYINT); typeNames.put("SMALLINT", Types.SQL_SMALLINT); typeNames.put("INTEGER", Types.SQL_INTEGER); typeNames.put("BIGINT", Types.SQL_BIGINT); typeNames.put("REAL", Types.SQL_REAL); typeNames.put("FLOAT", Types.SQL_FLOAT); typeNames.put("DOUBLE", Types.SQL_DOUBLE); typeNames.put("NUMERIC", Types.SQL_NUMERIC); typeNames.put("DECIMAL", Types.SQL_DECIMAL); typeNames.put("BOOLEAN", Types.SQL_BOOLEAN); typeNames.put("BINARY", Types.SQL_BINARY); typeNames.put("VARBINARY", Types.SQL_VARBINARY); typeNames.put("CLOB", Types.SQL_CLOB); typeNames.put("BLOB", Types.SQL_BLOB); typeNames.put("OTHER", Types.OTHER); // typeAliases = new IntValueHashMap(67, 1); typeAliases.put("CHAR", Types.SQL_CHAR); typeAliases.put("CHAR VARYING", Types.SQL_VARCHAR); typeAliases.put("CHARACTER VARYING", Types.SQL_VARCHAR); typeAliases.put("CHARACTER LARGE OBJECT", Types.SQL_CLOB); typeAliases.put("INT", Types.SQL_INTEGER); typeAliases.put("DEC", Types.SQL_DECIMAL); typeAliases.put("LONGVARCHAR", Types.SQL_VARCHAR); typeAliases.put("DATETIME", Types.SQL_TIMESTAMP); typeAliases.put("BIT", Types.SQL_BOOLEAN); typeAliases.put("LONGVARBINARY", Types.SQL_VARBINARY); typeAliases.put("OBJECT", Types.OTHER); }
static { typeAliases = new IntValueHashMap(67, 1); typeAliases.put("INTEGER", Types.INTEGER); typeAliases.put("INT", Types.INTEGER); typeAliases.put("int", Types.INTEGER); typeAliases.put("java.lang.Integer", Types.INTEGER); typeAliases.put("IDENTITY", Types.INTEGER); typeAliases.put("DOUBLE", Types.DOUBLE); typeAliases.put("double", Types.DOUBLE); typeAliases.put("java.lang.Double", Types.DOUBLE); typeAliases.put("FLOAT", Types.FLOAT); typeAliases.put("REAL", Types.REAL); typeAliases.put("VARCHAR", Types.VARCHAR); typeAliases.put("java.lang.String", Types.VARCHAR); typeAliases.put("CHAR", Types.CHAR); typeAliases.put("CHARACTER", Types.CHAR); typeAliases.put("LONGVARCHAR", Types.LONGVARCHAR); typeAliases.put("VARCHAR_IGNORECASE", VARCHAR_IGNORECASE); typeAliases.put("DATE", Types.DATE); typeAliases.put("java.sql.Date", Types.DATE); typeAliases.put("TIME", Types.TIME); typeAliases.put("java.sql.Time", Types.TIME); typeAliases.put("TIMESTAMP", Types.TIMESTAMP); typeAliases.put("java.sql.Timestamp", Types.TIMESTAMP); typeAliases.put("DATETIME", Types.TIMESTAMP); typeAliases.put("DECIMAL", Types.DECIMAL); typeAliases.put("java.math.BigDecimal", Types.DECIMAL); typeAliases.put("NUMERIC", Types.NUMERIC); typeAliases.put("BIT", Types.BIT); typeAliases.put("boolean", Types.BIT); typeAliases.put("java.lang.Boolean", Types.BIT); typeAliases.put("TINYINT", Types.TINYINT); typeAliases.put("byte", Types.TINYINT); typeAliases.put("java.lang.Byte", Types.TINYINT); typeAliases.put("SMALLINT", Types.SMALLINT); typeAliases.put("short", Types.SMALLINT); typeAliases.put("java.lang.Short", Types.SMALLINT); typeAliases.put("BIGINT", Types.BIGINT); typeAliases.put("long", Types.BIGINT); typeAliases.put("java.lang.Long", Types.BIGINT); typeAliases.put("BINARY", Types.BINARY); typeAliases.put("[B", Types.BINARY); typeAliases.put("VARBINARY", Types.VARBINARY); typeAliases.put("LONGVARBINARY", Types.LONGVARBINARY); typeAliases.put("OTHER", Types.OTHER); typeAliases.put("OBJECT", Types.OTHER); typeAliases.put("java.lang.Object", Types.OTHER); typeAliases.put("NULL", Types.NULL); typeAliases.put("void", Types.NULL); typeAliases.put("java.lang.Void", Types.NULL); // typeNames = new IntKeyHashMap(37); typeNames.put(Types.NULL, "NULL"); typeNames.put(Types.INTEGER, "INTEGER"); typeNames.put(Types.DOUBLE, "DOUBLE"); typeNames.put(VARCHAR_IGNORECASE, "VARCHAR_IGNORECASE"); typeNames.put(Types.VARCHAR, "VARCHAR"); typeNames.put(Types.CHAR, "CHAR"); typeNames.put(Types.LONGVARCHAR, "LONGVARCHAR"); typeNames.put(Types.DATE, "DATE"); typeNames.put(Types.TIME, "TIME"); typeNames.put(Types.DECIMAL, "DECIMAL"); typeNames.put(Types.BIT, "BIT"); typeNames.put(Types.TINYINT, "TINYINT"); typeNames.put(Types.SMALLINT, "SMALLINT"); typeNames.put(Types.BIGINT, "BIGINT"); typeNames.put(Types.REAL, "REAL"); typeNames.put(Types.FLOAT, "FLOAT"); typeNames.put(Types.NUMERIC, "NUMERIC"); typeNames.put(Types.TIMESTAMP, "TIMESTAMP"); typeNames.put(Types.BINARY, "BINARY"); typeNames.put(Types.VARBINARY, "VARBINARY"); typeNames.put(Types.LONGVARBINARY, "LONGVARBINARY"); typeNames.put(Types.OTHER, "OBJECT"); // illegalParameterClasses = new org.hsqldb.lib.HashSet(13); illegalParameterClasses.add(Byte.TYPE); illegalParameterClasses.add(Short.TYPE); illegalParameterClasses.add(Float.TYPE); illegalParameterClasses.add(Byte.class); illegalParameterClasses.add(Short.class); illegalParameterClasses.add(Float.class); }