Oracle9i Supplied PL/SQL Packages and Types Reference
Release 1 (9.0.1)

Part Number A89852-02
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback

Go to previous page Go to beginning of chapter Go to next page

DBMS_REPCAT, 7 of 69


ADD_conflicttype_RESOLUTION Procedure

These procedures designate a method for resolving an update, delete, or uniqueness conflict. You must call these procedures from the master definition site. The procedure that you need to call is determined by the type of conflict that the routine resolves.

Table 48-12 ADD_conflicttype_RESOLUTION Procedures
Conflict Type  Procedure Name 
update
 
ADD_UPDATE_RESOLUTION
 
uniqueness
 
ADD_UNIQUE_RESOLUTION
 
delete
 
ADD_DELETE_RESOLUTION
 

See Also:

Oracle9i Replication for more information about designating methods to resolve update conflicts, selecting uniqueness conflict resolution methods, and assigning delete conflict resolution methods 

Syntax

DBMS_REPCAT.ADD_UPDATE_RESOLUTION (
   sname                  IN   VARCHAR2, 
   oname                  IN   VARCHAR2, 
   column_group           IN   VARCHAR2,
   sequence_no            IN   NUMBER,
   method                 IN   VARCHAR2, 
   parameter_column_name  IN   VARCHAR2 
                               | DBMS_REPCAT.VARCHAR2s 
                               | DBMS_UTILITY.LNAME_ARRAY, 
   priority_group         IN   VARCHAR2     := NULL,
   function_name          IN   VARCHAR2     := NULL,
   comment                IN   VARCHAR2     := NULL);

DBMS_REPCAT.ADD_DELETE_RESOLUTION (
   sname                  IN   VARCHAR2, 
   oname                  IN   VARCHAR2, 
   sequence_no            IN   NUMBER,
   parameter_column_name  IN   VARCHAR2 | DBMS_REPCAT.VARCHAR2s, 
   function_name          IN   VARCHAR2,
   comment                IN   VARCHAR2     := NULL
   method                 IN   VARCHAR2     := 'USER FUNCTION');

DBMS_REPCAT.ADD_UNIQUE_RESOLUTION(
   sname                 IN   VARCHAR2, 
   oname                 IN   VARCHAR2, 
   constraint_name       IN   VARCHAR2,
   sequence_no           IN   NUMBER,
   method                IN   VARCHAR2, 
   parameter_column_name IN   VARCHAR2
                              | DBMS_REPCAT.VARCHAR2s 
                              | DBMS_UTILITY.LNAME_ARRAY,
   function_name         IN   VARCHAR2     := NULL,
   comment               IN   VARCHAR2     := NULL);

Parameters

Table 48-13 ADD_conflicttype_RESOLUTION Procedure Parameters (Page 1 of 2)
Parameter  Description 
sname
 

Name of the schema containing the table to be replicated. 

oname
 

Name of the table to which you are adding a conflict resolution routine. The table can be the storage table of a nested table. 

column_group
 

Name of the column group to which you are adding a conflict resolution routine. Column groups are required for update conflict resolution routines only. 

constraint_name
 

Name of the unique constraint or unique index for which you are adding a conflict resolution routine. Use the name of the unique index if it differs from the name of the associated unique constraint. Constraint names are required for uniqueness conflict resolution routines only. 

sequence_no
 

Order in which the designated conflict resolution methods should be applied. 

method
 

Type of conflict resolution routine that you want to create. This can be the name of one of the standard routines provided with advanced replication, or, if you have written your own routine, you should choose user function, and provide the name of your method as the function_name parameter.

The standard methods supported in this release for update conflicts are:

  • minimum

  • maximum

  • latest timestamp

  • earliest timestamp

  • additive, average

  • priority group

  • site priority

  • overwrite

  • discard

The standard methods supported in this release for uniqueness conflicts are: append site name, append sequence, and discard. There are no built-in (Oracle supplied) methods for delete conflicts. 

parameter_column_name
 

Name of the columns used to resolve the conflict. The standard methods operate on a single column. For example, if you are using the latest timestamp method for a column group, then you should pass the name of the column containing the timestamp value as this parameter. If your are using a user function, then you can resolve the conflict using any number of columns.

For update or unique conflicts, this parameter accepts either a comma-separated list of column names, or a PL/SQL index-by table of type DBMS_REPCAT.VARCHAR2 or DBMS_UTILITY.LNAME_ARRAY. Use DBMS_UTILITY.LNAME_ARRAY if any column name is greater than or equal to 30 bytes, which may occur when you specify the attributes of column objects.

For delete conflicts, this parameter accepts either a comma-separated list of column names or a PL/SQL index-by table of type DBMS_REPCAT.VARCHAR2.

The single value '*' indicates that you want to use all of the columns in the table (or column group, for update conflicts) to resolve the conflict. If you specify '*', then the columns are passed to your function in alphabetical order.

LOB columns cannot be specified for this parameter.

See Also: "Usage Notes" if you are using column objects 

priority_group
 

If you are using the priority group or site priority update conflict resolution method, then you must supply the name of the priority group that you have created.

See Oracle9i Replication for more information. If you are using a different method, you can use the default value for this parameter, NULL. This parameter is applicable to update conflicts only. 

function_name
 

If you selected the user function method, or if you are adding a delete conflict resolution routine, then you must supply the name of the conflict resolution routine that you have written. If you are using one of the standard methods, then you can use the default value for this parameter, NULL

comment
 

This user comment is added to the DBA_REPRESOLUTION view. 

Exceptions

Table 48-14 ADD_conflicttype_RESOLUTION Procedure Exceptions
Exception  Description 
nonmasterdef
 

Invocation site is not the master definition site. 

missingobject
 

Specified object does not exist as a table in the specified schema using row-level replication. 

missingschema
 

Specified schema does not exist. 

missingcolumn
 

Column that you specified as part of the parameter_column_name parameter does not exist. 

missinggroup
 

Specified column group does not exist. 

missingprioritygroup
 

The priority group that you specified does not exist for the table. 

invalidmethod
 

Resolution method that you specified is not recognized. 

invalidparameter
 

Number of columns that you specified for the parameter_column_name parameter is invalid. (The standard routines take only one column name.) 

missingfunction
 

User function that you specified does not exist. 

missingconstraint
 

Constraint that you specified for a uniqueness conflict does not exist. 

notquiesced
 

Replication group to which the specified table belongs is not quiesced. 

duplicateresolution
 

Specified conflict resolution method is already registered. 

duplicatesequence
 

The specified sequence number already exists for the specified object. 

invalidprioritygroup
 

The specified priority group does not exist. 

paramtype
 

Type is different from the type assigned to the priority group. 

Usage Notes

If you are using column objects, then whether you can specify the attributes of the column objects for the parameter_column_name parameter depends on whether the conflict resolution method is built-in (Oracle supplied) or user-created:


Go to previous page Go to beginning of chapter Go to next page
Oracle
Copyright © 1996-2001, Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback