private String getExternalStringData(DBRecord rec) {
		long addrKey = rec.getLongValue(V3_SYMBOL_ADDR_COL);
		Address addr = addrMap.decodeAddress(addrKey);
		if (addr == null || !addr.isExternalAddress()) {
			return null;
		}
		byte symbolTypeId = rec.getByteValue(V3_SYMBOL_TYPE_COL);
		if (symbolTypeId != SYMBOL_TYPE_FUNCTION && symbolTypeId != SYMBOL_TYPE_LABEL) {
			return null;
		}

		return rec.getString(V3_SYMBOL_STRING_DATA_COL);
	}
SymbolDatabaseAdapter for version 3

This version provides for fast symbol lookup by namespace and name and introduced the use of 
sparse table columns for storing optional symbol data (hash, primary, datatype-ID, variable-offset).
It was created in June 2021 with ProgramDB version 24. 
It was first in affect within Ghidra starting at version 10.1
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/SymbolDatabaseAdapterV3.java