public List<FunctionRecord> getFunctionRecordsByLibraryAndName(LibraryRecord library,
			String name) throws IOException {
		Long stringID = stringsTable.lookupStringID(name);
		if (stringID == null) {
			// no records with that name
			return Collections.emptyList();
		}
		LongField field = new LongField(stringID);
		DBFieldIterator iterator = table.indexKeyIterator(NAME_ID_COL, field, field, true);
		if (!iterator.hasNext()) {
			return Collections.emptyList();
		}
		final long libraryKey = library.getLibraryID();
		List<FunctionRecord> list = new ArrayList<>();
		while (iterator.hasNext()) {
			Field key = iterator.next();
			FunctionRecord functionRecord = functionCache.get(key.getLongValue());
			if (functionRecord == null) {
				DBRecord record = table.getRecord(key);
				if (record.getLongValue(LIBRARY_ID_COL) == libraryKey) {
					functionRecord = new FunctionRecord(fidDb, functionCache, record);
					list.add(functionRecord);
				}
			}
			else {
				if (functionRecord.getLibraryID() == libraryKey) {
					list.add(functionRecord);
				}
			}
		}
		return list;
	}
Performs a library-restricted search for functions by name.
@param library the library to restrict the search to
@param name the name of the function to seek
@return a list of all functions in that library having that name
@throws IOException if database iteration encounters an error
Ghidra/Features/FunctionID/src/main/java/ghidra/feature/fid/db/FunctionsTable.java