Merge Rules and Behavior for Full Merges

Learn about the rules that apply to full merges.

For full merges, the following rules are applied:

  • Oracle assumes that you want to keep the changes in the modified repository, for example, if an object is added to or deleted from the modified repository, the object is added or deleted without prompting.

  • If an object is added to or deleted from the current repository, the Merge Repository Wizard asks if you want to keep the changes.

    The Merge Repository Wizard tries to ensure that you've the minimum set of objects necessary to service your queries. During a merge, it's possible that objects were introduced by the current repository that aren't needed in the merged repository. To address unwanted objects issue, the Merge Repository Wizard asks whether new Presentation layer objects in the current repository are needed in the final merged result. If you choose to keep the new presentation objects, the dependent logical and physical objects are also added. If you choose not to keep the new presentation objects, then the dependent logical and physical objects aren't kept. The Merge Repository Wizard discards these objects to ensure that the merged repository doesn't get populated with unused objects.

  • If an object is added to or deleted from both repositories, the object is added or deleted without prompting. If the same object was added with slight differences in its properties, the Merge Repository Wizard asks which version of the properties you want to keep.

  • If an object has been modified only in the current repository, or only in the modified repository, the change is kept. If the same object is modified in both the current and modified repository, and the changes are different, then there's a merge conflict. When conflicts occur, the Merge Repository Wizard asks you to choose which change you want to keep.

  • Making a decision about one object can influence a whole set of decisions, depending on the object relationships involved. For example, if you choose to keep a presentation column that was added to the current repository, then the merge process keeps the associated presentation table and subject area, along with the logical column, physical column, and other associated objects upon which the presentation column was based. If you choose not to keep a subject area that was added to the current repository, you aren't prompted to choose whether to keep its associated objects. Adding a join might require the addition of its base tables, while changing an expression might add physical columns.

  • Object relationships are interconnected through their properties such as strings and numbers, and an internal value of a property that represent other repository objects. A change to one object might cause a corresponding change to an interrelated object. For example, assume you change the data source of Init Block B from a connection pool to Custom Authenticator A. In addition to the data source property change to the initialization block object, a corresponding property change occurs in the custom authenticator object because the value of the initialization block property for Custom Authenticator A is now Init Block B. The merge process requires synchronized decisions for these properties. If you select Current as the decision for the data source property of Init Block B, then the decision for the initialization block property of Custom Authenticator A is also Current.