public void installCategory(String categoryName, boolean isDate)
			throws LSHException, IOException {
		DatabaseInformation info = establishQueryServerConnection(false);

		InstallCategoryRequest req = new InstallCategoryRequest();
		req.type_name = dequoteString(categoryName);
		req.isdatecolumn = isDate;

		ResponseInfo resp = req.execute(querydb);
		if (resp == null) {
			BSimError lastError = querydb.getLastError();
			throw new LSHException("Could not install new category: " + lastError.message);
		}
		info = resp.info;

		StringBuilder buf = new StringBuilder();
		buf.append("BSim Database ");
		buf.append(info.databasename);
		buf.append(" now contains:\n");
		formatCategories(info.execats, buf);
		if (info.dateColumnName != null) {
			buf.append(" Date column: ");
			buf.append(info.dateColumnName);
			buf.append("\n");
		}

		// TODO: Should this output differ for command-line vs workbench? debug only?
		Msg.info(this, buf.toString());
	}
Performs the work of installing a new category name. This will build the query
object, establish the database connection, and perform the query.

@param categoryName the category name to insert
@param isDate true if this is a date category
@throws IOException if there's an error establishing the database connection
@throws LSHException if there's an error issuing the query
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/ingest/BulkSignatures.java