@Override
	DBRecord updateSettingsRecord(long associationId, String name, String strValue, long longValue)
			throws IOException {

		strValue = StringUtils.isBlank(strValue) ? null : strValue.trim();

		DBRecord record = getSettingsRecord(associationId, name);
		if (record == null) {
			return createSettingsRecord(associationId, name, strValue, longValue);
		}

		String recStrValue = record.getString(V1_SETTINGS_STRING_VALUE_COL);
		long recLongValue = record.getLongValue(V1_SETTINGS_LONG_VALUE_COL);

		if (recLongValue != longValue || !Objects.equals(recStrValue, strValue)) {
			record.setString(V1_SETTINGS_STRING_VALUE_COL, strValue);
			record.setLongValue(V1_SETTINGS_LONG_VALUE_COL, longValue);
			settingsTable.putRecord(record);
			return record;
		}
		return null;
	}
Get previously assigned name index.
@param name setting name
@return name index or a value less than {@code #MIN_NAME_INDEX} if not defined
@throws IOException if an IO error occurs
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/SettingsDBAdapterV1.java