Merge Objects that Use the Vector Merge Algorithm

Some objects such as levels, application roles, and object permissions, use a vector merge algorithm that determines the parent/child relationships between objects.

Objects that use the vector merge algorithm include:

  • Levels in a dimension, levels associated with a logical column, and child levels

  • Dimensions and tables in a logical display folder

  • Aggregation content in a logical table source

  • Security objects like user and application role membership and permissions

  • Initialization block LDAP server settings and processing precedence

The Oracle BI Server determines the initial state of object relationships in each repository during the merge process. For example, the following list shows the different possibilities for object permissions and how they relate to users and application roles:

  • M - Missing. The application role, user, or object isn't present in the repository.

  • D - Default. Permissions are inherited from the parent application role.

  • Y - Yes. The permission is explicitly granted to the user or application role.

  • N - No. The permission is explicitly denied to the user or application role.

The Merge Repository Wizard determines the appropriate relationship for the merged repository depending on the state of the object permission relationships in each repository. For example:

  • For an original repository with a result of Y, a modified repository with a result of N, and a current repository with a result of M, the Merge Repository Wizard determines a result of N for the merged repository.

  • For an original repository with a result of N, a modified repository with a result of Y, and a current repository with a result of M, the Merge Repository Wizard determines a result of Y for the merged repository.

Vector Merge Example: Merging Application Roles

The following list shows the different possibilities for user and application role relationships:

  • M - Missing. The application role or user isn't present in the repository.

  • Y - Yes. The application role or user is a member of the application role.

  • N - No. The application role or user isn't a member of the application role.

The table shows the merged result for different combinations of object relationships in the merging repositories.

Original Repository Modified Repository Current Repository Result

M

M

M

N

This situation can happen if neither the application role nor the user are present in the original repository, but the user is present in the modified repository and the application role is present in the current repository. In this case, no membership can be assumed.

M

M

Y

Y

M

M

N

N

M

Y

M

Y

M

M in original for this case implies that either the user or application role isn't present. The missing object added in both can't be considered the same object

Y

Y

Y

M

Y

N

Y

M

N

M

N

M

N

Y

Y

M

N

N

N

Y

M

M

Y

Y

M

Y

Y

Y

M

N

N

Y

Y

M

Y

Y

Y

Y

Y

Y

Y

N

N

Y

N

M

N

Y

N

Y

N

Y

N

N

N

N

M

M

N

N

M

Y

Y

N

M

N

N

N

Y

M

Y

N

Y

Y

Y

N

Y

N

Y

N

N

M

N

N

N

Y

Y

N

N

N

N