try { stmt.close(); } catch(SQLException e) {  }
close(stmt);
	public static void setClassPath(String schemaName, String path)	throws SQLException	{		Connection conn = DriverManager.getConnection("jdbc:default:connection");		try		{			if(schemaName == null || schemaName.length() == 0)				schemaName = "public";						if("public".equals(schemaName))			{				if(!AclId.getSessionUser().isSuperuser())					throw new SQLException("Permission denied. Only a super user can set the classpath of the public schema");			}			else			{				schemaName = schemaName.toLowerCase();				Oid schemaId = getSchemaId(conn, schemaName);				if(schemaId == null)					throw new SQLException("No such schema: " + schemaName);				if(!AclId.getSessionUser().hasSchemaCreatePermission(schemaId))					throw new SQLException("Permission denied. User must have create permission on the target schema in order to set the classpath");			}			PreparedStatement stmt;			ArrayList entries = null;			if(path != null && path.length() > 0)			{					// Collect and verify that all entries in the path represents a				// valid jar				//				entries = new ArrayList();				stmt = conn.prepareStatement(					"SELECT jarId FROM sqlj.jar_repository WHERE jarName = ?");				try				{					for(;;)					{						int colon = path.indexOf(':');						String jarName;						if(colon >= 0)						{								jarName = path.substring(0, colon);							path = path.substring(colon + 1);						}						else							jarName = path;							int jarId = getJarId(stmt, jarName, null);						if(jarId < 0)							throw new SQLException("No such jar: " + jarName);								entries.add(new Integer(jarId));						if(colon < 0)							break;					}				}				finally				{					try { stmt.close(); } catch(SQLException e) { /* ignore close errors */ }				}			}			// Delete the old classpath			//			stmt = conn.prepareStatement(				"DELETE FROM sqlj.classpath_entry WHERE schemaName = ?");			try			{				stmt.setString(1, schemaName);				stmt.executeUpdate();			}			finally			{				try { stmt.close(); } catch(SQLException e) { /* ignore close errors */ }			}			if(entries != null)			{					// Insert the new path.				//				stmt = conn.prepareStatement(					"INSERT INTO sqlj.classpath_entry(schemaName, ordinal, jarId) VALUES(?, ?, ?)");				try				{					int top = entries.size();					for(int idx = 0; idx < top; ++idx)					{						int jarId = ((Integer)entries.get(idx)).intValue();						stmt.setString(1, schemaName);						stmt.setInt(2, idx + 1);						stmt.setInt(3, jarId);						stmt.executeUpdate();					}				}				finally				{					try { stmt.close(); } catch(SQLException e) { /* ignore close errors */ }				}			}		Loader.clearSchemaLoaders();		}		finally		{			try { conn.close(); } catch(SQLException e) { /* ignore close errors */ }		}	}