Search in sources :

Example 11 with Setting

use of org.h2.engine.Setting in project siena by mandubian.

the class FullText method setIgnoreList.

/**
     * Change the ignore list. The ignore list is a comma separated list of
     * common words that must not be indexed. The default ignore list is empty.
     * If indexes already exist at the time this list is changed, reindex must
     * be called.
     *
     * @param conn the connection
     * @param commaSeparatedList the list
     */
public static void setIgnoreList(Connection conn, String commaSeparatedList) throws SQLException {
    try {
        init(conn);
        FullTextSettings setting = FullTextSettings.getInstance(conn);
        setIgnoreList(setting, commaSeparatedList);
        Statement stat = conn.createStatement();
        stat.execute("TRUNCATE TABLE " + SCHEMA + ".IGNORELIST");
        PreparedStatement prep = conn.prepareStatement("INSERT INTO " + SCHEMA + ".IGNORELIST VALUES(?)");
        prep.setString(1, commaSeparatedList);
        prep.execute();
    } catch (DbException e) {
        throw DbException.toSQLException(e);
    }
}
Also used : PreparedStatement(java.sql.PreparedStatement) Statement(java.sql.Statement) PreparedStatement(java.sql.PreparedStatement) DbException(org.h2.message.DbException)

Example 12 with Setting

use of org.h2.engine.Setting in project siena by mandubian.

the class FullText method init.

/**
     * Initializes full text search functionality for this database. This adds
     * the following Java functions to the database:
     * <ul>
     * <li>FT_CREATE_INDEX(schemaNameString, tableNameString,
     * columnListString)</li>
     * <li>FT_SEARCH(queryString, limitInt, offsetInt): result set</li>
     * <li>FT_REINDEX()</li>
     * <li>FT_DROP_ALL()</li>
     * </ul>
     * It also adds a schema FT to the database where bookkeeping information
     * is stored. This function may be called from a Java application, or by
     * using the SQL statements:
     *
     * <pre>
     * CREATE ALIAS IF NOT EXISTS FT_INIT FOR
     *      &quot;org.h2.fulltext.FullText.init&quot;;
     * CALL FT_INIT();
     * </pre>
     *
     * @param conn the connection
     */
public static void init(Connection conn) throws SQLException {
    Statement stat = conn.createStatement();
    stat.execute("CREATE SCHEMA IF NOT EXISTS " + SCHEMA);
    stat.execute("CREATE TABLE IF NOT EXISTS " + SCHEMA + ".FT_INDEXES(ID INT AUTO_INCREMENT PRIMARY KEY, SCHEMA VARCHAR, TABLE VARCHAR, COLUMNS VARCHAR, UNIQUE(SCHEMA, TABLE))");
    stat.execute("CREATE TABLE IF NOT EXISTS " + SCHEMA + ".WORDS(ID INT AUTO_INCREMENT PRIMARY KEY, NAME VARCHAR, UNIQUE(NAME))");
    stat.execute("CREATE TABLE IF NOT EXISTS " + SCHEMA + ".ROWS(ID IDENTITY, HASH INT, INDEXID INT, \"KEY\" VARCHAR, UNIQUE(HASH, INDEXID, \"KEY\"))");
    stat.execute("CREATE TABLE IF NOT EXISTS " + SCHEMA + ".MAP(ROWID INT, WORDID INT, PRIMARY KEY(WORDID, ROWID))");
    stat.execute("CREATE TABLE IF NOT EXISTS " + SCHEMA + ".IGNORELIST(LIST VARCHAR)");
    stat.execute("CREATE ALIAS IF NOT EXISTS FT_CREATE_INDEX FOR \"" + FullText.class.getName() + ".createIndex\"");
    stat.execute("CREATE ALIAS IF NOT EXISTS FT_DROP_INDEX FOR \"" + FullText.class.getName() + ".dropIndex\"");
    stat.execute("CREATE ALIAS IF NOT EXISTS FT_SEARCH FOR \"" + FullText.class.getName() + ".search\"");
    stat.execute("CREATE ALIAS IF NOT EXISTS FT_SEARCH_DATA FOR \"" + FullText.class.getName() + ".searchData\"");
    stat.execute("CREATE ALIAS IF NOT EXISTS FT_REINDEX FOR \"" + FullText.class.getName() + ".reindex\"");
    stat.execute("CREATE ALIAS IF NOT EXISTS FT_DROP_ALL FOR \"" + FullText.class.getName() + ".dropAll\"");
    FullTextSettings setting = FullTextSettings.getInstance(conn);
    ResultSet rs = stat.executeQuery("SELECT * FROM " + SCHEMA + ".IGNORELIST");
    while (rs.next()) {
        String commaSeparatedList = rs.getString(1);
        setIgnoreList(setting, commaSeparatedList);
    }
    rs = stat.executeQuery("SELECT * FROM " + SCHEMA + ".WORDS");
    HashMap<String, Integer> map = setting.getWordList();
    while (rs.next()) {
        String word = rs.getString("NAME");
        int id = rs.getInt("ID");
        word = setting.convertWord(word);
        if (word != null) {
            map.put(word, id);
        }
    }
    setting.setInitialized(true);
}
Also used : PreparedStatement(java.sql.PreparedStatement) Statement(java.sql.Statement) SimpleResultSet(org.h2.tools.SimpleResultSet) ResultSet(java.sql.ResultSet)

Example 13 with Setting

use of org.h2.engine.Setting in project h2database by h2database.

the class Database method open.

private synchronized void open(int traceLevelFile, int traceLevelSystemOut) {
    if (persistent) {
        String dataFileName = databaseName + Constants.SUFFIX_OLD_DATABASE_FILE;
        boolean existsData = FileUtils.exists(dataFileName);
        String pageFileName = databaseName + Constants.SUFFIX_PAGE_FILE;
        String mvFileName = databaseName + Constants.SUFFIX_MV_FILE;
        boolean existsPage = FileUtils.exists(pageFileName);
        boolean existsMv = FileUtils.exists(mvFileName);
        if (existsData && (!existsPage && !existsMv)) {
            throw DbException.get(ErrorCode.FILE_VERSION_ERROR_1, "Old database: " + dataFileName + " - please convert the database " + "to a SQL script and re-create it.");
        }
        if (existsPage && !FileUtils.canWrite(pageFileName)) {
            readOnly = true;
        }
        if (existsMv && !FileUtils.canWrite(mvFileName)) {
            readOnly = true;
        }
        if (existsPage && !existsMv) {
            dbSettings.mvStore = false;
        }
        if (readOnly) {
            if (traceLevelFile >= TraceSystem.DEBUG) {
                String traceFile = Utils.getProperty("java.io.tmpdir", ".") + "/" + "h2_" + System.currentTimeMillis();
                traceSystem = new TraceSystem(traceFile + Constants.SUFFIX_TRACE_FILE);
            } else {
                traceSystem = new TraceSystem(null);
            }
        } else {
            traceSystem = new TraceSystem(databaseName + Constants.SUFFIX_TRACE_FILE);
        }
        traceSystem.setLevelFile(traceLevelFile);
        traceSystem.setLevelSystemOut(traceLevelSystemOut);
        trace = traceSystem.getTrace(Trace.DATABASE);
        trace.info("opening {0} (build {1})", databaseName, Constants.BUILD_ID);
        if (autoServerMode) {
            if (readOnly || fileLockMethod == FileLockMethod.NO || fileLockMethod == FileLockMethod.SERIALIZED || fileLockMethod == FileLockMethod.FS || !persistent) {
                throw DbException.getUnsupportedException("autoServerMode && (readOnly || " + "fileLockMethod == NO || " + "fileLockMethod == SERIALIZED || " + "fileLockMethod == FS || " + "inMemory)");
            }
        }
        String lockFileName = databaseName + Constants.SUFFIX_LOCK_FILE;
        if (readOnly) {
            if (FileUtils.exists(lockFileName)) {
                throw DbException.get(ErrorCode.DATABASE_ALREADY_OPEN_1, "Lock file exists: " + lockFileName);
            }
        }
        if (!readOnly && fileLockMethod != FileLockMethod.NO) {
            if (fileLockMethod != FileLockMethod.FS) {
                lock = new FileLock(traceSystem, lockFileName, Constants.LOCK_SLEEP);
                lock.lock(fileLockMethod);
                if (autoServerMode) {
                    startServer(lock.getUniqueId());
                }
            }
        }
        if (SysProperties.MODIFY_ON_WRITE) {
            while (isReconnectNeeded()) {
            // wait until others stopped writing
            }
        } else {
            while (isReconnectNeeded() && !beforeWriting()) {
            // wait until others stopped writing and
            // until we can write (the file is not yet open -
            // no need to re-connect)
            }
        }
        deleteOldTempFiles();
        starting = true;
        if (SysProperties.MODIFY_ON_WRITE) {
            try {
                getPageStore();
            } catch (DbException e) {
                if (e.getErrorCode() != ErrorCode.DATABASE_IS_READ_ONLY) {
                    throw e;
                }
                pageStore = null;
                while (!beforeWriting()) {
                // wait until others stopped writing and
                // until we can write (the file is not yet open -
                // no need to re-connect)
                }
                getPageStore();
            }
        } else {
            getPageStore();
        }
        starting = false;
        if (mvStore == null) {
            writer = WriterThread.create(this, writeDelay);
        } else {
            setWriteDelay(writeDelay);
        }
    } else {
        if (autoServerMode) {
            throw DbException.getUnsupportedException("autoServerMode && inMemory");
        }
        traceSystem = new TraceSystem(null);
        trace = traceSystem.getTrace(Trace.DATABASE);
        if (dbSettings.mvStore) {
            getPageStore();
        }
    }
    systemUser = new User(this, 0, SYSTEM_USER_NAME, true);
    mainSchema = new Schema(this, 0, Constants.SCHEMA_MAIN, systemUser, true);
    infoSchema = new Schema(this, -1, "INFORMATION_SCHEMA", systemUser, true);
    schemas.put(mainSchema.getName(), mainSchema);
    schemas.put(infoSchema.getName(), infoSchema);
    publicRole = new Role(this, 0, Constants.PUBLIC_ROLE_NAME, true);
    roles.put(Constants.PUBLIC_ROLE_NAME, publicRole);
    systemUser.setAdmin(true);
    systemSession = new Session(this, systemUser, ++nextSessionId);
    lobSession = new Session(this, systemUser, ++nextSessionId);
    CreateTableData data = new CreateTableData();
    ArrayList<Column> cols = data.columns;
    Column columnId = new Column("ID", Value.INT);
    columnId.setNullable(false);
    cols.add(columnId);
    cols.add(new Column("HEAD", Value.INT));
    cols.add(new Column("TYPE", Value.INT));
    cols.add(new Column("SQL", Value.STRING));
    boolean create = true;
    if (pageStore != null) {
        create = pageStore.isNew();
    }
    data.tableName = "SYS";
    data.id = 0;
    data.temporary = false;
    data.persistData = persistent;
    data.persistIndexes = persistent;
    data.create = create;
    data.isHidden = true;
    data.session = systemSession;
    meta = mainSchema.createTable(data);
    IndexColumn[] pkCols = IndexColumn.wrap(new Column[] { columnId });
    metaIdIndex = meta.addIndex(systemSession, "SYS_ID", 0, pkCols, IndexType.createPrimaryKey(false, false), true, null);
    objectIds.set(0);
    starting = true;
    Cursor cursor = metaIdIndex.find(systemSession, null, null);
    ArrayList<MetaRecord> records = New.arrayList();
    while (cursor.next()) {
        MetaRecord rec = new MetaRecord(cursor.get());
        objectIds.set(rec.getId());
        records.add(rec);
    }
    Collections.sort(records);
    synchronized (systemSession) {
        for (MetaRecord rec : records) {
            rec.execute(this, systemSession, eventListener);
        }
    }
    if (mvStore != null) {
        mvStore.initTransactions();
        mvStore.removeTemporaryMaps(objectIds);
    }
    recompileInvalidViews(systemSession);
    starting = false;
    if (!readOnly) {
        // set CREATE_BUILD in a new database
        String name = SetTypes.getTypeName(SetTypes.CREATE_BUILD);
        if (settings.get(name) == null) {
            Setting setting = new Setting(this, allocateObjectId(), name);
            setting.setIntValue(Constants.BUILD_ID);
            lockMeta(systemSession);
            addDatabaseObject(systemSession, setting);
        }
        // mark all ids used in the page store
        if (pageStore != null) {
            BitSet f = pageStore.getObjectIds();
            for (int i = 0, len = f.length(); i < len; i++) {
                if (f.get(i) && !objectIds.get(i)) {
                    trace.info("unused object id: " + i);
                    objectIds.set(i);
                }
            }
        }
    }
    getLobStorage().init();
    systemSession.commit(true);
    trace.info("opened {0}", databaseName);
    if (checkpointAllowed > 0) {
        afterWriting();
    }
}
Also used : Schema(org.h2.schema.Schema) BitSet(java.util.BitSet) TraceSystem(org.h2.message.TraceSystem) CreateTableData(org.h2.command.ddl.CreateTableData) Cursor(org.h2.index.Cursor) Constraint(org.h2.constraint.Constraint) DbException(org.h2.message.DbException) IndexColumn(org.h2.table.IndexColumn) IndexColumn(org.h2.table.IndexColumn) Column(org.h2.table.Column) FileLock(org.h2.store.FileLock)

Example 14 with Setting

use of org.h2.engine.Setting in project h2database by h2database.

the class Engine method openSession.

private synchronized Session openSession(ConnectionInfo ci) {
    boolean ifExists = ci.removeProperty("IFEXISTS", false);
    boolean ignoreUnknownSetting = ci.removeProperty("IGNORE_UNKNOWN_SETTINGS", false);
    String cipher = ci.removeProperty("CIPHER", null);
    String init = ci.removeProperty("INIT", null);
    Session session;
    for (int i = 0; ; i++) {
        session = openSession(ci, ifExists, cipher);
        if (session != null) {
            break;
        }
        // wait a bit to avoid a busy loop (the method is synchronized)
        if (i > 60 * 1000) {
            // retry at most 1 minute
            throw DbException.get(ErrorCode.DATABASE_ALREADY_OPEN_1, "Waited for database closing longer than 1 minute");
        }
        try {
            Thread.sleep(1);
        } catch (InterruptedException e) {
        // ignore
        }
    }
    synchronized (session) {
        session.setAllowLiterals(true);
        DbSettings defaultSettings = DbSettings.getDefaultSettings();
        for (String setting : ci.getKeys()) {
            if (defaultSettings.containsKey(setting)) {
                // database setting are only used when opening the database
                continue;
            }
            String value = ci.getProperty(setting);
            try {
                CommandInterface command = session.prepareCommand("SET " + Parser.quoteIdentifier(setting) + " " + value, Integer.MAX_VALUE);
                command.executeUpdate(false);
            } catch (DbException e) {
                if (e.getErrorCode() == ErrorCode.ADMIN_RIGHTS_REQUIRED) {
                    session.getTrace().error(e, "admin rights required; user: \"" + ci.getUserName() + "\"");
                } else {
                    session.getTrace().error(e, "");
                }
                if (!ignoreUnknownSetting) {
                    session.close();
                    throw e;
                }
            }
        }
        if (init != null) {
            try {
                CommandInterface command = session.prepareCommand(init, Integer.MAX_VALUE);
                command.executeUpdate(false);
            } catch (DbException e) {
                if (!ignoreUnknownSetting) {
                    session.close();
                    throw e;
                }
            }
        }
        session.setAllowLiterals(false);
        session.commit(true);
    }
    return session;
}
Also used : CommandInterface(org.h2.command.CommandInterface) DbException(org.h2.message.DbException)

Example 15 with Setting

use of org.h2.engine.Setting in project h2database by h2database.

the class Parser method parseSet.

private Prepared parseSet() {
    if (readIf("@")) {
        Set command = new Set(session, SetTypes.VARIABLE);
        command.setString(readAliasIdentifier());
        readIfEqualOrTo();
        command.setExpression(readExpression());
        return command;
    } else if (readIf("AUTOCOMMIT")) {
        readIfEqualOrTo();
        boolean value = readBooleanSetting();
        int setting = value ? CommandInterface.SET_AUTOCOMMIT_TRUE : CommandInterface.SET_AUTOCOMMIT_FALSE;
        return new TransactionCommand(session, setting);
    } else if (readIf("MVCC")) {
        readIfEqualOrTo();
        boolean value = readBooleanSetting();
        Set command = new Set(session, SetTypes.MVCC);
        command.setInt(value ? 1 : 0);
        return command;
    } else if (readIf("EXCLUSIVE")) {
        readIfEqualOrTo();
        Set command = new Set(session, SetTypes.EXCLUSIVE);
        command.setExpression(readExpression());
        return command;
    } else if (readIf("IGNORECASE")) {
        readIfEqualOrTo();
        boolean value = readBooleanSetting();
        Set command = new Set(session, SetTypes.IGNORECASE);
        command.setInt(value ? 1 : 0);
        return command;
    } else if (readIf("PASSWORD")) {
        readIfEqualOrTo();
        AlterUser command = new AlterUser(session);
        command.setType(CommandInterface.ALTER_USER_SET_PASSWORD);
        command.setUser(session.getUser());
        command.setPassword(readExpression());
        return command;
    } else if (readIf("SALT")) {
        readIfEqualOrTo();
        AlterUser command = new AlterUser(session);
        command.setType(CommandInterface.ALTER_USER_SET_PASSWORD);
        command.setUser(session.getUser());
        command.setSalt(readExpression());
        read("HASH");
        command.setHash(readExpression());
        return command;
    } else if (readIf("MODE")) {
        readIfEqualOrTo();
        Set command = new Set(session, SetTypes.MODE);
        command.setString(readAliasIdentifier());
        return command;
    } else if (readIf("COMPRESS_LOB")) {
        readIfEqualOrTo();
        Set command = new Set(session, SetTypes.COMPRESS_LOB);
        if (currentTokenType == VALUE) {
            command.setString(readString());
        } else {
            command.setString(readUniqueIdentifier());
        }
        return command;
    } else if (readIf("DATABASE")) {
        readIfEqualOrTo();
        read("COLLATION");
        return parseSetCollation();
    } else if (readIf("COLLATION")) {
        readIfEqualOrTo();
        return parseSetCollation();
    } else if (readIf("BINARY_COLLATION")) {
        readIfEqualOrTo();
        return parseSetBinaryCollation();
    } else if (readIf("CLUSTER")) {
        readIfEqualOrTo();
        Set command = new Set(session, SetTypes.CLUSTER);
        command.setString(readString());
        return command;
    } else if (readIf("DATABASE_EVENT_LISTENER")) {
        readIfEqualOrTo();
        Set command = new Set(session, SetTypes.DATABASE_EVENT_LISTENER);
        command.setString(readString());
        return command;
    } else if (readIf("ALLOW_LITERALS")) {
        readIfEqualOrTo();
        Set command = new Set(session, SetTypes.ALLOW_LITERALS);
        if (readIf("NONE")) {
            command.setInt(Constants.ALLOW_LITERALS_NONE);
        } else if (readIf("ALL")) {
            command.setInt(Constants.ALLOW_LITERALS_ALL);
        } else if (readIf("NUMBERS")) {
            command.setInt(Constants.ALLOW_LITERALS_NUMBERS);
        } else {
            command.setInt(readPositiveInt());
        }
        return command;
    } else if (readIf("DEFAULT_TABLE_TYPE")) {
        readIfEqualOrTo();
        Set command = new Set(session, SetTypes.DEFAULT_TABLE_TYPE);
        if (readIf("MEMORY")) {
            command.setInt(Table.TYPE_MEMORY);
        } else if (readIf("CACHED")) {
            command.setInt(Table.TYPE_CACHED);
        } else {
            command.setInt(readPositiveInt());
        }
        return command;
    } else if (readIf("CREATE")) {
        readIfEqualOrTo();
        // Derby compatibility (CREATE=TRUE in the database URL)
        read();
        return new NoOperation(session);
    } else if (readIf("HSQLDB.DEFAULT_TABLE_TYPE")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("PAGE_STORE")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("CACHE_TYPE")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("FILE_LOCK")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("DB_CLOSE_ON_EXIT")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("AUTO_SERVER")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("AUTO_SERVER_PORT")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("AUTO_RECONNECT")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("ASSERT")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("ACCESS_MODE_DATA")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("OPEN_NEW")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("JMX")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("PAGE_SIZE")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("RECOVER")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("NAMES")) {
        // Quercus PHP MySQL driver compatibility
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("SCOPE_GENERATED_KEYS")) {
        readIfEqualOrTo();
        read();
        return new NoOperation(session);
    } else if (readIf("SCHEMA")) {
        readIfEqualOrTo();
        Set command = new Set(session, SetTypes.SCHEMA);
        command.setString(readAliasIdentifier());
        return command;
    } else if (readIf("DATESTYLE")) {
        // PostgreSQL compatibility
        readIfEqualOrTo();
        if (!readIf("ISO")) {
            String s = readString();
            if (!equalsToken(s, "ISO")) {
                throw getSyntaxError();
            }
        }
        return new NoOperation(session);
    } else if (readIf("SEARCH_PATH") || readIf(SetTypes.getTypeName(SetTypes.SCHEMA_SEARCH_PATH))) {
        readIfEqualOrTo();
        Set command = new Set(session, SetTypes.SCHEMA_SEARCH_PATH);
        ArrayList<String> list = New.arrayList();
        list.add(readAliasIdentifier());
        while (readIf(",")) {
            list.add(readAliasIdentifier());
        }
        command.setStringArray(list.toArray(new String[0]));
        return command;
    } else if (readIf("JAVA_OBJECT_SERIALIZER")) {
        readIfEqualOrTo();
        return parseSetJavaObjectSerializer();
    } else {
        if (isToken("LOGSIZE")) {
            // HSQLDB compatibility
            currentToken = SetTypes.getTypeName(SetTypes.MAX_LOG_SIZE);
        }
        if (isToken("FOREIGN_KEY_CHECKS")) {
            // MySQL compatibility
            currentToken = SetTypes.getTypeName(SetTypes.REFERENTIAL_INTEGRITY);
        }
        int type = SetTypes.getType(currentToken);
        if (type < 0) {
            throw getSyntaxError();
        }
        read();
        readIfEqualOrTo();
        Set command = new Set(session, type);
        command.setExpression(readExpression());
        return command;
    }
}
Also used : Set(org.h2.command.dml.Set) LinkedHashSet(java.util.LinkedHashSet) AlterTableSet(org.h2.command.dml.AlterTableSet) HashSet(java.util.HashSet) NoOperation(org.h2.command.dml.NoOperation) ArrayList(java.util.ArrayList) TransactionCommand(org.h2.command.dml.TransactionCommand) AlterUser(org.h2.command.ddl.AlterUser) ValueString(org.h2.value.ValueString) AlterTableRenameConstraint(org.h2.command.ddl.AlterTableRenameConstraint) AlterTableAddConstraint(org.h2.command.ddl.AlterTableAddConstraint) AlterTableDropConstraint(org.h2.command.ddl.AlterTableDropConstraint)

Aggregations

PreparedStatement (java.sql.PreparedStatement)10 ResultSet (java.sql.ResultSet)8 DbException (org.h2.message.DbException)8 Statement (java.sql.Statement)7 SimpleResultSet (org.h2.tools.SimpleResultSet)6 Schema (org.h2.schema.Schema)4 ArrayList (java.util.ArrayList)3 Constraint (org.h2.constraint.Constraint)3 Database (org.h2.engine.Database)3 Setting (org.h2.engine.Setting)3 ValueString (org.h2.value.ValueString)3 IOException (java.io.IOException)2 SQLException (java.sql.SQLException)2 HashSet (java.util.HashSet)2 DbObject (org.h2.engine.DbObject)2 Right (org.h2.engine.Right)2 Role (org.h2.engine.Role)2 Session (org.h2.engine.Session)2 User (org.h2.engine.User)2 UserAggregate (org.h2.engine.UserAggregate)2