private static FunctionDefinitionDBAdapter findReadOnlyAdapter(DBHandle handle,
			String tablePrefix, CallingConventionDBAdapter callConvAdapter)
			throws VersionException {
		try {
			return new FunctionDefinitionDBAdapterV1(handle, tablePrefix, callConvAdapter);
		}
		catch (VersionException e) {
			// ignore
		}
		try {
			return new FunctionDefinitionDBAdapterV0(handle);
		}
		catch (VersionException e) {
			// ignore
		}

		return new FunctionDefinitionDBAdapterNoTable(handle);
	}
Tries to get a read only adapter for the database whose handle is passed to this method.
@param handle handle to prior version of the database.
@param tablePrefix prefix to be used with default table name
@param callConvAdapter calling convention table adapter suitable to add new conventions
(e.g., this adapter being used during upgrade operation).  Should be null if not performing
an upgrade.
@return the read only Function Definition data type table adapter
@throws VersionException if a read only adapter can't be obtained for the database handle's version.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/FunctionDefinitionDBAdapter.java