Function Pushdown
The following examples contrast the query plans when a function cannot be pushed down. In the right column, an extra step appears in the query plan. This extra step appears because the data source does not support the MD5 function. CData Virtuality compensated for the lack of MD5 functionality by implementing it internally.
Example 1: Pushdown supported
SELECT
md5("Name")
FROM
"mssql_advworks_2019.AdventureWorks2019.HumanResources.Shift"
;;
SELECT md5(g_0.Name) FROM mssql_advworks_2019.AdventureWorks2019.HumanResources.Shift AS g_0
Example 2: Pushdown NOT supported
SELECT
md5("salespersonid")
FROM
"no_pushdown.SalesOrderHeader_ALL"
;;
md5(no_pushdown.SalesOrderHeader_All.salespersonid)
SELECT no_pushdown.SalesOrderHeader_All.salespersonid FROM no_pushdown.SalesOrderHeader_All