static RelocationDBAdapter getAdapter(DBHandle dbHandle, OpenMode openMode, AddressMap addrMap,
			TaskMonitor monitor) throws VersionException, IOException {
		try {
			return new RelocationDBAdapterV6(dbHandle, addrMap, openMode == OpenMode.CREATE);
		}
		catch (VersionException e) {
			if (!e.isUpgradable() || openMode == OpenMode.UPDATE) {
				throw e;
			}
			RelocationDBAdapter adapter = findReadOnlyAdapter(dbHandle, addrMap);
			if (openMode == OpenMode.UPGRADE) {
				adapter = upgrade(dbHandle, addrMap, adapter, monitor);
			}
			return adapter;
		}
	}
FLAGS bit encoding:
  | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
  |   |     length    |   status  |
 status: Relocation.Status enum index    
 length: Optional byte-length used when bytes is null (0..31)
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/reloc/RelocationDBAdapter.java