For example, conversions of SQL3 queries to SQL queries against an Oracle DBMS will be done the same regardless of the database schema. This refers to the operations that take place because of the contents of the data source, i.e., its schema. A wrapper can change the way in which requests and responses are passed. For example, a synchronous data source may be wrapped by an asynchronous wrapper that buffers responses until they are requested by the caller. This seems to be a relatively minor area of interest for wrapper builders, so this may be more properly the domain of some other software component.
Wrappers can report errors back to the caller.
These may be error messages generated by the data source, perhaps converted to a desired format, or they can be the results of an error recovery operation within the wrapper. Most wrappers assume that they are wrapping the source for use by a particular kind of caller. Calls to external services. Wrappers could conceivably call out to services to perform more complex services than the wrapper itself can perform. An example would be the use of an external ontology engine to semantically transform a query before submission to the wrapped data source.