1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
-
- This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
- project.
-
- Copyright (C) 1998-2018 OpenLink Software
-
- This project is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; only version 2 of the License, dated June 1991.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-->
<refentry id="fn_REPL_ADD_SNAPSHOT_CR">
<refmeta>
<refentrytitle>REPL_ADD_SNAPSHOT_CR</refentrytitle>
<refmiscinfo>repl</refmiscinfo>
</refmeta>
<refnamediv>
<refname>REPL_ADD_SNAPSHOT_CR</refname>
<refpurpose>Creates conflict resolver for bi-directional replication</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis id="fsyn_REPL_ADD_SNAPSHOT_CR">
<funcprototype id="fproto_REPL_ADD_SNAPSHOT_CR">
<funcdef>None <function>REPL_ADD_SNAPSHOT_CR</function></funcdef>
<paramdef>in <parameter>tbl</parameter> varchar</paramdef>
<paramdef>in <parameter>name_suffix</parameter> varchar</paramdef>
<paramdef>in <parameter>type</parameter> char</paramdef>
<paramdef>in <parameter>order</parameter> integer</paramdef>
<paramdef>in <parameter>class</parameter> varchar</paramdef>
<paramdef>in <parameter>col</parameter> varchar</paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="desc_REPL_ADD_SNAPSHOT_CR">
<title>Description</title>
<para>Simple conflict resolvers can be generated by calling this function.</para>
</refsect1>
<refsect1 id="params_REPL_ADD_SNAPSHOT_CR"><title>Parameters</title>
<refsect2><title>tbl</title>
<para>Name of table for which conflict resolved is required.</para></refsect2>
<refsect2><title>name_suffix</title>
<para>Conflict resolver name suffix.</para></refsect2>
<refsect2><title>type</title>
<para>The resolved type, one of: ('I', 'U' OR 'D').</para></refsect2>
<refsect2><title>order</title>
<para>Resolver order number.</para></refsect2>
<refsect2><title>class</title>
<para>The kind of resolver. Class can be one of the following:</para>
<simplelist>
<member><emphasis>'max'</emphasis>
row with maximum value of specified column wins</member>
<member><emphasis>'min'</emphasis>
row with minimum value of specified column wins</member>
<member><emphasis>'ave'</emphasis>
new value of specified column is calculated as:
<computeroutput>current_val = (current_val + new_val) / 2</computeroutput></member>
<member><emphasis>'pub_wins'</emphasis></member>
<member><emphasis>'custom'</emphasis>
publisher always wins</member>
<member><emphasis>'sub_wins'</emphasis>
subscriber always wins</member>
</simplelist>
</refsect2>
<refsect2><title>col</title>
<para>This should specify the column name if <computeroutput>class</computeroutput> is not one of 'pub_wins', 'sub_wins' or 'custom'.</para></refsect2>
</refsect1>
<refsect1 id="ret_REPL_ADD_SNAPSHOT_CR"><title>Return Types</title>
<para>None.</para>
</refsect1>
<!--
<refsect1 id="errors_REPL_ADD_SNAPSHOT_CR">
<title>Errors</title>
<para>This function can generate the following errors:</para>
<errorcode></errorcode>
</refsect1>
-->
<refsect1 id="examples_REPL_ADD_SNAPSHOT_CR">
<title>Examples</title>
<example id="ex_REPL_ADD_SNAPSHOT_CR"><title>Conflict Resolver</title>
<para>Suppose we have the following table:</para>
<screen>
create table items(
item_id integer primary key,
name varchar,
price decimal
);
</screen>
<para>A 'U' conflict resolver that averages items.price in publisher table
can be defined with the following statement:</para>
<screen>
REPL_ADD_SNAPSHOT_CR('DB.DBA.items', 'count', 'U', 10, 'ave', 'price');
</screen>
</example>
</refsect1>
<refsect1 id="seealso_REPL_ADD_SNAPSHOT_CR">
<title>See Also</title>
<para><link linkend="fn_REPL_ADD_DAV_CR"><function>REPL_ADD_DAV_CR()</function></link></para>
</refsect1>
</refentry>
|