Index field for ALERT_LOG

I created a few alert storage profiles and pretty much used the defaults for everything. Under the advanced properties, the key column is listed as ALERT_LOG_ID for each profile. Looking at the database table that was created, it’s ALERT_LOG_ndx. Why is there a difference?

The mixed case is also a bit odd. I’m assuming you’re using quoted identifiers in the generated create table statement? I can’t speak for other RDMSs, but I’m using Oracle and quoted identifiers like that make the field name case-sensitive. Took me a while to figure out what was going on and why queries like “select alert_log_ndx from alert_log” weren’t working.

Hi,

You’re right. That system lets you specify the index name, but actually uses the default name format of “tablename_ndx” that many other parts of the system uses. We’ll fix it to actually use the specified name, but of course that only really matters for new systems.

Ultimately, the system doesn’t assume that column name anywhere, so you can alter the table and change the name if you want. The only trick to it is that the system has also set up a sequence and trigger to generate values for that column, so you’ll have to modify those as well.

The system does use quotes around columns, as defined by the “quote char” in the db translator. We’ve found this to be the easiest system, always using quotes, in order to avoid mixed case issues. However, we also should make sure that everything is a single case when creating the column to begin with…

Anyhow, if you were to clear out the “quote char” setting, it wouldn’t use it- though that might create issues for already created tables.

Regards,