Extended Metadata

The Simba Salesforce ODBC Connector can retrieve detailed metadata about Salesforce tables and columns. This information is available only if the Enable Extended Metadata check box is selected or the ExtendedMetadata property is set to 1. When that option is enabled, the connector returns additional metadata as JSON objects in the REMARKS column when you call SQLTables or SQLColumns.

Important:

Important:

  • If any of the JSON objects in the REMARKS column ends with a "truncated":true attribute, this means that the connector has truncated the returned metadata because it exceeds the maximum number of characters that the REMARKS column can contain (2,027,000 characters).
  • When this feature is enabled, connector performance may decrease significantly due to the amount of additional metadata that is retrieved.

The following table lists the additional metadata that can be retrieved, the function call that returns the metadata, and the name of the JSON object in which the metadata is returned:

Metadata Function Call JSON Object

Table display names

SQLTables

label

Column display names

SQLColumns

label

Privileges associated with the tables or columns

SQLTables or SQLColumns

privileges

Enum values for Picklist columns

SQLColumns

picklistValues

Compound field name for Compound fields

SQLColumns

compoundFieldName

The privileges associated with a table or column are indicated by the following fields in the privileges JSON object:

Field Name Description

select

This field indicates whether the data in the table or column is readable.

insert

This field indicates whether the data in the table or column is writeable.

update

This field indicates whether the data in the table or column can be updated.

delete

This field indicates whether the data in the table or column can be deleted.

For example, when you call SQLColumns on a Picklist column, and the extended metadata feature is enabled, the connector returns a REMARKS column with contents such as the following:

{

"label": "Account Type",

"privileges" :

{

"select": "true",

"insert": "true",

"update": "true",

},

"picklistValues":

[

{"value": "Analyst",

"label":" Analyst "},

{"value": "Competitor",

"label":" Competitor "} ,

{"value": "Customer",

"label":" Customer "} ,

{"value": "Integrator",

"label":" Integrator "} ,

{"value": "Investor",

"label":" Investor "} ,

{"value": "Partner",

"label":" Partner "} ,

{"value": "Press",

"label":" Press "} ,

{"value": "Prospect",

"label":" Prospect "} ,

{"value": "Reseller",

"label":" Reseller "} ,

{"value": "Other",

"label":" Other "}

]

}

This returned metadata indicates the following:

  • The column has "Account Type" as its display name.
  • You can read, write, and update the data that the column contains. However, you cannot delete the data.
  • The column contains picklist values such as Analyst, Competitor, Customer, and so on.