After preprocessing, a decision is made as to whether Component Integration Services or the standard Adaptive Server query optimizer will handle optimization.
Component Integration Services will handle 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 will forward 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.