@Override
	public float getSelfScore(String md5) throws LSHException {
		initialize();
		Float val = cacheMap.get(md5);
		if (val != null) {
			return val.floatValue();
		}
		setUpQuery(1);
		queryValue.keys[0] = md5;
		ResponseOptionalValues response = queryValue.execute(db);
		if (response == null) {
			throw new LSHException(db.getLastError().message);
		}
		val = (Float) response.resultArray[0];
		if (val == null) {
			throw new LSHException("Self-score not recorded for " + md5);
		}
		cacheMap.put(md5, val);
		return val.floatValue();
	}
Make sure the backing database table exists, and if it doesn't, create it.
If the table existed previously, try to read thresholds from it
@throws LSHException for problems with the connection
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/client/TableScoreCaching.java