Disabling the Mapping of Derived Objects
Use the DDLOPTIONS
parameter with the NOMAPDERIVED
option to prevent the conversion of the name of a derived object according to a TARGET
clause of a MAP
statement that includes it. NOMAPDERIVED
overrides any explicit MAP
statements that contain the name of the base or derived object. Source DDL that contains derived objects is replicated to the target with the same schema and object names as on the source.
The following table shows the results of MAPDERIVED
compared to NOMAPDERIVED
, based on whether there is a MAP
statement just for the base object, just for the derived object, or for both.
Base Object | Derived Object | MAP/NOMAP DERIVED? | Derived object converted per a MAP? | Derived object gets schema of base object? |
---|---|---|---|---|
mappedFoot 1 |
mapped |
|
yes |
no |
mapped |
not mapped |
|
no |
yes |
not mapped |
mapped |
|
no |
no |
not mapped |
not mapped |
|
no |
no |
mapped |
mapped |
|
no |
no |
mapped |
not mapped |
|
no |
no |
not mapped |
mapped |
|
no |
no |
not mapped |
not mapped |
|
no |
no |
Footnote 1
Mapped means included in a MAP
statement.
The following examples illustrate the results of MAPDERIVED
as
compared to NOMAPDERIVED
. In the following table, both trigger and
table are owned by rpt
on the target because both base and derived
names are converted by means of MAPDERIVED
.
MAP statement | Source DDL statement captured by Extract | Target DDL statement applied by Replicat |
---|---|---|
|
|
|
In the following table, the trigger is owned by fin
, because
conversion is prevented by means of NOMAPDERIVED
.
MAP statement | Source DDL statement captured by Extract | Target DDL statement applied by Replicat |
---|---|---|
|
|
|
Note:
In the case of a RENAME
statement, the new table name is considered to be the base table name, and the old table name is considered to be the derived table name.