Connector Schema is Case Sensitive (undocumented) and the case can not be changed from UI or API

What problem are you observing?

The source was set up using the JDBC Direct Connector with a query that had camel case column names. The source was configured with the account schema and some attribute sync values, and 6 accounts were retrieved for testing. Everything worked fine during testing.

Recently, a change was made to move the query into a view, and the view is returning the column names in Upper Case. No other changes were made. When an aggregation is now done on the source, an error is received “Identity attribute [Primary_ID] was not found.” I then set up an alias to change the column names returned for the Account ID and Account Name back to the original case, and the aggregation succeeds. However, none of the other fields changed.

When I attempted to change the case of the other fields from camel case to Upper using the UI, I get an error “This Attribute Name is already in use.”

I then tried changing it from the API, using the Full Schema Update, and I got errors like this:
“detailCode”: “400.2.1.0 Object in use by another”,
“trackingId”: “REMOVED”,
“messages”: [
{
“locale”: “en-US”,
“localeOrigin”: “DEFAULT”,
“text”: “Unable to delete attributes "Column_11, Column_22, Column_Bogus_Data" because it is referenced by "attribute sync configuration".”
}

These I assume are due to these columns being used for Correlation, groups/entitlements, and ID values.

I also reviewed the Documentation found here:

General: Managing Sources Overview - SailPoint Identity Services
Connector: Aggregating Accounts and Entitlements

What is the correct behavior?

One of the following should be true:

  • The schema IS case sensitive, it is documented as such, and the UI/API allows you to change the case.
  • The schema is NOT case sensitive, it is documented as such. and the schema populates correctly regardless of the case.

What product feature is this related to?

ISC Account Schemas and connectors. Tested with JDBC Direct Connector

What are the steps to reproduce the issue?

Create a JDBC Connector with column names in Camel Case.
Aggregate in 1+ accounts
Change the query to have column names in All Upper case.
Aggregate.
Get odd Error for Account ID and Account Name issue (“Identity attribute [Primary_ID] was not found.”)
Change those back to Camel Case in the query, but leave the remaining
Aggregate 2+ accounts, with at least 1 new one.
Note that no other fields are populated.
Attempt to change the Account Schema for a column from camel to UPPER case and see the error.

Do you have any other information about your environment that may help?

The Work around for Account ID and Account Name fields are to alias the values returned from the view back to Camel Case.

The Workaround for the other fields is to first rename the field to some thing else (First_Name → First_Name_1), Save, then rename to the correct value (First_Name_1 → FIRST_NAME)

No workaround for API attempted.