public FunctionRecord createFunctionRecord(long libraryID, FidHashQuad hashQuad, String name,
			long entryPoint, String domainPath, boolean hasTerminator) throws IOException {
		DBRecord record = SCHEMA.createRecord(UniversalIdGenerator.nextID().getValue());
		record.setShortValue(CODE_UNIT_SIZE_COL, hashQuad.getCodeUnitSize());
		record.setLongValue(FULL_HASH_COL, hashQuad.getFullHash());
		record.setByteValue(SPECIFIC_HASH_ADDITIONAL_SIZE_COL,
			hashQuad.getSpecificHashAdditionalSize());
		record.setLongValue(SPECIFIC_HASH_COL, hashQuad.getSpecificHash());
		record.setLongValue(LIBRARY_ID_COL, libraryID);
		long stringID = stringsTable.obtainStringID(name);
		record.setLongValue(NAME_ID_COL, stringID);
		record.setLongValue(ENTRY_POINT_COL, entryPoint);
		stringID = stringsTable.obtainStringID(domainPath);
		record.setLongValue(DOMAIN_PATH_ID_COL, stringID);
		byte flags = (byte) (hasTerminator ? FunctionRecord.HAS_TERMINATOR_FLAG : 0);
		record.setByteValue(FLAGS_COL, flags);
		table.putRecord(record);
		FunctionRecord functionRecord = new FunctionRecord(fidDb, functionCache, record);
		return functionRecord;
	}
Creates a function record with the given parameters.
@param libraryID the library record primary key
@param hashQuad the quad containing the hash values
@param name the name of the function
@param entryPoint the entry point (address) of the function as found in the library
@param domainPath the domain path of the domain object of the function in the library
@param hasTerminator whether the function contained a terminator in the flow of its function body
@return the newly created function record
@throws IOException if the database create record operation fails
Ghidra/Features/FunctionID/src/main/java/ghidra/feature/fid/db/FunctionsTable.java