c-treeACE has long supported the ability to “hide” fields from casual schema inspection using a “_” prefix to the column name. These fields were then skipped when importing into c-treeACE SQL. However, this could lead to problems when accessing schema information via interfaces other than c-treeACE SQL. For example, a c-treeACE SQL Server linked to a Microsoft SQL Server via ODBC would not properly work with these tables, as the enumeration (ORDINAL_POSITION) of the columns did not accurately reflect actual available columns.
An attribute has been added to the c-treeACE SQL system table syscolumns (syscolumns.logicalid) that logically identifies columns when a logical ordering is required. The field is NULL by default.
Existing tables with hidden fields should be re-imported if they exhibit problems. The syscolumns.logicalid can also be manually updated following an automatic database upgrade with the new system table format.