private void generateWhereClause(BSimFilter exefilter, IDSQLResolution idres[],
		SQLFunctionDatabase db) throws SQLException {

		for (int i = 0; i < exefilter.numAtoms(); ++i) {
			FilterAtom atom = exefilter.getAtom(i);
			atom.type.gatherSQLEffect(this, atom, idres[i]);
		}

		if (filterMask != 0) {
			StringBuilder buf = new StringBuilder();
			String maskedFlags =
				db.formatBitAndSQL("desctable.flags", Integer.toString(filterMask));
			buf.append(maskedFlags).append(" = ").append(filterValue);
			addLink(buf.toString());
		}

		if (exetable) {
			addLink("desctable.id_exe = exetable.id");
		}
		if (pathtable) {
			addLink("exetable.path = pathtable.id");
		}
	}
Generate the string pieces of the WHERE clause, based on the FilterAtoms within the general filter,
sort them into the wherelist container
@param exefilter is the general filter
@param idres is an array of precalculated ids associated with each FilterAtom
@throws SQLException for errors building the SQL clause
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/client/SQLEffects.java