private short assignNameIndexValue(String name) throws IOException {
		initNameMaps();
		Short nameIndex = nameStringMap.get(name);
		if (nameIndex != null) {
			return nameIndex;
		}

		// 1 is the first assigned name key value which allows for short cast
		long key = Math.max(MIN_NAME_INDEX, settingsNameTable.getKey());
		if (key == Short.MAX_VALUE) {
			// 32766 should be way more than enough unique setting names
			throw new IOException("Too many settings names defined");
		}

		// Add new name record
		nameIndex = (short) key;
		DBRecord nameRec = V1_NAME_TABLE_SCHEMA.createRecord(key);
		nameRec.setString(V1_NAME_COL, name);
		settingsNameTable.putRecord(nameRec);

		nameIndexMap.put(nameIndex, name);
		nameStringMap.put(name, nameIndex);

		return nameIndex;
	}
Version 1 implementation for the accessing the data type settings database table.
This version stores settings name as an index in each record which corresponds 
to an entry in the into a second table for
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/SettingsDBAdapterV1.java