@Override public UserLevel getUserLevel(String sessID, String name) throws SQLException, SessionExpiredException { if (userExists(sessID, name)) { // If the user can create other users, they're assumed to be admin. PooledConnection conn = ConnectionController.connectPooled(sessID); try { ResultSet rs = conn.executePreparedQuery("SELECT Create_user_priv FROM mysql.user WHERE user=?", name); if (rs.next()) { if (rs.getString(1).equals("Y")) { return UserLevel.ADMIN; } } rs = conn.executePreparedQuery( "SELECT Create_tmp_table_priv FROM mysql.db WHERE user=?", name); if (rs.next()) { if (rs.getString(1).equals("Y")) { return UserLevel.USER; } } } finally { conn.close(); } return UserLevel.GUEST; } return UserLevel.NONE; }