public ExecutableRecord makeExecutableRecord(DescriptionManager manager, ExecutableRow row)
		throws SQLException, LSHException {
		String arch = archtable.getString(row.arch_id);

		ExecutableRecord exerec;
		RowKeySQL rowid = new RowKeySQL(row.rowid);
		if (ExecutableRecord.isLibraryHash(row.md5)) {
			exerec = manager.newExecutableLibrary(row.exename, arch, rowid);
		}
		else {
			String cname = compilertable.getString(row.compiler_id);
			String repo = repositorytable.getString(row.repo_id);
			String path = pathtable.getString(row.path_id);
			Date date = new Date(row.date_milli);
			exerec = manager.newExecutableRecord(row.md5, row.exename, cname, arch, date, repo,
				path, rowid);
		}
		return exerec;
	}
Make an ExecutableRecord within the DescriptionManager container, given
database row information

@param manager is the DescriptionManager that will contain the new record
@param row is the columnar values for the executable from the database
@return the new ExecutableRecord
@throws SQLException if there is a problem parsing the table objects
@throws LSHException if there is a problem creating a new exec library or record
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/client/tables/ExeTable.java