private boolean markPreviouslyStoredFunctions(DescriptionManager input,
			Iterator<FunctionDescription> iter) throws SQLException {
		boolean newfuncs = false;

		while (iter.hasNext()) {
			FunctionDescription func = iter.next();
			ExecutableRecord erec = func.getExecutableRecord();
			if (!erec.isAlreadyStored()) {
				newfuncs = true;
				continue;
			}
			DescriptionRow row = descTable.queryFuncNameAddr(erec.getRowId().getLong(),
				func.getFunctionName(), func.getAddress());
			if (row == null) {
				newfuncs = true;
				continue;
			}

			// We could do some consistency checks here between -func- being
			// inserted and -func2- that was already present

			// Set the id, which marks -func- as already stored.
			input.setFunctionDescriptionId(func, new RowKeySQL(row.rowid));
		}
		return newfuncs;
	}
Run through a list of functions: mark any that have been previously
stored to the database by populating the function's rowid in the
corresponding FunctionDescription

@param input
           is DescriptionManager containing the functions
@param iter
           is the iterator listing the FunctionDescriptions
@return true if there are ANY new functions, either from new executables,
        or old executables with new functions
@throws SQLException if there is a problem querying the description table
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/client/AbstractSQLFunctionDatabase.java