IncludeIDInDescriptor
Determines whether the provider includes the ID in descriptor fields. This only applies when ConnectionType is WQL.
Data Type
bool
Default Value
true
Remarks
Rows in WQL that reference other rows store data in two parts: an internal Workday ID and a descriptor that is a human-readable name for the row being referenced. For example, a country may have the internal ID 86bc49361cf911ee9f2d00155d17ccfc with the descriptor "Canada".
The driver exposes these as two columns, for example, [visaCountry.id] and [visaCountry.descriptor]. This option determines the values of the descriptor column:
- By default the driver combines the values into a name like "Canada / 86bc49361cf911ee9f2d00155d17ccfc". This allows the driver to optimize filters and aggregations using the descriptor column. The driver extracts the ID value and sends it to Workday while the query uses the more readable descriptor value.
- If this option is disabled, the driver reports just the descriptor text in the descriptor column.
The driver performs these optimizations when this option is enabled:
SELECT * FROM foreignWorkers WHERE [visaCountry.descriptor] = 'Canada / 86bc49361cf911ee9f2d00155d17ccfc' -- WQL: The ID value is extracted and filtered directly SELECT ... FROM foreignWorkers WHERE visaCountry = '86bc49361cf911ee9f2d00155d17ccfc' SELECT [visaCountry.descriptor], COUNT(*) FROM foreignWorkers GROUP BY [visaCountry.descriptor] -- WQL: The ID value is used for aggregation and combined with the descriptor when reading. SELECT visaCountry, COUNT(*) FROM foreignWorkers GROUP BY visaCountry -- Doing this with IncludeIDInDescriptor=false requires aggregating by the ID and looking up the descriptor -- SELECT t2.descriptor, t1.COUNT FROM (SELECT [visaCountry.id] AS id, COUNT(*) FROM foreignWorkers GROUP BY [visaCountry.id]) t1 -- INNER JOIN foreignWorkers t2 ON t1.id = t2.id