@Override
	public void resetStorage(double simThresh, double sigThresh) throws LSHException {
		simThreshold = simThresh;
		sigThreshold = sigThresh;
		cacheMap = new TreeMap<String, Float>();				// Clear the cache
		QueryOptionalExist query = new QueryOptionalExist();
		query.tableName = TABLE_NAME;
		query.keyType = Types.VARCHAR;
		query.valueType = Types.REAL;
		query.attemptCreation = false;
		query.clearTable = true;								// Clear out the table
		ResponseOptionalExist response = query.execute(db);
		if (response == null) {
			throw new LSHException(db.getLastError().message);
		}
		if (!response.tableExists) {
			throw new LSHException("Optional table does not exist when it should: " + TABLE_NAME);
		}
		setUpInsert(2);
		insertValue.keys[0] = SIMILARITY_KEY;
		insertValue.keys[1] = SIGNIFICANCE_KEY;
		insertValue.values[0] = Float.valueOf((float) simThreshold);		// Write thresholds to special table rows
		insertValue.values[1] = Float.valueOf((float) sigThreshold);
		if (insertValue.execute(db) == null) {
			throw new LSHException("Unable to initialize new thresholds: " + TABLE_NAME);
		}
	}
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