Federated query information

Executing an SQL statement in a federated database requires the ability to perform portions of the statement on other data sources.

The following output from the db2expln command indicates that a data source will be read:
   Ship Distributed Subquery #n
   |   #Columns = n
If predicates are applied to data that is returned from a distributed subquery, the number of predicates being applied is indicated by the following statements:
   Residual Predicate(s)
   |   #Predicates = n
An insert, update, or delete operation that occurs at a data source is indicated by one of the following statements:
   Ship Distributed Insert #n
   Ship Distributed Update #n
   Ship Distributed Delete #n
If a table is explicitly locked at a data source, the following statement appears:
   Ship Distributed Lock Table #n
Data definition language (DDL) statements against a data source are split into two parts. The part that is invoked at the data source is indicated by the following statement:
   Ship Distributed DDL Statement #n
If the federated server is a partitioned database, part of the DDL statement must be run at the catalog database partition. This is indicated by the following statement:
   Distributed DDL Statement #n Completion
The details for each distributed sub-statement are displayed separately.
  • The data source for the subquery is indicated by one of the following statements:
       Server: server_name (type, version)
       Server: server_name (type)
       Server: server_name
  • If the data source is relational, the SQL for the sub-statement is displayed as follows:
       SQL Statement:
            statement
    Non-relational data sources are indicated with:
       Non-Relational Data Source
  • Nicknames that are referenced in the sub-statement are listed as follows:
       Nicknames Referenced:
          schema.nickname ID = n
    If the data source is relational, the base table for the nickname is displayed as follows:
       Base = baseschema.basetable
    If the data source is non-relational, the source file for the nickname is displayed as follows:
       Source File = filename
  • If values are passed from the federated server to the data source before executing the sub-statement, the number of values is indicated by the following statement:
       #Input Columns: n
  • If values are passed from the data source to the federated server after executing the sub-statement, the number of values is indicated by the following statement:
       #Output Columns: n