After preprocessing, a decision is made as to whether Component Integration Services or the standard Adaptive Server query optimizer handles optimization.
Component Integration Services handles optimization (using a feature known as quickpass mode) when:
Every table represented in the SQL statement resides within a single remote server.
The remote server is capable of processing all the syntax represented by the statement.
Component Integration Services determines the query processing capabilities of the remote server by its server class. Servers with server class sql_server or db2 have implied capabilities. For example, Component Integration Services assumes that any server configured as server class sql_server is capable of processing all Transact-SQL syntax.
For remote servers with server class access_server or direct_connect, Component Integration Services issues an RPC to ask the remote server for its capabilities the first time a connection is made to the server. Based on the server’s response to the RPC, Component Integration Services determines the syntax of the SQL it forwards to the remote server.
The following is true of the SQL statement:
It is a select, insert, delete, or update statement.
If it is an insert, update, or delete statement, there are no identity or timestamp columns, or referential constraints.
It contains no text or image columns.
It contains no compute by clauses.
It contains no for browse clauses.
It is not a select...into statement.
It is not a cursor-related statement (for example, fetch, declare, open, close, deallocate, update, or delete statements that include where current of cursor).
If the above conditions are not met, quickpass mode cannot be used, and the standard Adaptive Server query optimizer handles optimization.