The objective of the OpenAccess SDK SQL engine is to provide efficient access to any data source through the SQL language. To achieve this, the OpenAccess SDK SQL engine allows the IP to gain knowledge of the requested SQL statements, and then use this knowledge to filter out unwanted rows or to jump to the required row as quickly as possible.
The IP can retrieve the complete WHERE clause of the SQL query as either a set of AND expressions or as a set of OR expressions. The optimization capability is not limited to this list. The OpenAccess SDK SQL engine will split OR statements into multiple statements in order to allow each side of the OR to be executed efficiently.
The IP can also access the full expression tree for each of the tables, if the target data source has expression processing capabilities. No matter what approach is taken, the OpenAccess SDK SQL engine filters all rows against all expressions in the WHERE clause except the ones that have been explicitly turned off.
The OpenAccess SDK SQL engine recognizes patterns, as shown in the following two examples.