Describes the SELECT query processing that the provider can offload to the data source.
Collaborative Query Processing
When working with data sources that do not support SQL-92, you can query the sys_sqlinfo view to determine the query capabilities of the underlying APIs, expressed in SQL syntax. The provider offloads as much of the SELECT statement processing as possible to the server and then processes the rest of the query in memory.
See SupportEnhancedSQL for more information on how the provider circumvents API limitations with in-memory client-side processing. See SQL Compliance for SQL syntax details.
Discovering the Data Source's SELECT Capabilities
Below is an example data set of SQL capabilities. The following result set indicates the SELECT functionality that the provider can offload to the data source or process client side. Your data source may support additional SQL syntax. Some aspects of SELECT functionality are returned in a comma-separated list if supported; otherwise, the column contains NO.
|AGGREGATE_FUNCTIONS||AVG, COUNT, MAX, MIN, SUM, DISTINCT|
|SUPPORTED_OPERATORS||=, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR|
|OJ_CAPABILITIES||NESTED, LEFT, RIGHT, INNER, NOT_ORDERED, ALL_COMPARISON_OPS|
|SUBQUERIES||COMPARISON, EXISTS, IN, CORRELATED_SUBQUERIES, QUANTIFIED|
The following query retrieves the operators that can be used in the WHERE clause:
SELECT * FROM sys_sqlinfo WHERE Name='SUPPORTED_OPERATORS'Note that individual tables may have different limitations or requirements on the WHERE clause; refer to the Data Model section for more information.
|NAME||String||A component of SQL syntax, or a capability that can be processed on the server.|
|VALUE||String||Detail on the supported SQL or SQL syntax.|