[Trad] [svn:pgfr] r1257 - in traduc: branches/slony_1_2 trunk/slony

admin at listes.postgresql.fr admin at listes.postgresql.fr
Dim 1 Mar 12:06:17 CET 2009


Author: gleu
Date: 2009-03-01 12:06:16 +0100 (Sun, 01 Mar 2009)
New Revision: 1257

Modified:
   traduc/branches/slony_1_2/schemadoc.xml
   traduc/trunk/slony/schemadoc.xml
Log:
Merge et traduction 2.0 de schemadoc.xml.


Modified: traduc/branches/slony_1_2/schemadoc.xml
===================================================================
--- traduc/branches/slony_1_2/schemadoc.xml	2009-03-01 10:18:22 UTC (rev 1256)
+++ traduc/branches/slony_1_2/schemadoc.xml	2009-03-01 11:06:16 UTC (rev 1257)
@@ -3,6 +3,47 @@
 <chapter id="schema" xreflabel="schemadoc">
 <title>Schéma schemadoc</title>
 
+<section id="table.sl-archive-counter"
+  xreflabel="sl_archive_counter">
+<title id="table.sl-archive-counter-title">
+  Table&nbsp;: <structname>sl_archive_counter</structname>
+</title>
+
+<para>
+  Table utilisée pour générer le numéro d'archive du log shipping.
+</para>
+
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_archive_counter</structname></title>
+
+    <varlistentry>
+      <term><structfield>ac_num</structfield></term>
+      <listitem>
+        <para><type>bigint</type></para>
+
+        <para>
+          Compteur de l'identifiant SYNC utilisé dans le log shipping comme
+	  numéro d'archive
+        </para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><structfield>ac_timestamp</structfield></term>
+      <listitem>
+        <para><type>timestamp without time zone</type></para>
+
+        <para>
+          Horodatage de la génération du log d'archive sur l'abonné
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+</para>
+
+</section>
+
 <section id="table.sl-config-lock" xreflabel="sl_config_lock">
 <title id="table.sl-config-lock-title">
   Table&nbsp;: <structname>sl_config_lock</structname>
@@ -19,7 +60,13 @@
 
     <varlistentry>
       <term><structfield>dummy</structfield></term>
-      <listitem><para><type>integer</type></para></listitem>
+      <listitem>
+        <para><type>integer</type></para>
+        <para>
+          Aucune donnée n'est placée dans cette table, donc son contenu n'a pas
+	  d'importance. En fait, cette colonne n'a pas besoin d'exister.
+        </para>
+      </listitem>
     </varlistentry>
   </variablelist>
 </para>
@@ -1522,6 +1569,97 @@
     <title>Propriétés de la fonction</title>
     <?dbhtml list-presentation="list"?>
     <segtitle>Langage</segtitle>
+    <segtitle>Type du code de retour</segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+ 
+  Vérifie qu'une table est vide et l'ajoute à la réplication.
+  tab_idxname est optionnel. Si cette colonne est NULL, alors la clé primaire
+  est utilisée.
+  
+  <programlisting>declare
+  p_set_id alias for $1;
+  p_tab_id alias for $2;
+  p_nspname alias for $3;
+  p_tabname alias for $4;
+  p_idxname alias for $5;
+  p_comment alias for $6;
+
+  prec record;
+  v_origin int4;
+  v_isorigin boolean;
+  v_fqname text;
+  v_query text;
+  v_rows integer;
+  v_idxname text;
+
+begin
+-- Need to validate that the set exists; the set will tell us if this is the origin
+  select set_origin into v_origin from sl_set where set_id = p_set_id;
+  if not found then
+	raise exception &#39;add_empty_table_to_replication: set % not found!&#39;, p_set_id;
+  end if;
+
+-- Need to be aware of whether or not this node is origin for the set
+   v_isorigin := ( v_origin = getLocalNodeId(&#39;_schemadoc&#39;) );
+
+   v_fqname := &#39;&quot;&#39; || p_nspname || &#39;&quot;.&quot;&#39; || p_tabname || &#39;&quot;&#39;;
+-- Take out a lock on the table
+   v_query := &#39;lock &#39; || v_fqname || &#39;;&#39;;
+   execute v_query;
+
+   if v_isorigin then
+	-- On the origin, verify that the table is empty, failing if it has any tuples
+        v_query := &#39;select 1 as tuple from &#39; || v_fqname || &#39; limit 1;&#39;;
+	execute v_query into prec;
+        GET DIAGNOSTICS v_rows = ROW_COUNT;
+	if v_rows = 0 then
+		raise notice &#39;add_empty_table_to_replication: table % empty on origin - OK&#39;, v_fqname;
+	else
+		raise exception &#39;add_empty_table_to_replication: table % contained tuples on origin node %&#39;, v_fqname, v_origin;
+	end if;
+   else
+	-- On other nodes, TRUNCATE the table
+        v_query := &#39;truncate &#39; || v_fqname || &#39;;&#39;;
+	execute v_query;
+   end if;
+-- If p_idxname is NULL, then look up the PK index, and RAISE EXCEPTION if one does not exist
+   if p_idxname is NULL then
+	select c2.relname into prec from pg_catalog.pg_index i, pg_catalog.pg_class c1, pg_catalog.pg_class c2, pg_catalog.pg_namespace n where i.indrelid = c1.oid and i.indexrelid = c2.oid and c1.relname = p_tabname and i.indisprimary and n.nspname = p_nspname and n.oid = c1.relnamespace;
+	if not found then
+		raise exception &#39;add_empty_table_to_replication: table % has no primary key and no candidate specified!&#39;, v_fqname;
+	else
+		v_idxname := prec.relname;
+	end if;
+   else
+	v_idxname := p_idxname;
+   end if;
+   perform setAddTable_int(p_set_id, p_tab_id, v_fqname, v_idxname, p_comment);
+   return alterTableRestore(p_tab_id);
+end
+</programlisting>
+</para>
+
+</section>
+
+<!-- Function add_empty_table_to_replication( integer, integer, text, text, text, text ) -->
+<section id="function.add-empty-table-to-replication-integer-integer-text-text-text-text"
+  xreflabel="schemadocadd_empty_table_to_replication( integer, integer, text, text, text, text )">
+<title id="function.add-empty-table-to-replication-integer-integer-text-text-text-text-title">
+  add_empty_table_to_replication( integer, integer, text, text, text, text )
+</title>
+<titleabbrev id="function.add-empty-table-to-replication-integer-integer-text-text-text-text-titleabbrev">
+  add_empty_table_to_replication( integer, integer, text, text, text, text )
+</titleabbrev>
+
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
     <segtitle>Type du code retour</segtitle>
     <seglistitem>
        <seg>PLPGSQL</seg>
@@ -1682,8 +1820,10 @@
 	v_current_status	int4;
 	v_log			int4;
 	v_dummy		record;
+	v_dummy2	record;
 	idef 		text;
 	v_count		int4;
+        v_iname         text;
 BEGIN
 	v_count := 0;
 	select last_value into v_current_status from sl_log_status;
@@ -1698,26 +1838,32 @@
 	else
 		v_log := 1;
 	end if;
-
+--                                       PartInd_test_db_sl_log_2-node-1
 	-- Add missing indices...
-	for v_dummy in select distinct set_origin from sl_set
-		where not exists 
-                     (select * from pg_catalog.pg_indexes where schemaname = &#39;schemadoc&#39;
-                      and tablename = &#39;sl_log_&#39; || v_log and 
-                      indexname = &#39;PartInd_schemadoc_sl_log_&#39; || v_log || &#39;-node-&#39; || set_origin) loop	   
+	for v_dummy in select distinct set_origin from sl_set loop
+            v_iname := &#39;PartInd_schemadoc_sl_log_&#39; || v_log || &#39;-node-&#39; || v_dummy.set_origin;
+	    -- raise notice &#39;Consider adding partial index % on sl_log_%&#39;, v_iname, v_log;
+	    -- raise notice &#39;schema: [_schemadoc] tablename:[sl_log_%]&#39;, v_log;
+            select * into v_dummy2 from pg_catalog.pg_indexes where tablename = &#39;sl_log_&#39; || v_log and  indexname = v_iname;
+            if not found then
+		-- raise notice &#39;index was not found - add it!&#39;;
 		idef := &#39;create index &quot;PartInd_schemadoc_sl_log_&#39; || v_log || &#39;-node-&#39; || v_dummy.set_origin ||
                         &#39;&quot; on sl_log_&#39; || v_log || &#39; USING btree(log_xid xxid_ops) where (log_origin = &#39; || v_dummy.set_origin || &#39;);&#39;;
 		execute idef;
 		v_count := v_count + 1;
+            else
+                -- raise notice &#39;Index % already present - skipping&#39;, v_iname;
+            end if;
 	end loop;
 
 	-- Remove unneeded indices...
-	for v_dummy in select indexname from pg_catalog.pg_indexes i where i.schemaname = &#39;@NAMESPACE&#39;
-                       and i.tablename = &#39;sl_log_&#39; || v_log and
+	for v_dummy in select indexname from pg_catalog.pg_indexes i where i.tablename = &#39;sl_log_&#39; || v_log and
+                       i.indexname like (&#39;PartInd_schemadoc_sl_log_&#39; || v_log || &#39;-node-%&#39;) and
                        not exists (select 1 from sl_set where
 				i.indexname = &#39;PartInd_schemadoc_sl_log_&#39; || v_log || &#39;-node-&#39; || set_origin)
 	loop
-		idef := &#39;drop index &quot;schemadoc&quot;.&quot;&#39; || v_dummy.indexname || &#39;&quot;;&#39;;
+		-- raise notice &#39;Dropping obsolete index %d&#39;, v_dummy.indexname;
+		idef := &#39;drop index &quot;&#39; || v_dummy.indexname || &#39;&quot;;&#39;;
 		execute idef;
 		v_count := v_count - 1;
 	end loop;
@@ -2180,6 +2326,9 @@
 
         end if;
 
+	if exists (select * from &quot;pg_catalog&quot;.pg_class c, &quot;pg_catalog&quot;.pg_namespace n, &quot;pg_catalog&quot;.pg_attribute a where c.relname = &#39;sl_seqlog&#39; and n.oid = c.relnamespace and a.attrelid = c.oid and a.attname = &#39;oid&#39;) then
+                execute &#39;alter table sl_seqlog set without oids;&#39;;
+	end if;		
 	-- ----
 	-- Also remove stale entries from the nodelock table.
 	-- ----
@@ -2579,8 +2728,15 @@
 	v_set_origin		int4;
 begin
 	perform updateRelname(p_set_id, p_only_on_node);
-	return  createEvent(&#39;_schemadoc&#39;, &#39;DDL_SCRIPT&#39;, 
-			p_set_id, p_script, p_only_on_node);
+	if p_only_on_node = -1 then
+		perform alterTableForReplication(tab_id) from sl_table where tab_set in (select set_id from sl_set where set_origin = getLocalNodeId(&#39;_schemadoc&#39;));
+
+		return  createEvent(&#39;_schemadoc&#39;, &#39;DDL_SCRIPT&#39;, 
+			p_set_id::text, p_script::text, p_only_on_node::text);
+	else
+		perform alterTableForReplication(tab_id) from sl_table;
+	end if;
+	return NULL;
 end;</programlisting>
 </para>
 
@@ -2664,8 +2820,11 @@
 	-- ----
 	lock table sl_config_lock;
 
+	
 	-- ----
 	-- Check that the set exists and originates here
+	-- unless only_on_node was specified (then it can be applied to
+	-- that node because that is what the user wanted)
 	-- ----
 	select set_origin into v_set_origin
 			from sl_set
@@ -2674,15 +2833,23 @@
 	if not found then
 		raise exception &#39;Slony-I: set % not found&#39;, p_set_id;
 	end if;
-	if v_set_origin &lt;&gt; getLocalNodeId(&#39;_schemadoc&#39;) then
-		raise exception &#39;Slony-I: set % does not originate on local node&#39;,
+
+	if p_only_on_node = -1 then
+		if v_set_origin &lt;&gt; getLocalNodeId(&#39;_schemadoc&#39;) then
+			raise exception &#39;Slony-I: set % does not originate on local node&#39;,
 				p_set_id;
+		end if;
+		-- ----
+		-- Create a SYNC event, run the script and generate the DDL_SCRIPT event
+		-- ----
+		perform createEvent(&#39;_schemadoc&#39;, &#39;SYNC&#39;, NULL);
+		perform alterTableRestore(tab_id) from sl_table where tab_set in (select set_id from sl_set where set_origin = getLocalNodeId(&#39;_schemadoc&#39;));
+	else
+		-- ----
+		-- If doing &quot;only on one node&quot; - restore ALL tables irrespective of set
+		-- ----
+		perform alterTableRestore(tab_id) from sl_table;
 	end if;
-
-	-- ----
-	-- Create a SYNC event, run the script and generate the DDL_SCRIPT event
-	-- ----
-	perform createEvent(&#39;_schemadoc&#39;, &#39;SYNC&#39;, NULL);
 	return 1;
 end;</programlisting>
 </para>
@@ -2785,7 +2952,7 @@
     <segtitle>Type du retour/segtitle>
     <seglistitem>
        <seg>C</seg>
-       <seg>&quot;trigger&quot;</seg>
+       <seg>trigger</seg>
     </seglistitem>
   </segmentedlist>
  
@@ -3268,7 +3435,7 @@
 			p_li_provider, p_li_receiver);
 	
 	return  createEvent (&#39;_schemadoc&#39;, &#39;DROP_LISTEN&#39;,
-			p_li_origin, p_li_provider, p_li_receiver);
+			p_li_origin::text, p_li_provider::text, p_li_receiver::text);
 end;</programlisting>
 </para>
 
@@ -3396,7 +3563,7 @@
 	-- ----
 	perform dropNode_int(p_no_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;DROP_NODE&#39;,
-									p_no_id);
+									p_no_id::text);
 end;</programlisting>
 </para>
 
@@ -3548,7 +3715,7 @@
 	perform RebuildListenEntries();
 
 	return  createEvent (&#39;_schemadoc&#39;, &#39;DROP_PATH&#39;,
-			p_pa_server, p_pa_client);
+			p_pa_server::text, p_pa_client::text);
 end;</programlisting>
 </para>
 
@@ -3681,7 +3848,7 @@
 	-- ----
 	perform dropSet_int(p_set_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;DROP_SET&#39;, 
-			p_set_id);
+			p_set_id::text);
 end;</programlisting>
 </para>
 
@@ -3787,7 +3954,7 @@
 begin
 	perform dropTrigger_int(p_trig_tabid, p_trig_tgname);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;DROP_TRIGGER&#39;,
-			p_trig_tabid, p_trig_tgname);
+			p_trig_tabid::text, p_trig_tgname::text);
 end;</programlisting>
 </para>
 
@@ -3925,7 +4092,7 @@
 	-- ----
 	perform enableNode_int (p_no_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;ENABLE_NODE&#39;,
-									p_no_id);
+									p_no_id::text);
 end;</programlisting>
 </para>
 
@@ -4408,7 +4575,7 @@
 	notify &quot;_schemadoc_Restart&quot;;
 
 	perform failoverSet_int(p_failed_node,
-			p_backup_node, p_set_id);
+			p_backup_node, p_set_id, p_ev_seqfake);
 
 	return p_ev_seqfake;
 end;</programlisting>
@@ -4416,14 +4583,14 @@
 
 </section>
 
-<!-- Function failoverset_int( integer, integer, integer ) -->
-<section id="function.failoverset-int-integer-integer-integer"
-  xreflabel="schemadocfailoverset_int( integer, integer, integer )">
-<title id="function.failoverset-int-integer-integer-integer-title">
-  failoverset_int( integer, integer, integer )
+<!-- Function failoverset_int( integer, integer, integer, bigint ) -->
+<section id="function.failoverset-int-integer-integer-integer-bigint"
+  xreflabel="schemadocfailoverset_int( integer, integer, integer, bigint )">
+<title id="function.failoverset-int-integer-integer-integer-bigint-title">
+  failoverset_int( integer, integer, integer, bigint )
 </title>
-<titleabbrev> id="function.failoverset-int-integer-integer-integer-titleabbrev">
-  failoverset_int( integer, integer, integer )
+<titleabbrev id="function.failoverset-int-integer-integer-integer-bigint-titleabbrev">
+  failoverset_int( integer, integer, integer, bigint )
 </titleabbrev>
 
 <para>
@@ -4444,6 +4611,7 @@
 	p_failed_node		alias for $1;
 	p_backup_node		alias for $2;
 	p_set_id			alias for $3;
+	p_wait_seqno		alias for $4;
 	v_row				record;
 	v_last_sync			int8;
 begin
@@ -4481,12 +4649,13 @@
 		insert into sl_event
 				(ev_origin, ev_seqno, ev_timestamp,
 				ev_minxid, ev_maxxid, ev_xip,
-				ev_type, ev_data1, ev_data2, ev_data3)
+				ev_type, ev_data1, ev_data2, ev_data3, ev_data4)
 				values
 				(p_backup_node, &quot;pg_catalog&quot;.nextval(&#39;sl_event_seq&#39;), CURRENT_TIMESTAMP,
 				&#39;0&#39;, &#39;0&#39;, &#39;&#39;,
 				&#39;ACCEPT_SET&#39;, p_set_id::text,
-				p_failed_node::text, p_backup_node::text);
+				p_failed_node::text, p_backup_node::text,
+				p_wait_seqno::text);
 	else
 		delete from sl_subscribe
 				where sub_set = p_set_id
@@ -4622,11 +4791,11 @@
 
 BEGIN
 	select 1 into v_node_row from sl_event 
-       	  where ev_type = &#39;SYNC&#39; and ev_origin = getLocalNodeId(&#39;schemadoc&#39;)
+       	  where ev_type = &#39;SYNC&#39; and ev_origin = getLocalNodeId(&#39;_schemadoc&#39;)
           and ev_timestamp &gt; now() - p_interval limit 1;
 	if not found then
 		-- If there has been no SYNC in the last interval, then push one
-		perform createEvent(&#39;schemadoc&#39;, &#39;SYNC&#39;, NULL);
+		perform createEvent(&#39;_schemadoc&#39;, &#39;SYNC&#39;, NULL);
 		return 1;
 	else
 		return 0;
@@ -4834,7 +5003,7 @@
     <segtitle>Type du retour/segtitle>
     <seglistitem>
       <seg>C</seg>
-      <seg>&quot;trigger&quot;</seg>
+      <seg>trigger</seg>
     </seglistitem>
   </segmentedlist>
   
@@ -4999,6 +5168,9 @@
 
 		raise notice &#39;Slony-I: log switch to sl_log_1 complete - truncate sl_log_2&#39;;
 		truncate sl_log_2;
+		if exists (select * from &quot;pg_catalog&quot;.pg_class c, &quot;pg_catalog&quot;.pg_namespace n, &quot;pg_catalog&quot;.pg_attribute a where c.relname = &#39;sl_log_2&#39; and n.oid = c.relnamespace and a.attrelid = c.oid and a.attname = &#39;oid&#39;) then
+	                execute &#39;alter table sl_log_2 set without oids;&#39;;
+		end if;		
 		perform &quot;pg_catalog&quot;.setval(&#39;sl_log_status&#39;, 0);
 		-- Run addPartialLogIndices() to try to add indices to unused sl_log_? table
 		perform addPartialLogIndices();
@@ -5025,6 +5197,9 @@
 
 		raise notice &#39;Slony-I: log switch to sl_log_2 complete - truncate sl_log_1&#39;;
 		truncate sl_log_1;
+		if exists (select * from &quot;pg_catalog&quot;.pg_class c, &quot;pg_catalog&quot;.pg_namespace n, &quot;pg_catalog&quot;.pg_attribute a where c.relname = &#39;sl_log_1&#39; and n.oid = c.relnamespace and a.attrelid = c.oid and a.attname = &#39;oid&#39;) then
+	                execute &#39;alter table sl_log_1 set without oids;&#39;;
+		end if;		
 		perform &quot;pg_catalog&quot;.setval(&#39;sl_log_status&#39;, 1);
 		-- Run addPartialLogIndices() to try to add indices to unused sl_log_? table
 		perform addPartialLogIndices();
@@ -5208,7 +5383,7 @@
     <segtitle>Type du retour/segtitle>
     <seglistitem>
       <seg>C</seg>
-      <seg>&quot;trigger&quot;</seg>
+      <seg>trigger</seg>
     </seglistitem>
   </segmentedlist>
  
@@ -5308,12 +5483,27 @@
 	end if;
 
 	-- ----
+	-- Check that all ENABLE_SUBSCRIPTION events for the set are confirmed
+	-- ----
+	if exists (select true from sl_event
+			where ev_type = &#39;ENABLE_SUBSCRIPTION&#39;
+			and ev_data1 = p_add_id::text
+			and ev_seqno &gt; (select max(con_seqno) from sl_confirm
+					where con_origin = ev_origin
+					and con_received::text = ev_data3))
+	then
+		raise exception &#39;Slony-I: set % has subscriptions in progress - cannot merge&#39;,
+				p_add_id;
+	end if;
+			  
+
+	-- ----
 	-- Create a SYNC event, merge the sets, create a MERGE_SET event
 	-- ----
 	perform createEvent(&#39;_schemadoc&#39;, &#39;SYNC&#39;, NULL);
 	perform mergeSet_int(p_set_id, p_add_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;MERGE_SET&#39;, 
-			p_set_id, p_add_id);
+			p_set_id::text, p_add_id::text);
 end;</programlisting>
 </para>
 
@@ -5458,7 +5648,7 @@
 	-- Reconfigure everything
 	-- ----
 	perform moveSet_int(p_set_id, v_local_node_id,
-			p_new_origin);
+			p_new_origin, 0);
 
 	perform RebuildListenEntries();
 
@@ -5478,20 +5668,20 @@
 	-- Finally we generate the real event
 	-- ----
 	return createEvent(&#39;_schemadoc&#39;, &#39;MOVE_SET&#39;, 
-			p_set_id, v_local_node_id, p_new_origin);
+			p_set_id::text, v_local_node_id::text, p_new_origin::text);
 end;</programlisting>
 </para>
 
 </section>
 
-<!-- Function moveset_int( integer, integer, integer ) -->
-<section id="function.moveset-int-integer-integer-integer"
-  xreflabel="schemadocmoveset_int( integer, integer, integer )">
-<title id="function.moveset-int-integer-integer-integer-title">
-  moveset_int( integer, integer, integer )
+<!-- Function moveset_int( integer, integer, integer, bigint ) -->
+<section id="function.moveset-int-integer-integer-integer-bigint"
+  xreflabel="schemadocmoveset_int( integer, integer, integer, bigint )">
+<title id="function.moveset-int-integer-integer-integer-bigint-title">
+  moveset_int( integer, integer, integer, bigint )
 </title>
-<titleabbrev> id="function.moveset-int-integer-integer-integer-titleabbrev">
-  moveset_int( integer, integer, integer )
+<titleabbrev id="function.moveset-int-integer-integer-integer-bigint-titleabbrev">
+  moveset_int( integer, integer, integer, bigint )
 </titleabbrev>
 
 <para>
@@ -5513,6 +5703,7 @@
 	p_set_id			alias for $1;
 	p_old_origin		alias for $2;
 	p_new_origin		alias for $3;
+	p_wait_seqno		alias for $4;
 	v_local_node_id		int4;
 	v_tab_row			record;
 	v_sub_row			record;
@@ -5546,9 +5737,14 @@
 
 	-- On the new origin, raise an event - ACCEPT_SET
 	if v_local_node_id = p_new_origin then
-		
+		-- Create a SYNC event as well so that the ACCEPT_SET has
+		-- the same snapshot as the last SYNC generated by the new
+		-- origin. This snapshot will be used by other nodes to
+		-- finalize the setsync status.
+		perform createEvent(&#39;_schemadoc&#39;, &#39;SYNC&#39;, NULL);
 		perform createEvent(&#39;_schemadoc&#39;, &#39;ACCEPT_SET&#39;, 
-			p_set_id, p_old_origin, p_new_origin);
+			p_set_id::text, p_old_origin::text, 
+			p_new_origin::text, p_wait_seqno::text);
 	end if;
 
 	-- ----
@@ -6422,7 +6618,8 @@
 	perform setAddSequence_int(p_set_id, p_seq_id, p_fqname,
 			p_seq_comment);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;SET_ADD_SEQUENCE&#39;,
-			p_set_id, p_seq_id, p_fqname, p_seq_comment);
+						p_set_id::text, p_seq_id::text, 
+						p_fqname::text, p_seq_comment::text);
 end;</programlisting>
 </para>
 
@@ -6619,8 +6816,8 @@
 	perform setAddTable_int(p_set_id, p_tab_id, p_fqname,
 			p_tab_idxname, p_tab_comment);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;SET_ADD_TABLE&#39;,
-			p_set_id, p_tab_id, p_fqname,
-			p_tab_idxname, p_tab_comment);
+			p_set_id::text, p_tab_id::text, p_fqname::text,
+			p_tab_idxname::text, p_tab_comment::text);
 end;</programlisting>
 </para>
 
@@ -6837,7 +7034,7 @@
 	-- ----
 	perform setDropSequence_int(p_seq_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;SET_DROP_SEQUENCE&#39;,
-			p_seq_id);
+			p_seq_id::text);
 end;</programlisting>
 </para>
 
@@ -6996,7 +7193,8 @@
 	-- Drop the table from the set and generate the SET_ADD_TABLE event
 	-- ----
 	perform setDropTable_int(p_tab_id);
-	return  createEvent(&#39;_schemadoc&#39;, &#39;SET_DROP_TABLE&#39;, p_tab_id);
+	return  createEvent(&#39;_schemadoc&#39;, &#39;SET_DROP_TABLE&#39;, 
+				p_tab_id::text);
 end;</programlisting>
 </para>
 
@@ -7188,7 +7386,7 @@
 	-- ----
 	perform setMoveSequence_int(p_seq_id, p_new_set_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;SET_MOVE_SEQUENCE&#39;, 
-			p_seq_id, p_new_set_id);
+			p_seq_id::text, p_new_set_id::text);
 end;</programlisting>
 </para>
 
@@ -7341,7 +7539,7 @@
 	perform createEvent(&#39;_schemadoc&#39;, &#39;SYNC&#39;, NULL);
 	perform setMoveTable_int(p_tab_id, p_new_set_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;SET_MOVE_TABLE&#39;, 
-			p_tab_id, p_new_set_id);
+			p_tab_id::text, p_new_set_id::text);
 end;</programlisting>
 </para>
 
@@ -7710,7 +7908,7 @@
 begin
 	perform storeListen_int (p_origin, p_provider, p_receiver);
 	return  createEvent (&#39;_schemadoc&#39;, &#39;STORE_LISTEN&#39;,
-			p_origin, p_provider, p_receiver);
+			p_origin::text, p_provider::text, p_receiver::text);
 end;</programlisting>
 </para>
 
@@ -7829,7 +8027,8 @@
 	end if;
 	perform storeNode_int (p_no_id, p_no_comment, p_no_spool);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;STORE_NODE&#39;,
-									p_no_id, p_no_comment, v_no_spool_txt);
+									p_no_id::text, p_no_comment::text, 
+									v_no_spool_txt::text);
 end;</programlisting>
 </para>
 
@@ -7938,7 +8137,8 @@
 	perform storePath_int(p_pa_server, p_pa_client,
 			p_pa_conninfo, p_pa_connretry);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;STORE_PATH&#39;, 
-			p_pa_server, p_pa_client, p_pa_conninfo, p_pa_connretry);
+			p_pa_server::text, p_pa_client::text, 
+			p_pa_conninfo::text, p_pa_connretry::text);
 end;</programlisting>
 </para>
 
@@ -8070,7 +8270,7 @@
 			(p_set_id, v_local_node_id, p_set_comment);
 
 	return createEvent(&#39;_schemadoc&#39;, &#39;STORE_SET&#39;, 
-			p_set_id, v_local_node_id, p_set_comment);
+			p_set_id::text, v_local_node_id::text, p_set_comment::text);
 end;</programlisting>
 </para>
 
@@ -8171,7 +8371,7 @@
 begin
 	perform storeTrigger_int(p_trig_tabid, p_trig_tgname);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;STORE_TRIGGER&#39;,
-			p_trig_tabid, p_trig_tgname);
+			p_trig_tabid::text, p_trig_tgname::text);
 end;</programlisting>
 </para>
 
@@ -8338,7 +8538,7 @@
 	-- Create the SUBSCRIBE_SET event
 	-- ----
 	v_ev_seqno :=  createEvent(&#39;_schemadoc&#39;, &#39;SUBSCRIBE_SET&#39;, 
-			p_sub_set, p_sub_provider, p_sub_receiver, 
+			p_sub_set::text, p_sub_provider::text, p_sub_receiver::text, 
 			case p_sub_forward when true then &#39;t&#39; else &#39;f&#39; end);
 
 	-- ----
@@ -8453,7 +8653,7 @@
 
 	if v_set_origin = getLocalNodeId(&#39;_schemadoc&#39;) then
 		perform createEvent(&#39;_schemadoc&#39;, &#39;ENABLE_SUBSCRIPTION&#39;, 
-				p_sub_set, p_sub_provider, p_sub_receiver, 
+				p_sub_set::text, p_sub_provider::text, p_sub_receiver::text, 
 				case p_sub_forward when true then &#39;t&#39; else &#39;f&#39; end);
 		perform enableSubscription(p_sub_set, 
 				p_sub_provider, p_sub_receiver);
@@ -8961,7 +9161,7 @@
 	-- Create the UNSUBSCRIBE_SET event
 	-- ----
 	return  createEvent(&#39;_schemadoc&#39;, &#39;UNSUBSCRIBE_SET&#39;, 
-			p_sub_set, p_sub_receiver);
+			p_sub_set::text, p_sub_receiver::text);
 end;</programlisting>
 </para>
 
@@ -9173,7 +9373,7 @@
 			and slon_quote_brute(PGN.nspname) = slon_quote_brute(sl_sequence.seq_nspname);
 
         return  createEvent(&#39;_schemadoc&#39;, &#39;RESET_CONFIG&#39;,
-                        p_set_id, p_only_on_node);
+                        p_set_id::text, p_only_on_node::text);
 end;</programlisting>
 </para>
 
@@ -9275,7 +9475,7 @@
 	-- ----
 	-- Changes for 1.2
 	-- ----
-	if p_old IN (&#39;1.0.2&#39;, &#39;1.0.5&#39;, &#39;1.0.6&#39;, &#39;1.1.0&#39;, &#39;1.1.1&#39;, &#39;1.1.2&#39;, &#39;1.1.3&#39;) then
+	if p_old IN (&#39;1.0.2&#39;, &#39;1.0.5&#39;, &#39;1.0.6&#39;, &#39;1.1.0&#39;, &#39;1.1.1&#39;, &#39;1.1.2&#39;, &#39;1.1.3&#39;,&#39;1.1.5&#39;, &#39;1.1.6&#39;, &#39;1.1.7&#39;, &#39;1.1.8&#39;, &#39;1.1.9&#39;) then
 		-- Add new table sl_registry
 		execute &#39;create table sl_registry (
 						reg_key			text primary key,
@@ -9287,12 +9487,9 @@
                 execute &#39;alter table sl_confirm set without oids;&#39;;
                 execute &#39;alter table sl_event set without oids;&#39;;
                 execute &#39;alter table sl_listen set without oids;&#39;;
-                execute &#39;alter table sl_log_1 set without oids;&#39;;
-                execute &#39;alter table sl_log_2 set without oids;&#39;;
                 execute &#39;alter table sl_node set without oids;&#39;;
                 execute &#39;alter table sl_nodelock set without oids;&#39;;
                 execute &#39;alter table sl_path set without oids;&#39;;
-                execute &#39;alter table sl_seqlog set without oids;&#39;;
                 execute &#39;alter table sl_sequence set without oids;&#39;;
                 execute &#39;alter table sl_set set without oids;&#39;;
                 execute &#39;alter table sl_setsync set without oids;&#39;;
@@ -9301,6 +9498,21 @@
                 execute &#39;alter table sl_trigger set without oids;&#39;;
 	end if;
 
+	-- ----
+	-- Changes for 1.2.11
+	-- ----
+	if p_old IN (&#39;1.0.2&#39;, &#39;1.0.5&#39;, &#39;1.0.6&#39;, &#39;1.1.0&#39;, &#39;1.1.1&#39;, &#39;1.1.2&#39;, &#39;1.1.3&#39;,&#39;1.1.5&#39;, &#39;1.1.6&#39;, &#39;1.1.7&#39;, &#39;1.1.8&#39;, &#39;1.1.9&#39;, &#39;1.2.0&#39;, &#39;1.2.1&#39;, &#39;1.2.2&#39;, &#39;1.2.3&#39;, &#39;1.2.4&#39;, &#39;1.2.5&#39;, &#39;1.2.6&#39;, &#39;1.2.7&#39;, &#39;1.2.8&#39;, &#39;1.2.9&#39;, &#39;1.2.10&#39;) then
+		-- Add new table sl_archive_counter
+		execute &#39;create table sl_archive_counter (
+						ac_num			bigint,
+						ac_timestamp	timestamp
+					) without oids&#39;;
+		execute &#39;insert into sl_archive_counter
+					(ac_num, ac_timestamp) values (0, &#39;&#39;epoch&#39;&#39;::timestamp)&#39;;
+	end if;
+
+	-- In any version, make sure that the xxidin() functions are defined STRICT
+	perform make_function_strict (&#39;xxidin&#39;, &#39;(cstring)&#39;);
 	return p_old;
 end;</programlisting>
 </para>

Modified: traduc/trunk/slony/schemadoc.xml
===================================================================
--- traduc/trunk/slony/schemadoc.xml	2009-03-01 10:18:22 UTC (rev 1256)
+++ traduc/trunk/slony/schemadoc.xml	2009-03-01 11:06:16 UTC (rev 1257)
@@ -1,374 +1,205 @@
 <!-- $Header: /slony1/slony1-engine/doc/adminguide/schemadoc.xml,v 1.7 2006-07-31 18:56:24 cbbrowne Exp $ -->
 
+<chapter id="schema" xreflabel="schemadoc">
+<title>Schéma schemadoc</title>
 
+<section id="table.sl-config-lock" xreflabel="sl_config_lock">
+<title id="table.sl-config-lock-title">
+  Table&nbsp;: <structname>sl_config_lock</structname>
+</title>
 
+<para>
+  Cette table existe seulement pour empêcher l'exécution concurrent de procédure
+  de modification de la configuration et des verrous mortels possibles.
+</para>
 
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_config_lock</structname></title>
 
+    <varlistentry>
+      <term><structfield>dummy</structfield></term>
+      <listitem><para><type>integer</type></para></listitem>
+    </varlistentry>
+  </variablelist>
+</para>
 
-  <chapter id="schema"
-           xreflabel="schemadoc">
-    <title>Schema schemadoc</title>
-    <para></para>
+</section>
 
-
-      <section id="table.sl-config-lock"
-               xreflabel="sl_config_lock">
-        <title id="table.sl-config-lock-title">
-         Table:
-         
-         <structname>sl_config_lock</structname>
-        </title>
+<section id="table.sl-confirm" xreflabel="sl_confirm">
+<title id="table.sl-confirm-title">
+  Table&nbsp;: <structname>sl_confirm</structname>
+</title>
  
+<para>
+  Contient la confirmation des événements de réplication. Après une certaine
+  période, Slony supprime les anciens événements à partir de cette table et
+  de la table sl_event.
+</para>
 
-        <para>
-          This table exists solely to prevent overlapping execution of configuration change procedures and the resulting possible deadlocks.
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_confirm</structname></title>
 
+    <varlistentry>
+      <term><structfield>con_origin</structfield></term>
+      <listitem>
+        <para><type>integer</type></para>
+        <para>
+          L'identifiant (provenant de sl_node.no_id) du n&oelig;ud source pour
+	  cet événement
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>con_received</structfield></term>
+      <listitem>
+        <para><type>integer</type></para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>con_seqno</structfield></term>
+      <listitem>
+        <para><type>bigint</type></para>
+	
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_config_lock</structname>
-            </title>
+          L'identifiant de l'événement
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>con_timestamp</structfield></term>
+      <listitem>
+        <para>
+	  <type>timestamp without time zone</type>
+	  <literal>DEFAULT (timeofday())::timestamp without time zone</literal>
+	</para>
+        <para>
+          Horodatage de la confirmation de l'événement
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
 
-            <varlistentry>
-              <term><structfield>dummy</structfield></term>
-              <listitem><para>
-                <type>integer</type>
+  <variablelist>
+    <title>Index sur sl_confirm</title>
 
+    <varlistentry>
+      <term>sl_confirm_idx1</term>
+      <listitem>
+        <para>con_origin, con_received, con_seqno</para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term>sl_confirm_idx2</term>
+      <listitem><para>con_received, con_seqno</para></listitem>
+    </varlistentry>
+  </variablelist>
+</para>
 
+</section>
 
+<section id="table.sl-event" xreflabel="sl_event">
+<title id="table.sl-event-title">
+  Table&nbsp;: <structname>sl_event</structname>
+</title>
+ 
+<para>
+  Contient des informations sur les événements de réplication. Après une période
+  de temps, Slony supprime les anciens événements de cette table et de la table
+  sl_confirm.
+</para>
 
+<para>
+  <variablelist>
+    <title>
+      Structure de <structname>sl_event</structname>
+    </title>
 
+    <varlistentry>
+      <term><structfield>ev_origin</structfield></term>
+      <listitem>
+        <para><type>integer</type> <literal>PRIMARY KEY</literal></para>
 
-              </para>
+        <para>
+          L'identifiant (provenant de sl_node.no_id) du n&oelig;ud source pour
+	  cet événement
+        </para>
+      </listitem>
+    </varlistentry>
 
-            </listitem>
-          </varlistentry>
+    <varlistentry>
+      <term><structfield>ev_seqno</structfield></term>
+      <listitem>
+        <para><type>bigint</type> <literal>PRIMARY KEY</literal></para>
 
-        </variablelist>
+        <para>
+          L'identifiant de l'événement
+        </para>
+      </listitem>
+    </varlistentry>
 
-
-
-
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="table.sl-confirm"
-               xreflabel="sl_confirm">
-        <title id="table.sl-confirm-title">
-         Table:
-         
-         <structname>sl_confirm</structname>
-        </title>
- 
-
+    <varlistentry>
+      <term><structfield>ev_timestamp</structfield></term>
+      <listitem>
         <para>
-          Holds confirmation of replication events.  After a period of time, Slony removes old confirmed events from both this table and the sl_event table.
+          <type>timestamp without time zone</type>
         </para>
 
-
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_confirm</structname>
-            </title>
+          Horodatage de la création de l'enregistrement
+        </para>
 
+      </listitem>
+    </varlistentry>
 
-            <varlistentry>
-              <term><structfield>con_origin</structfield></term>
-              <listitem><para>
-                <type>integer</type>
+    <varlistentry>
+      <term><structfield>ev_minxid</structfield></term>
+      <listitem>
+        <para><type>xxid</type></para>
 
+        <para>
+          Identifiant de transaction le plus ancien du n&oelig;ud fournisseur
+	  pour cet événement
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>ev_maxxid</structfield></term>
+      <listitem>
+        <para><type>xxid</type></para>
 
-
-
-
-
-              </para>
-
-              <para>
-                The ID # (from sl_node.no_id) of the source node for this event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>con_received</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-
-
-
-
-
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>con_seqno</structfield></term>
-              <listitem><para>
-                <type>bigint</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                The ID # for the event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>con_timestamp</structfield></term>
-              <listitem><para>
-                <type>timestamp without time zone</type>
-
-
-
-
-
-                <literal>DEFAULT (timeofday())::timestamp without time zone</literal>
-
-
-
-              </para>
-
-              <para>
-                When this event was confirmed
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-        <variablelist>
-          <title>Indexes on sl_confirm</title>
-
-          <varlistentry>
-            <term>sl_confirm_idx1</term>
-            <listitem><para>con_origin, con_received, con_seqno</para></listitem>
-          </varlistentry>
-
-
-
-          <varlistentry>
-            <term>sl_confirm_idx2</term>
-            <listitem><para>con_received, con_seqno</para></listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="table.sl-event"
-               xreflabel="sl_event">
-        <title id="table.sl-event-title">
-         Table:
-         
-         <structname>sl_event</structname>
-        </title>
- 
-
         <para>
-          Holds information about replication events.  After a period of time, Slony removes old confirmed events from both this table and the sl_confirm table.
+          Dernier identifiant de transaction du n&oelig;ud fournisseur pour cet
+	  événement
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>ev_xip</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_event</structname>
-            </title>
+	  Liste des identifiants de transaction, dans l'ordre, qui font partie
+	  de cet événement
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>ev_type</structfield></term>
+      <listitem>
+	<para><type>text</type></para>
 
-            <varlistentry>
-              <term><structfield>ev_origin</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                The ID # (from sl_node.no_id) of the source node for this event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ev_seqno</structfield></term>
-              <listitem><para>
-                <type>bigint</type>
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                The ID # for the event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ev_timestamp</structfield></term>
-              <listitem><para>
-                <type>timestamp without time zone</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                When this event record was created
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ev_minxid</structfield></term>
-              <listitem><para>
-                <type>xxid</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Earliest XID on provider node for this event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ev_maxxid</structfield></term>
-              <listitem><para>
-                <type>xxid</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Latest XID on provider node for this event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ev_xip</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                List of XIDs, in order, that are part of this event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ev_type</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                The type of event this record is for.  
+        <para>
+          Le type d'événement pour cet enregistrement.
 				SYNC				= Synchronise
 				STORE_NODE			=
 				ENABLE_NODE			=
@@ -397,1318 +228,664 @@
 				DDL_SCRIPT			=
 				ADJUST_SEQ			=
 				RESET_CONFIG		=
+        </para>
+      </listitem>
+    </varlistentry>
+    
+    <varlistentry>
+      <term><structfield>ev_data1</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
+	
+        <para>
+          Champ de données contenant un argument nécessaire pour traiter
+	  l'événement
+        </para>
+      </listitem>
+    </varlistentry>
 
-              </para>
+    <varlistentry>
+      <term><structfield>ev_data2</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
-            </listitem>
-          </varlistentry>
+        <para>
+          Champ de données contenant un argument nécessaire pour traiter
+	  l'événement
+        </para>
+      </listitem>
+    </varlistentry>
 
-            <varlistentry>
-              <term><structfield>ev_data1</structfield></term>
-              <listitem><para>
-                <type>text</type>
+    <varlistentry>
+      <term><structfield>ev_data3</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
+        <para>
+          Champ de données contenant un argument nécessaire pour traiter
+	  l'événement
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>ev_data4</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
+        <para>
+          Champ de données contenant un argument nécessaire pour traiter
+	  l'événement
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>ev_data5</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
+        <para>
+          Champ de données contenant un argument nécessaire pour traiter
+	  l'événement
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>ev_data6</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
-              </para>
+        <para>
+          Champ de données contenant un argument nécessaire pour traiter
+	  l'événement
+        </para>
+      </listitem>
+    </varlistentry>
 
-              <para>
-                Data field containing an argument needed to process the event
-              </para>
+    <varlistentry>
+      <term><structfield>ev_data7</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
-            </listitem>
-          </varlistentry>
+        <para>
+          Champ de données contenant un argument nécessaire pour traiter
+	  l'événement
+        </para>
+      </listitem>
+    </varlistentry>
 
-            <varlistentry>
-              <term><structfield>ev_data2</structfield></term>
-              <listitem><para>
-                <type>text</type>
+    <varlistentry>
+      <term><structfield>ev_data8</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
+        <para>
+          Champ de données contenant un argument nécessaire pour traiter
+	  l'événement
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+</para>
 
+</section>
 
+<section id="table.sl-listen" xreflabel="sl_listen">
+<title id="table.sl-listen-title">
+  Table&nbsp;: <structname>sl_listen</structname>
+</title>
+ 
+<para>
+  Indique comme les n&oelig;uds écoutent aux événements à partir d'autres
+  n&oelig;uds dans le réseau Slony-I.
+</para>
 
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_listen</structname></title>
 
+    <varlistentry>
+      <term><structfield>li_origin</structfield></term>
+      <listitem>
+        <para>
+	  <type>integer</type>
+	  <literal>PRIMARY KEY</literal>
+	  <literal>REFERENCES</literal> <xref linkend="table.sl-node"/>
+        </para>
 
+        <para>
+          L'identifiant (provenant de sl_node.no_id) du n&oelig;ud sur lequel
+	  l'écoute se fait
+        </para>
+      </listitem>
+    </varlistentry>
 
-              </para>
+    <varlistentry>
+      <term><structfield>li_provider</structfield></term>
+      <listitem>
+        <para>
+	  <type>integer</type>
+	  <literal>PRIMARY KEY</literal>
+	  <literal>REFERENCES</literal> <xref linkend="table.sl-path"/>
+        </para>
 
-              <para>
-                Data field containing an argument needed to process the event
-              </para>
+        <para>
+          L'identifiant (provenant de sl_node.no_id) du n&oelig;ud source pour
+	  cet événement d'écoute
+        </para>
+      </listitem>
+    </varlistentry>
 
-            </listitem>
-          </varlistentry>
+    <varlistentry>
+      <term><structfield>li_receiver</structfield></term>
+      <listitem>
+        <para>
+	  <type>integer</type>
+          <literal>PRIMARY KEY</literal>
+          <literal>REFERENCES</literal> <xref linkend="table.sl-path"/>
+        </para>
 
-            <varlistentry>
-              <term><structfield>ev_data3</structfield></term>
-              <listitem><para>
-                <type>text</type>
+        <para>
+          L'identifiant (provenant de sl_node.no_id) du n&oelig;ud cible pour
+	  cet événement d'écoute
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+</para>
 
+</section>
 
+<section id="table.sl-log-1" xreflabel="sl_log_1">
+<title id="table.sl-log-1-title">
+  Table&nbsp;: <structname>sl_log_1</structname>
+</title>
+ 
+<para>
+  Enregistre chaque modification à propager aux n&oelig;uds abonnés
+</para>
 
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_log_1</structname></title>
 
+    <varlistentry>
+      <term><structfield>log_origin</structfield></term>
+      <listitem>
+        <para><type>integer</type></para>
 
+        <para>
+          nN&oelig;ud origine d'où la modification est survenue
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>log_xid</structfield></term>
+      <listitem>
+        <para><type>xxid</type></para>
 
-              </para>
-
-              <para>
-                Data field containing an argument needed to process the event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ev_data4</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Data field containing an argument needed to process the event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ev_data5</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Data field containing an argument needed to process the event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ev_data6</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Data field containing an argument needed to process the event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ev_data7</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Data field containing an argument needed to process the event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ev_data8</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Data field containing an argument needed to process the event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="table.sl-listen"
-               xreflabel="sl_listen">
-        <title id="table.sl-listen-title">
-         Table:
-         
-         <structname>sl_listen</structname>
-        </title>
- 
-
         <para>
-          Indicates how nodes listen to events from other nodes in the Slony-I network.
+          Identifiant de transaction sur le n&oelig;ud origine
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>log_tableid</structfield></term>
+      <listitem>
+        <para><type>integer</type></para>
 
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_listen</structname>
-            </title>
+          L'identifiant table (provenant de sl_table.tab_id) que cette entrée de
+	  journal affecte
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>log_actionseq</structfield></term>
+      <listitem>
+        <para><type>bigint</type></para>
+      </listitem>
+    </varlistentry>
 
-            <varlistentry>
-              <term><structfield>li_origin</structfield></term>
-              <listitem><para>
-                <type>integer</type>
+    <varlistentry>
+      <term><structfield>log_cmdtype</structfield></term>
+      <listitem>
+        <para><type>character(1)</type></para>
 
-
-
-
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-                <literal>REFERENCES</literal> <xref linkend="table.sl-node"/>
-
-
-
-
-              </para>
-
-              <para>
-                The ID # (from sl_node.no_id) of the node this listener is operating on
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>li_provider</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                <literal>REFERENCES</literal> <xref linkend="table.sl-path"/>
-
-
-              </para>
-
-              <para>
-                The ID # (from sl_node.no_id) of the source node for this listening event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>li_receiver</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                <literal>REFERENCES</literal> <xref linkend="table.sl-path"/>
-
-
-              </para>
-
-              <para>
-                The ID # (from sl_node.no_id) of the target node for this listening event
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="table.sl-log-1"
-               xreflabel="sl_log_1">
-        <title id="table.sl-log-1-title">
-         Table:
-         
-         <structname>sl_log_1</structname>
-        </title>
- 
-
         <para>
-          Stores each change to be propagated to subscriber nodes
+          Action de réplication à faire. U = mise à jour, I = insertion,
+	  D = suppression
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>log_cmddata</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_log_1</structname>
-            </title>
+          Les données nécessaires pour réaliser l'action du log
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+</para>
 
+</section>
 
-            <varlistentry>
-              <term><structfield>log_origin</structfield></term>
-              <listitem><para>
-                <type>integer</type>
+<section id="table.sl-log-2" xreflabel="sl_log_2">
+<title id="table.sl-log-2-title">
+  Table&nbsp;: <structname>sl_log_2</structname>
+</title>
+ 
+<para>
+  Enregistre chaque modification à propager dans les n&oelig;uds abonnés
+</para>
 
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_log_2</structname></title>
 
+    <varlistentry>
+      <term><structfield>log_origin</structfield></term>
+      <listitem>
+        <para><type>integer</type></para>
 
+        <para>
+          N&oelig;ud origine d'où provient la modification
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>log_xid</structfield></term>
+      <listitem>
+        <para><type>xxid</type></para>
 
-
-
-              </para>
-
-              <para>
-                Origin node from which the change came
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>log_xid</structfield></term>
-              <listitem><para>
-                <type>xxid</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Transaction ID on the origin node
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>log_tableid</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                The table ID (from sl_table.tab_id) that this log entry is to affect
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>log_actionseq</structfield></term>
-              <listitem><para>
-                <type>bigint</type>
-
-
-
-
-
-
-
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>log_cmdtype</structfield></term>
-              <listitem><para>
-                <type>character(1)</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Replication action to take. U = Update, I = Insert, D = DELETE
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>log_cmddata</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                The data needed to perform the log action
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="table.sl-log-2"
-               xreflabel="sl_log_2">
-        <title id="table.sl-log-2-title">
-         Table:
-         
-         <structname>sl_log_2</structname>
-        </title>
- 
-
         <para>
-          Stores each change to be propagated to subscriber nodes
+          Identifiant de transaction sur le n&oelig;ud origine
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>log_tableid</structfield></term>
+      <listitem>
+        <para><type>integer</type></para>
 
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_log_2</structname>
-            </title>
+          L'identifiant de table (provenant de sl_table.tab_id) que cette entrée
+	  de log affecte
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>log_actionseq</structfield></term>
+      <listitem>
+        <para><type>bigint</type></para>
+      </listitem>
+    </varlistentry>
 
-            <varlistentry>
-              <term><structfield>log_origin</structfield></term>
-              <listitem><para>
-                <type>integer</type>
+    <varlistentry>
+      <term><structfield>log_cmdtype</structfield></term>
+      <listitem>
+        <para><type>character(1)</type></para>
 
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Origin node from which the change came
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>log_xid</structfield></term>
-              <listitem><para>
-                <type>xxid</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Transaction ID on the origin node
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>log_tableid</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                The table ID (from sl_table.tab_id) that this log entry is to affect
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>log_actionseq</structfield></term>
-              <listitem><para>
-                <type>bigint</type>
-
-
-
-
-
-
-
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>log_cmdtype</structfield></term>
-              <listitem><para>
-                <type>character(1)</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Replication action to take. U = Update, I = Insert, D = DELETE
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>log_cmddata</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                The data needed to perform the log action
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="table.sl-node"
-               xreflabel="sl_node">
-        <title id="table.sl-node-title">
-         Table:
-         
-         <structname>sl_node</structname>
-        </title>
- 
-
         <para>
-          Holds the list of nodes associated with this namespace.
+          Action de réplication à réaliser. U = mise à jour, I = insertion,
+	  D = suppression
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>log_cmddata</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_node</structname>
-            </title>
+          Les données requises pour traiter l'action du log
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+</para>
 
+</section>
 
-            <varlistentry>
-              <term><structfield>no_id</structfield></term>
-              <listitem><para>
-                <type>integer</type>
+<section id="table.sl-node" xreflabel="sl_node">
+<title id="table.sl-node-title">
+  Table&nbsp;: <structname>sl_node</structname>
+</title>
+ 
+<para>
+  Contient la liste des n&oelig;uds associés avec ce schéma.
+</para>
 
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_node</structname></title>
 
-                <literal>PRIMARY KEY</literal>
+    <varlistentry>
+      <term><structfield>no_id</structfield></term>
+      <listitem>
+        <para><type>integer</type> <literal>PRIMARY KEY</literal></para>
 
-
-
-
-
-
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                The unique ID number for the node
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>no_active</structfield></term>
-              <listitem><para>
-                <type>boolean</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Is the node active in replication yet?
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>no_comment</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                A human-oriented description of the node
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>no_spool</structfield></term>
-              <listitem><para>
-                <type>boolean</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Is the node being used for log shipping?
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-        <itemizedlist>
-          <title>
-            Tables referencing sl_listen via Foreign Key Constraints
-          </title>
-
-          <listitem>
-            <para>
-              <xref linkend="table.sl-listen"/>
-            </para>
-          </listitem>
-
-
-
-          <listitem>
-            <para>
-              <xref linkend="table.sl-path"/>
-            </para>
-          </listitem>
-
-
-
-          <listitem>
-            <para>
-              <xref linkend="table.sl-set"/>
-            </para>
-          </listitem>
-
-
-
-          <listitem>
-            <para>
-              <xref linkend="table.sl-setsync"/>
-            </para>
-          </listitem>
-
-        </itemizedlist>
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="table.sl-nodelock"
-               xreflabel="sl_nodelock">
-        <title id="table.sl-nodelock-title">
-         Table:
-         
-         <structname>sl_nodelock</structname>
-        </title>
- 
-
         <para>
-          Used to prevent multiple slon instances and to identify the backends to kill in terminateNodeConnections().
+          L'identifiant uinique du n&oelig;ud
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>no_active</structfield></term>
+      <listitem>
+        <para><type>boolean</type></para>
 
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_nodelock</structname>
-            </title>
+          N&oelig;ud actif dans la réplication&nbsp;?
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>no_comment</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
-            <varlistentry>
-              <term><structfield>nl_nodeid</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Clients node_id
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>nl_conncnt</structfield></term>
-              <listitem><para>
-                <type>serial</type>
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Clients connection number
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>nl_backendpid</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                PID of database backend owning this lock
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="table.sl-path"
-               xreflabel="sl_path">
-        <title id="table.sl-path-title">
-         Table:
-         
-         <structname>sl_path</structname>
-        </title>
- 
-
         <para>
-          Holds connection information for the paths between nodes, and the synchronisation delay
+          Une description humaine du n&oelig;ud
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>no_spool</structfield></term>
+      <listitem>
+        <para><type>boolean</type></para>
 
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_path</structname>
-            </title>
+          N&oelig;ud utilisé pour le log shipping&nbsp;?
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
 
+  <itemizedlist>
+    <title>Tables référençant sl_listen via des contraintes de clés étrangères</title>
 
-            <varlistentry>
-              <term><structfield>pa_server</structfield></term>
-              <listitem><para>
-                <type>integer</type>
+    <listitem>
+      <para><xref linkend="table.sl-listen"/></para>
+    </listitem>
 
+    <listitem>
+      <para><xref linkend="table.sl-path"/></para>
+    </listitem>
 
+    <listitem>
+      <para><xref linkend="table.sl-set"/></para>
+    </listitem>
 
+    <listitem>
+      <para><xref linkend="table.sl-setsync"/></para>
+    </listitem>
+  </itemizedlist>
+</para>
 
+</section>
 
+<section id="table.sl-nodelock" xreflabel="sl_nodelock">
+<title id="table.sl-nodelock-title">
+  Table&nbsp;: <structname>sl_nodelock</structname>
+</title>
+ 
+<para>
+  Utilisé pour empêcher plusieurs instances slon et pour identifier les
+  processus à tuer dans terminateNodeConnections().
+</para>
 
-                <literal>PRIMARY KEY</literal>
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_nodelock</structname></title>
 
+    <varlistentry>
+      <term><structfield>nl_nodeid</structfield></term>
+      <listitem>
+        <para><type>integer</type> <literal>PRIMARY KEY</literal></para>
 
+        <para>
+          node_id clients
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>nl_conncnt</structfield></term>
+      <listitem>
+        <para><type>serial</type> <literal>PRIMARY KEY</literal></para>
 
-
-
-
-
-
-
-
-
-                <literal>REFERENCES</literal> <xref linkend="table.sl-node"/>
-
-
-
-
-              </para>
-
-              <para>
-                The Node ID # (from sl_node.no_id) of the data source
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>pa_client</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-
-
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-                <literal>REFERENCES</literal> <xref linkend="table.sl-node"/>
-
-
-
-
-              </para>
-
-              <para>
-                The Node ID # (from sl_node.no_id) of the data target
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>pa_conninfo</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-                <literal>NOT NULL</literal>
-
-
-
-
-
-              </para>
-
-              <para>
-                The PostgreSQL connection string used to connect to the source node.
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>pa_connretry</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                The synchronisation delay, in seconds
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-        <itemizedlist>
-          <title>
-            Tables referencing sl_listen via Foreign Key Constraints
-          </title>
-
-          <listitem>
-            <para>
-              <xref linkend="table.sl-listen"/>
-            </para>
-          </listitem>
-
-
-
-          <listitem>
-            <para>
-              <xref linkend="table.sl-subscribe"/>
-            </para>
-          </listitem>
-
-        </itemizedlist>
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="table.sl-registry"
-               xreflabel="sl_registry">
-        <title id="table.sl-registry-title">
-         Table:
-         
-         <structname>sl_registry</structname>
-        </title>
- 
-
         <para>
-          Stores miscellaneous runtime data
+          Numéro de connexion des clients
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>nl_backendpid</structfield></term>
+      <listitem>
+        <para><type>integer</type></para>
 
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_registry</structname>
-            </title>
+          PID du processus de la base de données, possédant ce verrou
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+</para>
 
+</section>
 
-            <varlistentry>
-              <term><structfield>reg_key</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Unique key of the runtime option
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>reg_int4</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Option value if type int4
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>reg_text</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Option value if type text
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>reg_timestamp</structfield></term>
-              <listitem><para>
-                <type>timestamp without time zone</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Option value if type timestamp
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="view.sl-seqlastvalue"
-               xreflabel="sl_seqlastvalue">
-        <title id="view.sl-seqlastvalue-title">
-         View:
-         
-         <structname>sl_seqlastvalue</structname>
-        </title>
+<section id="table.sl-path" xreflabel="sl_path">
+<title id="table.sl-path-title">
+  Table&nbsp;: <structname>sl_path</structname>
+</title>
  
+<para>
+  Contient des informations de connexions pour les chemins entre les n&oelig;uds
+  ainsi que le délai de synchronisation.
+</para>
 
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_path</structname></title>
 
+    <varlistentry>
+      <term><structfield>pa_server</structfield></term>
+      <listitem>
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_seqlastvalue</structname>
-            </title>
+	  <type>integer</type>
+	  <literal>PRIMARY KEY</literal>
+	  <literal>REFERENCES</literal> <xref linkend="table.sl-node"/>
+        </para>
 
+        <para>
+          L'identifiant du n&oelig;ud (provenant de sl_node.no_id) de la
+	  source des données
+        </para>
+      </listitem>
+    </varlistentry>
 
-            <varlistentry>
-              <term><structfield>seq_id</structfield></term>
-              <listitem><para>
-                <type>integer</type>
+    <varlistentry>
+      <term><structfield>pa_client</structfield></term>
+      <listitem>
+        <para>
+	  <type>integer</type>
+	  <literal>PRIMARY KEY</literal>
+	  <literal>REFERENCES</literal> <xref linkend="table.sl-node"/>
+        </para>
 
+        <para>
+          L'identifiant du n&oelig;ud (provenant de sl_node.no_id) de la cible
+	  des données
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>pa_conninfo</structfield></term>
+      <listitem>
+        <para><type>text</type> <literal>NOT NULL</literal></para>
 
+        <para>
+          La chaîne de connexion PostgreSQL utilisée pour se connecter au
+	  n&oelig;ud source.
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>pa_connretry</structfield></term>
+      <listitem>
+        <para><type>integer</type></para>
 
+        <para>
+          Le délai de synchronisation, en secondes
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
 
+  <itemizedlist>
+    <title>Tables référençant sl_listen via des contraintes de clés étrangères</title>
 
-              </para>
+    <listitem>
+      <para><xref linkend="table.sl-listen"/></para>
+    </listitem>
 
-            </listitem>
-          </varlistentry>
+    <listitem>
+      <para><xref linkend="table.sl-subscribe"/></para>
+    </listitem>
+  </itemizedlist>
+</para>
 
-            <varlistentry>
-              <term><structfield>seq_set</structfield></term>
-              <listitem><para>
-                <type>integer</type>
+</section>
 
+<section id="table.sl-registry" xreflabel="sl_registry">
+<title id="table.sl-registry-title">
+  Table&nbsp;: <structname>sl_registry</structname>
+</title>
+ 
+<para>
+  Enregistre différentes données d'exécution.
+</para>
 
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_registry</structname></title>
 
+    <varlistentry>
+      <term><structfield>reg_key</structfield></term>
+      <listitem>
+        <para><type>text</type> <literal>PRIMARY KEY</literal></para>
 
+        <para>
+          Clé unique de l'option d'exécution
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>reg_int4</structfield></term>
+      <listitem>
+        <para><type>integer</type></para>
 
+        <para>
+          Valeur de l'option si de type int4
+        </para>
+      </listitem>
+    </varlistentry>
 
-              </para>
+    <varlistentry>
+      <term><structfield>reg_text</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
-            </listitem>
-          </varlistentry>
+        <para>
+          Valeur de l'option si de type text
+        </para>
+      </listitem>
+    </varlistentry>
 
-            <varlistentry>
-              <term><structfield>seq_reloid</structfield></term>
-              <listitem><para>
-                <type>oid</type>
+    <varlistentry>
+      <term><structfield>reg_timestamp</structfield></term>
+      <listitem>
+        <para><type>timestamp without time zone</type></para>
 
+        <para>
+          Valeur de l'option si de type timestamp
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+</para>
 
+</section>
 
+<section id="view.sl-seqlastvalue" xreflabel="sl_seqlastvalue">
+<title id="view.sl-seqlastvalue-title">
+  Vue&nbsp;: <structname>sl_seqlastvalue</structname>
+</title>
 
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_seqlastvalue</structname></title>
 
+    <varlistentry>
+      <term><structfield>seq_id</structfield></term>
+      <listitem>
+        <para><type>integer</type></para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>seq_set</structfield></term>
+      <listitem>
+        <para><type>integer</type></para>
+      </listitem>
+    </varlistentry>
 
-              </para>
+    <varlistentry>
+      <term><structfield>seq_reloid</structfield></term>
+      <listitem>
+        <para><type>oid</type></para>
+      </listitem>
+    </varlistentry>
 
-            </listitem>
-          </varlistentry>
+    <varlistentry>
+      <term><structfield>seq_origin</structfield></term>
+      <listitem>
+        <para><type>integer</type></para>
+      </listitem>
+    </varlistentry>
 
-            <varlistentry>
-              <term><structfield>seq_origin</structfield></term>
-              <listitem><para>
-                <type>integer</type>
+    <varlistentry>
+      <term><structfield>seq_last_value</structfield></term>
+      <listitem>
+        <para><type>bigint</type></para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
 
-
-
-
-
-
-
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>seq_last_value</structfield></term>
-              <listitem><para>
-                <type>bigint</type>
-
-
-
-
-
-
-
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-
-        <figure>
-         <title>Definition of view sl_seqlastvalue</title>
-         <programlisting>
-SELECT sq.seq_id
+  <figure>
+    <title>Définition de la vue sl_seqlastvalue</title>
+    <programlisting>SELECT sq.seq_id
 , sq.seq_set
 , sq.seq_reloid
 , s.set_origin AS seq_origin
@@ -1736,1249 +913,626 @@
      )
    AND (pgn.oid = pgc.relnamespace)
 );</programlisting>
-        </figure>
+  </figure>
+</para>
 
+</section>
 
+<section id="table.sl-seqlog" xreflabel="sl_seqlog">
+<title id="table.sl-seqlog-title">
+  Table&nbsp;: <structname>sl_seqlog</structname>
+</title>
+ 
+<para>
+  Log des mises à jour de séquences.
+</para>
 
-      </para>
-    </section>
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_seqlog</structname></title>
 
-      <section id="table.sl-seqlog"
-               xreflabel="sl_seqlog">
-        <title id="table.sl-seqlog-title">
-         Table:
-         
-         <structname>sl_seqlog</structname>
-        </title>
- 
+    <varlistentry>
+      <term><structfield>seql_seqid</structfield></term>
+      <listitem>
+        <para><type>integer</type></para>
 
         <para>
-          Log of Sequence updates
+          Identifiant de la séquence
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>seql_origin</structfield></term>
+      <listitem>
+        <para><type>integer</type></para>
 
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_seqlog</structname>
-            </title>
+          N&oelig;ud d'où vient la séquence
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>seql_ev_seqno</structfield></term>
+      <listitem>
+        <para><type>bigint</type></para>
 
-            <varlistentry>
-              <term><structfield>seql_seqid</structfield></term>
-              <listitem><para>
-                <type>integer</type>
+        <para>
+          Événement Slony-I avec lequel cette mise à jour de la séquence est
+	  associée
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>seql_last_value</structfield></term>
+      <listitem>
+        <para><type>bigint</type></para>
 
+        <para>
+          Dernière valeur connue pour cette séquence
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
 
+  <variablelist>
+    <title>Index sur sl_seqlog</title>
 
+    <varlistentry>
+      <term>sl_seqlog_idx</term>
+      <listitem><para>seql_origin, seql_ev_seqno, seql_seqid</para></listitem>
+    </varlistentry>
+  </variablelist>
+</para>
 
+</section>
 
+<section id="table.sl-sequence" xreflabel="sl_sequence">
+<title id="table.sl-sequence-title">
+  Table&nbsp;: <structname>sl_sequence</structname>
+</title>
+ 
+<para>
+  Similaire à sl_table. Chaque entrée identifie une séquence à répliquer.
+</para>
 
-              </para>
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_sequence</structname></title>
 
-              <para>
-                Sequence ID
-              </para>
+    <varlistentry>
+      <term><structfield>seq_id</structfield></term>
+      <listitem>
+        <para><type>integer</type> <literal>PRIMARY KEY</literal></para>
 
-            </listitem>
-          </varlistentry>
+        <para>
+          Identifiant interne utilisé par Slony pour sa séquence de mise à jour
+        </para>
+      </listitem>
+    </varlistentry>
 
-            <varlistentry>
-              <term><structfield>seql_origin</structfield></term>
-              <listitem><para>
-                <type>integer</type>
+    <varlistentry>
+      <term><structfield>seq_reloid</structfield></term>
+      <listitem>
+        <para><type>oid</type> <literal>UNIQUE</literal> <literal>NOT NULL</literal></para>
 
+        <para>
+          OID de la séquence
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>seq_relname</structfield></term>
+      <listitem>
+        <para><type>name</type> <literal>NOT NULL</literal></para>
 
+        <para>
+          Nom de la séquence dans pg_catalog.pg_class.relname, utilisé pour être
+	  récupéré sur un cycle sauvegarde/restauration
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>seq_nspname</structfield></term>
+      <listitem>
+        <para><type>name</type> <literal>NOT NULL</literal></para>
 
+        <para>
+          Nom du schéma dans pg_catalog.pg_namespace.nspname, utilisé pour être
+	  récupéré sur un cycle sauvegarde/restauration
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>seq_set</structfield></term>
+      <listitem>
+        <para><type>integer</type> <literal>REFERENCES</literal> <xref linkend="table.sl-set"/></para>
 
-              </para>
+        <para>
+          Indique dans quel ensemble de réplication se trouve l'objet
+        </para>
+      </listitem>
+    </varlistentry>
 
-              <para>
-                Publisher node at which the sequence originates
-              </para>
+    <varlistentry>
+      <term><structfield>seq_comment</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
-            </listitem>
-          </varlistentry>
+        <para>
+          Un commentaire humain
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+</para>
 
-            <varlistentry>
-              <term><structfield>seql_ev_seqno</structfield></term>
-              <listitem><para>
-                <type>bigint</type>
+</section>
 
+<section id="table.sl-set" xreflabel="sl_set">
+<title id="table.sl-set-title">
+  Table&nbsp;: <structname>sl_set</structname>
+</title>
+ 
+<para>
+  Contient la définition des ensembles de réplication.
+</para>
 
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_set</structname></title>
 
+    <varlistentry>
+      <term><structfield>set_id</structfield></term>
+      <listitem>
+        <para><type>integer</type> <literal>PRIMARY KEY</literal></para>
 
+        <para>
+          Un identifiant unique pour l'ensemble.
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>set_origin</structfield></term>
+      <listitem>
+        <para><type>integer</type> <literal>REFERENCES</literal> <xref linkend="table.sl-node"/></para>
 
+        <para>
+          Un identifiant du n&oelig;ud source pour l'ensemble de réplication.
+        </para>
+      </listitem>
+    </varlistentry>
 
-              </para>
+    <varlistentry>
+      <term><structfield>set_locked</structfield></term>
+      <listitem>
+        <para><type>xxid</type></para>
 
-              <para>
-                Slony-I Event with which this sequence update is associated
-              </para>
+        <para>
+          Indique si l'ensemble est verrouillé.
+        </para>
+      </listitem>
+    </varlistentry>
 
-            </listitem>
-          </varlistentry>
+    <varlistentry>
+      <term><structfield>set_comment</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
-            <varlistentry>
-              <term><structfield>seql_last_value</structfield></term>
-              <listitem><para>
-                <type>bigint</type>
+        <para>
+          Une description humaine de l'ensemble.
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
 
+  <itemizedlist>
+    <title>Tables référençant sl_sequence via des contraintes de clés étrangères</title>
 
+    <listitem>
+      <para><xref linkend="table.sl-sequence"/></para>
+    </listitem>
 
+    <listitem>
+      <para><xref linkend="table.sl-setsync"/></para>
+    </listitem>
 
+    <listitem>
+      <para><xref linkend="table.sl-subscribe"/></para>
+    </listitem>
 
+    <listitem>
+      <para><xref linkend="table.sl-table"/></para>
+    </listitem>
+  </itemizedlist>
+</para>
 
+</section>
 
-              </para>
+<section id="table.sl-setsync" xreflabel="sl_setsync">
+<title id="table.sl-setsync-title">
+  Table&nbsp;: <structname>sl_setsync</structname>
+</title>
+ 
+<para>
+  Informations de SYNC
+</para>
 
-              <para>
-                Last value published for this sequence
-              </para>
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_setsync</structname></title>
 
-            </listitem>
-          </varlistentry>
+    <varlistentry>
+      <term><structfield>ssy_setid</structfield></term>
+      <listitem>
+        <para>
+	  <type>integer</type>
+	  <literal>PRIMARY KEY</literal>
+	  <literal>REFERENCES</literal> <xref linkend="table.sl-set"/>
+        </para>
 
-        </variablelist>
+        <para>
+          Identifiant de l'ensemble de réplication
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>ssy_origin</structfield></term>
+      <listitem>
+        <para><type>integer</type> <literal>REFERENCES</literal> <xref linkend="table.sl-node"/></para>
 
+        <para>
+          Identifiant du n&oelig;ud
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>ssy_seqno</structfield></term>
+      <listitem>
+        <para><type>bigint</type></para>
 
+        <para>
+          Numéro de séquence Slony-I
+        </para>
+      </listitem>
+    </varlistentry>
 
-        <variablelist>
-          <title>Indexes on sl_seqlog</title>
+    <varlistentry>
+      <term><structfield>ssy_minxid</structfield></term>
+      <listitem>
+        <para><type>xxid</type></para>
 
-          <varlistentry>
-            <term>sl_seqlog_idx</term>
-            <listitem><para>seql_origin, seql_ev_seqno, seql_seqid</para></listitem>
-          </varlistentry>
+        <para>
+          Identifiant de transaction le plus ancient dans le système affecté
+	  par SYNC
+        </para>
+      </listitem>
+    </varlistentry>
 
-        </variablelist>
+    <varlistentry>
+      <term><structfield>ssy_maxxid</structfield></term>
+      <listitem>
+        <para><type>xxid</type></para>
 
+        <para>
+          Dernier identifiant de transaction dans le système fournisseur affecté
+	  par SYNC
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>ssy_xip</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
+        <para>
+          Contient la liste des identifiants de transactions en progression
+	  au moment du SYNC
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>ssy_action_list</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
+        <para>
+          Liste d'action utilisée lors du traitement de l'abonnement. Au moment
+	  où un abonné copie des données à partir de l'origine, il voit toutes
+	  les tables dans un état entre deux événements SYNC. Du coup, cette
+	  liste doit contenir tous les identifiants de transactions visibles
+	  à ce moment, donc les opérations ont déjà été incluses dans les
+	  données copiées au moment où la copie initiale des données est faite.
+	  Du coup, ces actions peuvent être filtrées du premier SYNC réalisé
+	  après l'abonnement.
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+</para>
 
+</section>
 
+<section id="table.sl-subscribe" xreflabel="sl_subscribe">
+<title id="table.sl-subscribe-title">
+  Table&nbsp;: <structname>sl_subscribe</structname>
+</title>
+ 
 
-      </para>
-    </section>
+<para>
+  Contient une liste des abonnements sur les ensembles.
+</para>
 
-      <section id="table.sl-sequence"
-               xreflabel="sl_sequence">
-        <title id="table.sl-sequence-title">
-         Table:
-         
-         <structname>sl_sequence</structname>
-        </title>
- 
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_subscribe</structname></title>
 
+    <varlistentry>
+      <term><structfield>sub_set</structfield></term>
+      <listitem>
         <para>
-          Similar to sl_table, each entry identifies a sequence being replicated.
+	  <type>integer</type>
+	  <literal>PRIMARY KEY</literal>
+	  <literal>REFERENCES</literal> <xref linkend="table.sl-set"/>
         </para>
 
-
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_sequence</structname>
-            </title>
+          Identifiant (provenant de sl_set) de l'ensemble
+        </para>
 
+      </listitem>
+    </varlistentry>
 
-            <varlistentry>
-              <term><structfield>seq_id</structfield></term>
-              <listitem><para>
-                <type>integer</type>
+    <varlistentry>
+      <term><structfield>sub_provider</structfield></term>
+      <listitem>
+        <para><type>integer</type> <literal>REFERENCES</literal> <xref linkend="table.sl-path"/></para>
 
+        <para>
+          Identifiant (provenant de sl_node) du n&oelig;ud fournissant les données
+        </para>
+      </listitem>
+    </varlistentry>
 
-                <literal>PRIMARY KEY</literal>
+    <varlistentry>
+      <term><structfield>sub_receiver</structfield></term>
+      <listitem>
+        <para>
+	  <type>integer</type>
+	  <literal>PRIMARY KEY</literal>
+	  <literal>REFERENCES</literal> <xref linkend="table.sl-path"/>
+        </para>
 
+        <para>
+          Identifiant (provenant de sl_node) du n&oelig;ud recevant les données
+	  à partir du fournisseur
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>sub_forward</structfield></term>
+      <listitem>
+        <para><type>boolean</type></para>
 
+        <para>
+          Le fournisseur doit-il conserver les données dans sl_log_1/sl_log_2
+	  pour lui permettre de devenir un fournisseur vers d'autres
+	  n&oelig;uds&nbsp;?
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>sub_active</structfield></term>
+      <listitem>
+        <para><type>boolean</type></para>
 
+        <para>
+          L'abonnement a-t-il été activé&nbsp;? ceci n'est pas configuré sur
+	  l'abonné jusqu'à APRÈS la réception des données de COPY du fournisseur
+	  à l'abonné.
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+</para>
 
+</section>
 
+<section id="table.sl-table" xreflabel="sl_table">
+<title id="table.sl-table-title">
+  Table&nbsp;: <structname>sl_table</structname>
+</title>
+ 
+<para>
+  Contient des informations sur les tables à répliquer.
+</para>
 
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_table</structname></title>
 
+    <varlistentry>
+      <term><structfield>tab_id</structfield></term>
+      <listitem>
+        <para><type>integer</type> <literal>PRIMARY KEY</literal></para>
 
-
-
-
-              </para>
-
-              <para>
-                An internally-used ID for Slony-I to use in its sequencing of updates
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>seq_reloid</structfield></term>
-              <listitem><para>
-                <type>oid</type>
-
-
-
-
-                      <literal>UNIQUE</literal>
-
-
-
-
-                <literal>NOT NULL</literal>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                The OID of the sequence object
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>seq_relname</structfield></term>
-              <listitem><para>
-                <type>name</type>
-
-
-
-                <literal>NOT NULL</literal>
-
-
-
-
-
-              </para>
-
-              <para>
-                The name of the sdequence in pg_catalog.pg_class.relname used to recover from a dump/restore cycle
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>seq_nspname</structfield></term>
-              <listitem><para>
-                <type>name</type>
-
-
-
-                <literal>NOT NULL</literal>
-
-
-
-
-
-              </para>
-
-              <para>
-                The name of the schema in pg_catalog.pg_namespace.nspname used to recover from a dump/restore cycle
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>seq_set</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-
-
-
-
-
-
-
-
-
-
-                <literal>REFERENCES</literal> <xref linkend="table.sl-set"/>
-
-
-              </para>
-
-              <para>
-                Indicates which replication set the object is in
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>seq_comment</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                A human-oriented comment
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="table.sl-set"
-               xreflabel="sl_set">
-        <title id="table.sl-set-title">
-         Table:
-         
-         <structname>sl_set</structname>
-        </title>
- 
-
         <para>
-          Holds definitions of replication sets.
+          Clé unique que Slony-I utilise pour identifier la table
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>tab_reloid</structfield></term>
+      <listitem>
+        <para><type>oid</type> <literal>UNIQUE</literal> <literal>NOT NULL</literal></para>
 
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_set</structname>
-            </title>
+          OID de la table (pg_catalog.pg_class.oid)
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>tab_relname</structfield></term>
+      <listitem>
+        <para><type>name</type> <literal>NOT NULL</literal></para>
 
-            <varlistentry>
-              <term><structfield>set_id</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                A unique ID number for the set.
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>set_origin</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-
-
-
-
-
-
-
-
-
-
-                <literal>REFERENCES</literal> <xref linkend="table.sl-node"/>
-
-
-              </para>
-
-              <para>
-                The ID number of the source node for the replication set.
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>set_locked</structfield></term>
-              <listitem><para>
-                <type>xxid</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Indicates whether or not the set is locked.
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>set_comment</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                A human-oriented description of the set.
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-        <itemizedlist>
-          <title>
-            Tables referencing sl_sequence via Foreign Key Constraints
-          </title>
-
-          <listitem>
-            <para>
-              <xref linkend="table.sl-sequence"/>
-            </para>
-          </listitem>
-
-
-
-          <listitem>
-            <para>
-              <xref linkend="table.sl-setsync"/>
-            </para>
-          </listitem>
-
-
-
-          <listitem>
-            <para>
-              <xref linkend="table.sl-subscribe"/>
-            </para>
-          </listitem>
-
-
-
-          <listitem>
-            <para>
-              <xref linkend="table.sl-table"/>
-            </para>
-          </listitem>
-
-        </itemizedlist>
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="table.sl-setsync"
-               xreflabel="sl_setsync">
-        <title id="table.sl-setsync-title">
-         Table:
-         
-         <structname>sl_setsync</structname>
-        </title>
- 
-
         <para>
-          SYNC information
+          Nom de la table dans pg_catalog.pg_class.relname, utilisé pour être
+	  récupéré sur un cycle sauvegarde/restauration
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>tab_nspname</structfield></term>
+      <listitem>
+        <para><type>name</type><literal>NOT NULL</literal></para>
 
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_setsync</structname>
-            </title>
+          Nom du schéma dans pg_catalog.pg_namespace.nspname, utilisé pour être
+	  récupéré sur un cycle sauvegarde/restauration
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>tab_set</structfield></term>
+      <listitem>
+        <para><type>integer</type> <literal>REFERENCES</literal> <xref linkend="table.sl-set"/></para>
 
-            <varlistentry>
-              <term><structfield>ssy_setid</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                <literal>REFERENCES</literal> <xref linkend="table.sl-set"/>
-
-
-              </para>
-
-              <para>
-                ID number of the replication set
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ssy_origin</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-
-
-
-
-
-
-
-
-
-
-                <literal>REFERENCES</literal> <xref linkend="table.sl-node"/>
-
-
-              </para>
-
-              <para>
-                ID number of the node
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ssy_seqno</structfield></term>
-              <listitem><para>
-                <type>bigint</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Slony-I sequence number
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ssy_minxid</structfield></term>
-              <listitem><para>
-                <type>xxid</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Earliest XID in provider system affected by SYNC
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ssy_maxxid</structfield></term>
-              <listitem><para>
-                <type>xxid</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Latest XID in provider system affected by SYNC
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ssy_xip</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Contains the list of XIDs in progress at SYNC time
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>ssy_action_list</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                action list used during the subscription process. At the time a subscriber copies over data from the origin, it sees all tables in a state somewhere between two SYNC events. Therefore this list must contains all XIDs that are visible at that time, whose operations have therefore already been included in the data copied at the time the initial data copy is done.  Those actions may therefore be filtered out of the first SYNC done after subscribing.
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="table.sl-subscribe"
-               xreflabel="sl_subscribe">
-        <title id="table.sl-subscribe-title">
-         Table:
-         
-         <structname>sl_subscribe</structname>
-        </title>
- 
-
         <para>
-          Holds a list of subscriptions on sets
+          Identifiant de l'ensemble de réplication
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>tab_idxname</structfield></term>
+      <listitem>
+        <para><type>name</type> <literal>NOT NULL</literal></para>
 
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_subscribe</structname>
-            </title>
+          Nom de l'index primaire de la table
+        </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>tab_altered</structfield></term>
+      <listitem>
+        <para><type>boolean</type> <literal>NOT NULL</literal></para>
 
-            <varlistentry>
-              <term><structfield>sub_set</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                <literal>REFERENCES</literal> <xref linkend="table.sl-set"/>
-
-
-              </para>
-
-              <para>
-                ID # (from sl_set) of the set being subscribed to
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>sub_provider</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-
-
-
-
-
-
-
-
-
-
-                <literal>REFERENCES</literal> <xref linkend="table.sl-path"/>
-
-
-              </para>
-
-              <para>
-                ID# (from sl_node) of the node providing data
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>sub_receiver</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                <literal>REFERENCES</literal> <xref linkend="table.sl-path"/>
-
-
-              </para>
-
-              <para>
-                ID# (from sl_node) of the node receiving data from the provider
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>sub_forward</structfield></term>
-              <listitem><para>
-                <type>boolean</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Does this provider keep data in sl_log_1/sl_log_2 to allow it to be a provider for other nodes?
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>sub_active</structfield></term>
-              <listitem><para>
-                <type>boolean</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Has this subscription been activated?  This is not set on the subscriber until AFTER the subscriber has received COPY data from the provider
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="table.sl-table"
-               xreflabel="sl_table">
-        <title id="table.sl-table-title">
-         Table:
-         
-         <structname>sl_table</structname>
-        </title>
- 
-
         <para>
-          Holds information about the tables being replicated.
+          La table a-t-elle été modifiée pour la réplication&nbsp;?
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>tab_comment</structfield></term>
+      <listitem>
+        <para><type>text</type></para>
 
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_table</structname>
-            </title>
+          Description humaine de la table
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
 
+  <itemizedlist>
+    <title>Tables référençant sl_trigger via des contraintes de clés étrangères</title>
 
-            <varlistentry>
-              <term><structfield>tab_id</structfield></term>
-              <listitem><para>
-                <type>integer</type>
+    <listitem>
+      <para><xref linkend="table.sl-trigger"/></para>
+    </listitem>
+  </itemizedlist>
+</para>
 
+</section>
 
-                <literal>PRIMARY KEY</literal>
+<section id="table.sl-trigger" xreflabel="sl_trigger">
+<title id="table.sl-trigger-title">
+  Table&nbsp;: <structname>sl_trigger</structname>
+</title>
+ 
+<para>
+  Contient des informations sur les triggers des tables gérées par Slony-I.
+</para>
 
+<para>
+  <variablelist>
+    <title>Structure de <structname>sl_trigger</structname></title>
 
+    <varlistentry>
+      <term><structfield>trig_tabid</structfield></term>
+      <listitem>
+        <para>
+	  <type>integer</type><literal>PRIMARY KEY</literal>
+	  <literal>REFERENCES</literal> <xref linkend="table.sl-table"/>
+        </para>
 
-
-
-
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Unique key for Slony-I to use to identify the table
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>tab_reloid</structfield></term>
-              <listitem><para>
-                <type>oid</type>
-
-
-
-
-                      <literal>UNIQUE</literal>
-
-
-
-
-                <literal>NOT NULL</literal>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                The OID of the table in pg_catalog.pg_class.oid
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>tab_relname</structfield></term>
-              <listitem><para>
-                <type>name</type>
-
-
-
-                <literal>NOT NULL</literal>
-
-
-
-
-
-              </para>
-
-              <para>
-                The name of the table in pg_catalog.pg_class.relname used to recover from a dump/restore cycle
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>tab_nspname</structfield></term>
-              <listitem><para>
-                <type>name</type>
-
-
-
-                <literal>NOT NULL</literal>
-
-
-
-
-
-              </para>
-
-              <para>
-                The name of the schema in pg_catalog.pg_namespace.nspname used to recover from a dump/restore cycle
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>tab_set</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-
-
-
-
-
-
-
-
-
-
-                <literal>REFERENCES</literal> <xref linkend="table.sl-set"/>
-
-
-              </para>
-
-              <para>
-                ID of the replication set the table is in
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>tab_idxname</structfield></term>
-              <listitem><para>
-                <type>name</type>
-
-
-
-                <literal>NOT NULL</literal>
-
-
-
-
-
-              </para>
-
-              <para>
-                The name of the primary index of the table
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>tab_altered</structfield></term>
-              <listitem><para>
-                <type>boolean</type>
-
-
-
-                <literal>NOT NULL</literal>
-
-
-
-
-
-              </para>
-
-              <para>
-                Has the table been modified for replication?
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>tab_comment</structfield></term>
-              <listitem><para>
-                <type>text</type>
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Human-oriented description of the table
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-        <itemizedlist>
-          <title>
-            Tables referencing sl_trigger via Foreign Key Constraints
-          </title>
-
-          <listitem>
-            <para>
-              <xref linkend="table.sl-trigger"/>
-            </para>
-          </listitem>
-
-        </itemizedlist>
-
-
-
-
-
-
-      </para>
-    </section>
-
-      <section id="table.sl-trigger"
-               xreflabel="sl_trigger">
-        <title id="table.sl-trigger-title">
-         Table:
-         
-         <structname>sl_trigger</structname>
-        </title>
- 
-
         <para>
-          Holds information about triggers on tables managed using Slony-I
+          Identifiant Slony-I de la table où le trigger est activé
         </para>
+      </listitem>
+    </varlistentry>
 
+    <varlistentry>
+      <term><structfield>trig_tgname</structfield></term>
+      <listitem>
+        <para><type>name</type> <literal>PRIMARY KEY</literal></para>
 
         <para>
-          <variablelist>
-            <title>
-              Structure of <structname>sl_trigger</structname>
-            </title>
+          Indique le nom d'un trigger
+        </para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+</para>
 
+</section>
 
-            <varlistentry>
-              <term><structfield>trig_tabid</structfield></term>
-              <listitem><para>
-                <type>integer</type>
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                <literal>REFERENCES</literal> <xref linkend="table.sl-table"/>
-
-
-              </para>
-
-              <para>
-                Slony-I ID number of table the trigger is on
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-            <varlistentry>
-              <term><structfield>trig_tgname</structfield></term>
-              <listitem><para>
-                <type>name</type>
-
-
-                <literal>PRIMARY KEY</literal>
-
-
-
-
-
-
-
-
-
-
-
-
-
-              </para>
-
-              <para>
-                Indicates the name of a trigger
-              </para>
-
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
-
-
-
-
-
-
-
-
-
-      </para>
-    </section>
-
-
-
-
 <!-- Function add_empty_table_to_replication( integer, integer, text, text, text, text ) -->
-    <section id="function.add-empty-table-to-replication-integer-integer-text-text-text-text"
-             xreflabel="schemadocadd_empty_table_to_replication( integer, integer, text, text, text, text )">
-      <title id="function.add-empty-table-to-replication-integer-integer-text-text-text-text-title">
-       add_empty_table_to_replication( integer, integer, text, text, text, text )
-      </title>
-      <titleabbrev id="function.add-empty-table-to-replication-integer-integer-text-text-text-text-titleabbrev">
-       add_empty_table_to_replication( integer, integer, text, text, text, text )
-      </titleabbrev>
+<section id="function.add-empty-table-to-replication-integer-integer-text-text-text-text"
+  xreflabel="schemadocadd_empty_table_to_replication( integer, integer, text, text, text, text )">
+<title id="function.add-empty-table-to-replication-integer-integer-text-text-text-text-title">
+  add_empty_table_to_replication( integer, integer, text, text, text, text )
+</title>
+<titleabbrev id="function.add-empty-table-to-replication-integer-integer-text-text-text-text-titleabbrev">
+  add_empty_table_to_replication( integer, integer, text, text, text, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du code retour</segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Verify that a table is empty, and add it to replication.  
-tab_idxname is optional - if NULL, then we use the primary key.
-        <programlisting>
-declare
+  Vérifie qu'une table est vide et l'ajoute à la réplication. tab_idxname est
+  optionnel. S'il vaut NULL, alors la clé primaire est utilisée.
+
+  <programlisting>declare
   p_set_id alias for $1;
   p_tab_id alias for $2;
   p_nspname alias for $3;
@@ -3037,37 +1591,37 @@
    end if;
    perform setAddTable_int(p_set_id, p_tab_id, v_fqname, v_idxname, p_comment);
    return alterTableRestore(p_tab_id);
-end
-</programlisting>
-      </para>
-    </section>
+end</programlisting>
+</para>
 
+</section>
 
 <!-- Function add_missing_table_field( text, text, text, text ) -->
-    <section id="function.add-missing-table-field-text-text-text-text"
-             xreflabel="schemadocadd_missing_table_field( text, text, text, text )">
-      <title id="function.add-missing-table-field-text-text-text-text-title">
-       add_missing_table_field( text, text, text, text )
-      </title>
-      <titleabbrev id="function.add-missing-table-field-text-text-text-text-titleabbrev">
-       add_missing_table_field( text, text, text, text )
-      </titleabbrev>
+<section id="function.add-missing-table-field-text-text-text-text"
+  xreflabel="schemadocadd_missing_table_field( text, text, text, text )">
+<title id="function.add-missing-table-field-text-text-text-text-title">
+  add_missing_table_field( text, text, text, text )
+</title>
+<titleabbrev id="function.add-missing-table-field-text-text-text-text-titleabbrev">
+  add_missing_table_field( text, text, text, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>boolean</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du code retour</segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>boolean</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Add a column of a given type to a table if it is missing
-        <programlisting>
-DECLARE
+  Ajoute une colonne du type indiqué dans une table si cette colonne est
+  manquante
+
+  <programlisting>DECLARE
   p_namespace alias for $1;
   p_table     alias for $2;
   p_field     alias for $3;
@@ -3091,39 +1645,40 @@
     return &#39;f&#39;;
   end if;
 END;</programlisting>
-      </para>
-    </section>
+</para>
 
+</section>
+
 <!-- Function addpartiallogindices(  ) -->
-    <section id="function.addpartiallogindices"
-             xreflabel="schemadocaddpartiallogindices(  )">
-      <title id="function.addpartiallogindices-title">
-       addpartiallogindices(  )
-      </title>
-      <titleabbrev id="function.addpartiallogindices-titleabbrev">
-       addpartiallogindices(  )
-      </titleabbrev>
+<section id="function.addpartiallogindices" xreflabel="schemadocaddpartiallogindices(  )">
+<title id="function.addpartiallogindices-title">
+  addpartiallogindices(  )
+</title>
+<titleabbrev id="function.addpartiallogindices-titleabbrev">
+  addpartiallogindices(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du code retour</segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Add partial indexes, if possible, to the unused sl_log_? table for
-all origin nodes, and drop any that are no longer needed.
+  Ajoute des index partiels, si possible, dans les tables sl_log_? inutilisées
+  pour tous les n&oelig;uds origines, et supprime tous ceux qui ne sont plus
+  nécessaires.
 
-This function presently gets run any time set origins are manipulated
-(FAILOVER, STORE SET, MOVE SET, DROP SET), as well as each time the
-system switches between sl_log_1 and sl_log_2.
-        <programlisting>
-DECLARE
+  Cette fonction est exécuté à chaque fois que les origines d'ensemble sont
+  utilisées (FAILOVER, STORE SET, MOVE SET, DROP SET), ainsi qu'à chaque fois
+  que le système bascule entre sl_log_1 et sl_log_2.
+  
+  <programlisting>DECLARE
 	v_current_status	int4;
 	v_log			int4;
 	v_dummy		record;
@@ -3167,43 +1722,41 @@
 		v_count := v_count - 1;
 	end loop;
 	return v_count;
-END
-</programlisting>
-      </para>
-    </section>
+END</programlisting>
+</para>
 
+</section>
+
 <!-- Function altertableforreplication( integer ) -->
-    <section id="function.altertableforreplication-integer"
-             xreflabel="schemadocaltertableforreplication( integer )">
-      <title id="function.altertableforreplication-integer-title">
-       altertableforreplication( integer )
-      </title>
-      <titleabbrev id="function.altertableforreplication-integer-titleabbrev">
-       altertableforreplication( integer )
-      </titleabbrev>
+<section id="function.altertableforreplication-integer"
+  xreflabel="schemadocaltertableforreplication( integer )">
+<title id="function.altertableforreplication-integer-title">
+  altertableforreplication( integer )
+</title>
+<titleabbrev id="function.altertableforreplication-integer-titleabbrev">
+  altertableforreplication( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du code retour</segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       alterTableForReplication(tab_id)
+  Configure une table pour la réplication. Sur l'origine, ceci implique
+  d'ajouter le trigger &quot;logTrigger()&quot; sur la table.
 
-Sets up a table for replication.
-On the origin, this involves adding the &quot;logTrigger()&quot; trigger to the
-table.
-
-On a subscriber node, this involves disabling triggers and rules, and
-adding in the trigger that denies write access to replicated tables.
-        <programlisting>
-declare
+  Sur un n&oelig;ud abonné, ceci implique de désactiver les triggers et les
+  règles, et d'ajouter le trigger qui interdit l'accès aux tables
+  répliquées.
+  
+  <programlisting>declare
 	p_tab_id			alias for $1;
 	v_no_id				int4;
 	v_tab_row			record;
@@ -3352,43 +1905,42 @@
 			set tab_altered = true where tab_id = p_tab_id;
 
 	return p_tab_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function altertablerestore( integer ) -->
-    <section id="function.altertablerestore-integer"
-             xreflabel="schemadocaltertablerestore( integer )">
-      <title id="function.altertablerestore-integer-title">
-       altertablerestore( integer )
-      </title>
-      <titleabbrev id="function.altertablerestore-integer-titleabbrev">
-       altertablerestore( integer )
-      </titleabbrev>
+<section id="function.altertablerestore-integer"
+  xreflabel="schemadocaltertablerestore( integer )">
+<title id="function.altertablerestore-integer-title">
+  altertablerestore( integer )
+</title>
+<titleabbrev id="function.altertablerestore-integer-titleabbrev">
+  altertablerestore( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du code retour</segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       alterTableRestore (tab_id)
+  Restaure la table d'identifiant table tab_id. Autrement dit, l'enlève de la
+  réplication.
 
-Restores table tab_id from being replicated.
+  Sur l'origine, ceci implique la suppression du trigger &quot;logtrigger&quot;.
 
-On the origin, this simply involves dropping the &quot;logtrigger&quot; trigger.
-
-On subscriber nodes, this involves dropping the &quot;denyaccess&quot; trigger,
-and restoring user triggers and rules.
-        <programlisting>
-declare
+  Sur les n&oelig;uds abonnés, ceci implique la suppression du trigger
+  &quot;denyaccess&quot;, et restaure les triggers et règles utilisateurs.
+  
+  <programlisting>declare
 	p_tab_id			alias for $1;
 	v_no_id				int4;
 	v_tab_row			record;
@@ -3487,38 +2039,38 @@
 			set tab_altered = false where tab_id = p_tab_id;
 
 	return p_tab_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function checkmoduleversion(  ) -->
-    <section id="function.checkmoduleversion"
-             xreflabel="schemadoccheckmoduleversion(  )">
-      <title id="function.checkmoduleversion-title">
-       checkmoduleversion(  )
-      </title>
-      <titleabbrev id="function.checkmoduleversion-titleabbrev">
-       checkmoduleversion(  )
-      </titleabbrev>
+<section id="function.checkmoduleversion"
+  xreflabel="schemadoccheckmoduleversion(  )">
+<title id="function.checkmoduleversion-title">
+  checkmoduleversion(  )
+</title>
+<titleabbrev id="function.checkmoduleversion-titleabbrev">
+  checkmoduleversion(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>text</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du code retour</segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>text</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Inline test function that verifies that slonik request for STORE
-NODE/INIT CLUSTER is being run against a conformant set of
-schema/functions.
-        <programlisting>
-declare
+  Fonction de test en ligne qui vérifie que la requête slonik pour STORE
+  NODE/INIT CLUSTER est bien en cours d'exécution avec un ensemble de
+  schémas/fonctions.
+
+  <programlisting>declare
   moduleversion	text;
 begin
   select into moduleversion getModuleVersion();
@@ -3528,37 +2080,37 @@
   end if;
   return null;
 end;</programlisting>
-      </para>
-    </section>
+</para>
 
+</section>
+
 <!-- Function cleanupevent(  ) -->
-    <section id="function.cleanupevent"
-             xreflabel="schemadoccleanupevent(  )">
-      <title id="function.cleanupevent-title">
-       cleanupevent(  )
-      </title>
-      <titleabbrev id="function.cleanupevent-titleabbrev">
-       cleanupevent(  )
-      </titleabbrev>
+<section id="function.cleanupevent"
+  xreflabel="schemadoccleanupevent(  )">
+<title id="function.cleanupevent-title">
+  cleanupevent(  )
+</title>
+<titleabbrev id="function.cleanupevent-titleabbrev">
+  cleanupevent(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       cleaning old data out of sl_confirm, sl_event.  Removes all but the
-last sl_confirm row per (origin,receiver), and then removes all events
-that are confirmed by all nodes in the whole cluster up to the last
-SYNC.  
-        <programlisting>
-declare
+  Nettoie les anciennes données de sl_confirm, sl_event. Supprime tout sauf la
+  dernière ligne par (origine, abonné), puis supprime tous les événements qui
+  sont confirmés par tous les n&oelig;uds du clusyer jusqu'au dernier SYNC.
+  
+  <programlisting>declare
 	v_max_row	record;
 	v_min_row	record;
 	v_max_sync	int8;
@@ -3634,36 +2186,36 @@
 	perform cleanupNodelock();
 
 	return 0;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function cleanupnodelock(  ) -->
-    <section id="function.cleanupnodelock"
-             xreflabel="schemadoccleanupnodelock(  )">
-      <title id="function.cleanupnodelock-title">
-       cleanupnodelock(  )
-      </title>
-      <titleabbrev id="function.cleanupnodelock-titleabbrev">
-       cleanupnodelock(  )
-      </titleabbrev>
+<section id="function.cleanupnodelock"
+  xreflabel="schemadoccleanupnodelock(  )">
+<title id="function.cleanupnodelock-title">
+  cleanupnodelock(  )
+</title>
+<titleabbrev id="function.cleanupnodelock-titleabbrev">
+  cleanupnodelock(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Clean up stale entries when restarting slon
-        <programlisting>
-declare
+  Nettoie les entrées qui restent lors du redémarrage de slon
+  
+  <programlisting>declare
 	v_row		record;
 begin
 	for v_row in select nl_nodeid, nl_conncnt, nl_backendpid
@@ -3680,39 +2232,40 @@
 	end loop;
 
 	return 0;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function copyfields( integer ) -->
-    <section id="function.copyfields-integer"
-             xreflabel="schemadoccopyfields( integer )">
-      <title id="function.copyfields-integer-title">
-       copyfields( integer )
-      </title>
-      <titleabbrev id="function.copyfields-integer-titleabbrev">
-       copyfields( integer )
-      </titleabbrev>
+<section id="function.copyfields-integer"
+  xreflabel="schemadoccopyfields( integer )">
+<title id="function.copyfields-integer-title">
+  copyfields( integer )
+</title>
+<titleabbrev id="function.copyfields-integer-titleabbrev">
+  copyfields( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>text</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>text</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Return a string consisting of what should be appended to a COPY statement
-to specify fields for the passed-in tab_id.  
+  Renvoie une chaîne consistant à ce qui doit être ajoutée à une instruction
+  COPY pour spécifier les champs pour le tab_id.  
 
-In PG versions &gt; 7.3, this looks like (field1,field2,...fieldn)
-        <programlisting>
-declare
+  Dans les versions ultérieurs à PostgreSQL 7.3, cela ressemble à (field1,
+  field2,...fieldn)
+  
+  <programlisting>declare
 	result text;
 	prefix text;
 	prec record;
@@ -3727,301 +2280,299 @@
 	end loop;
 	result := result || &#39;)&#39;;
 	return result;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function createevent( name, text ) -->
-    <section id="function.createevent-name-text"
-             xreflabel="schemadoccreateevent( name, text )">
-      <title id="function.createevent-name-text-title">
-       createevent( name, text )
-      </title>
-      <titleabbrev id="function.createevent-name-text-titleabbrev">
-       createevent( name, text )
-      </titleabbrev>
+<section id="function.createevent-name-text"
+  xreflabel="schemadoccreateevent( name, text )">
+<title id="function.createevent-name-text-title">
+  createevent( name, text )
+</title>
+<titleabbrev id="function.createevent-name-text-titleabbrev">
+  createevent( name, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>C</seg>
+       <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       FUNCTION createEvent (cluster_name, ev_type [, ev_data [...]])
+  Crée une entrée dans sl_event.
+  
+  <programlisting>_Slony_I_createEvent</programlisting>
+</para>
 
-Create an sl_event entry
-        <programlisting>_Slony_I_createEvent</programlisting>
-      </para>
-    </section>
+</section>
 
 <!-- Function createevent( name, text, text ) -->
-    <section id="function.createevent-name-text-text"
-             xreflabel="schemadoccreateevent( name, text, text )">
-      <title id="function.createevent-name-text-text-title">
-       createevent( name, text, text )
-      </title>
-      <titleabbrev id="function.createevent-name-text-text-titleabbrev">
-       createevent( name, text, text )
-      </titleabbrev>
+<section id="function.createevent-name-text-text"
+  xreflabel="schemadoccreateevent( name, text, text )">
+<title id="function.createevent-name-text-text-title">
+  createevent( name, text, text )
+</title>
+<titleabbrev id="function.createevent-name-text-text-titleabbrev">
+  createevent( name, text, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>C</seg>
+       <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       FUNCTION createEvent (cluster_name, ev_type [, ev_data [...]])
+  Crée une entrée dans sl_event.
+  
+  <programlisting>_Slony_I_createEvent</programlisting>
+</para>
 
-Create an sl_event entry
-        <programlisting>_Slony_I_createEvent</programlisting>
-      </para>
-    </section>
+</section>
 
 <!-- Function createevent( name, text, text, text ) -->
-    <section id="function.createevent-name-text-text-text"
-             xreflabel="schemadoccreateevent( name, text, text, text )">
-      <title id="function.createevent-name-text-text-text-title">
-       createevent( name, text, text, text )
-      </title>
-      <titleabbrev id="function.createevent-name-text-text-text-titleabbrev">
-       createevent( name, text, text, text )
-      </titleabbrev>
+<section id="function.createevent-name-text-text-text"
+  xreflabel="schemadoccreateevent( name, text, text, text )">
+<title id="function.createevent-name-text-text-text-title">
+  createevent( name, text, text, text )
+</title>
+<titleabbrev id="function.createevent-name-text-text-text-titleabbrev">
+  createevent( name, text, text, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>C</seg>
+       <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       FUNCTION createEvent (cluster_name, ev_type [, ev_data [...]])
+  Crée une entrée dans sl_event.
+    
+  <programlisting>_Slony_I_createEvent</programlisting>
+</para>
 
-Create an sl_event entry
-        <programlisting>_Slony_I_createEvent</programlisting>
-      </para>
-    </section>
+</section>
 
 <!-- Function createevent( name, text, text, text, text ) -->
-    <section id="function.createevent-name-text-text-text-text"
-             xreflabel="schemadoccreateevent( name, text, text, text, text )">
-      <title id="function.createevent-name-text-text-text-text-title">
-       createevent( name, text, text, text, text )
-      </title>
-      <titleabbrev id="function.createevent-name-text-text-text-text-titleabbrev">
-       createevent( name, text, text, text, text )
-      </titleabbrev>
+<section id="function.createevent-name-text-text-text-text"
+  xreflabel="schemadoccreateevent( name, text, text, text, text )">
+<title id="function.createevent-name-text-text-text-text-title">
+  createevent( name, text, text, text, text )
+</title>
+<titleabbrev id="function.createevent-name-text-text-text-text-titleabbrev">
+  createevent( name, text, text, text, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>C</seg>
+       <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       FUNCTION createEvent (cluster_name, ev_type [, ev_data [...]])
+  Crée une entrée dans sl_event.
+  
+  <programlisting>_Slony_I_createEvent</programlisting>
+</para>
 
-Create an sl_event entry
-        <programlisting>_Slony_I_createEvent</programlisting>
-      </para>
-    </section>
+</section>
 
 <!-- Function createevent( name, text, text, text, text, text ) -->
-    <section id="function.createevent-name-text-text-text-text-text"
-             xreflabel="schemadoccreateevent( name, text, text, text, text, text )">
-      <title id="function.createevent-name-text-text-text-text-text-title">
-       createevent( name, text, text, text, text, text )
-      </title>
-      <titleabbrev id="function.createevent-name-text-text-text-text-text-titleabbrev">
-       createevent( name, text, text, text, text, text )
-      </titleabbrev>
+<section id="function.createevent-name-text-text-text-text-text"
+  xreflabel="schemadoccreateevent( name, text, text, text, text, text )">
+<title id="function.createevent-name-text-text-text-text-text-title">
+  createevent( name, text, text, text, text, text )
+</title>
+<titleabbrev id="function.createevent-name-text-text-text-text-text-titleabbrev">
+  createevent( name, text, text, text, text, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>C</seg>
+       <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       FUNCTION createEvent (cluster_name, ev_type [, ev_data [...]])
+  Crée une entrée dans sl_event.
+  
+  <programlisting>_Slony_I_createEvent</programlisting>
+</para>
 
-Create an sl_event entry
-        <programlisting>_Slony_I_createEvent</programlisting>
-      </para>
-    </section>
+</section>
 
 <!-- Function createevent( name, text, text, text, text, text, text ) -->
-    <section id="function.createevent-name-text-text-text-text-text-text"
-             xreflabel="schemadoccreateevent( name, text, text, text, text, text, text )">
-      <title id="function.createevent-name-text-text-text-text-text-text-title">
-       createevent( name, text, text, text, text, text, text )
-      </title>
-      <titleabbrev id="function.createevent-name-text-text-text-text-text-text-titleabbrev">
-       createevent( name, text, text, text, text, text, text )
-      </titleabbrev>
+<section id="function.createevent-name-text-text-text-text-text-text"
+  xreflabel="schemadoccreateevent( name, text, text, text, text, text, text )">
+<title id="function.createevent-name-text-text-text-text-text-text-title">
+  createevent( name, text, text, text, text, text, text )
+</title>
+<titleabbrev id="function.createevent-name-text-text-text-text-text-text-titleabbrev">
+  createevent( name, text, text, text, text, text, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>C</seg>
+       <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       FUNCTION createEvent (cluster_name, ev_type [, ev_data [...]])
+  Crée une entrée dans sl_event.
+  
+  <programlisting>_Slony_I_createEvent</programlisting>
+</para>
 
-Create an sl_event entry
-        <programlisting>_Slony_I_createEvent</programlisting>
-      </para>
-    </section>
+</section>
 
 <!-- Function createevent( name, text, text, text, text, text, text, text ) -->
-    <section id="function.createevent-name-text-text-text-text-text-text-text"
-             xreflabel="schemadoccreateevent( name, text, text, text, text, text, text, text )">
-      <title id="function.createevent-name-text-text-text-text-text-text-text-title">
-       createevent( name, text, text, text, text, text, text, text )
-      </title>
-      <titleabbrev id="function.createevent-name-text-text-text-text-text-text-text-titleabbrev">
-       createevent( name, text, text, text, text, text, text, text )
-      </titleabbrev>
+<section id="function.createevent-name-text-text-text-text-text-text-text"
+  xreflabel="schemadoccreateevent( name, text, text, text, text, text, text, text )">
+<title id="function.createevent-name-text-text-text-text-text-text-text-title">
+  createevent( name, text, text, text, text, text, text, text )
+</title>
+<titleabbrev id="function.createevent-name-text-text-text-text-text-text-text-titleabbrev">
+  createevent( name, text, text, text, text, text, text, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>C</seg>
+       <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       FUNCTION createEvent (cluster_name, ev_type [, ev_data [...]])
+  Crée une entrée dans sl_event.
+  
+  <programlisting>_Slony_I_createEvent</programlisting>
+</para>
 
-Create an sl_event entry
-        <programlisting>_Slony_I_createEvent</programlisting>
-      </para>
-    </section>
+</section>
 
 <!-- Function createevent( name, text, text, text, text, text, text, text, text ) -->
-    <section id="function.createevent-name-text-text-text-text-text-text-text-text"
-             xreflabel="schemadoccreateevent( name, text, text, text, text, text, text, text, text )">
-      <title id="function.createevent-name-text-text-text-text-text-text-text-text-title">
-       createevent( name, text, text, text, text, text, text, text, text )
-      </title>
-      <titleabbrev id="function.createevent-name-text-text-text-text-text-text-text-text-titleabbrev">
-       createevent( name, text, text, text, text, text, text, text, text )
-      </titleabbrev>
+<section id="function.createevent-name-text-text-text-text-text-text-text-text"
+  xreflabel="schemadoccreateevent( name, text, text, text, text, text, text, text, text )">
+<title id="function.createevent-name-text-text-text-text-text-text-text-text-title">
+  createevent( name, text, text, text, text, text, text, text, text )
+</title>
+<titleabbrev id="function.createevent-name-text-text-text-text-text-text-text-text-titleabbrev">
+  createevent( name, text, text, text, text, text, text, text, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>C</seg>
+       <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       FUNCTION createEvent (cluster_name, ev_type [, ev_data [...]])
+  Crée une entrée dans sl_event.
+  
+  <programlisting>_Slony_I_createEvent</programlisting>
+</para>
 
-Create an sl_event entry
-        <programlisting>_Slony_I_createEvent</programlisting>
-      </para>
-    </section>
+</section>
 
 <!-- Function createevent( name, text, text, text, text, text, text, text, text, text ) -->
-    <section id="function.createevent-name-text-text-text-text-text-text-text-text-text"
-             xreflabel="schemadoccreateevent( name, text, text, text, text, text, text, text, text, text )">
-      <title id="function.createevent-name-text-text-text-text-text-text-text-text-text-title">
-       createevent( name, text, text, text, text, text, text, text, text, text )
-      </title>
-      <titleabbrev id="function.createevent-name-text-text-text-text-text-text-text-text-text-titleabbrev">
-       createevent( name, text, text, text, text, text, text, text, text, text )
-      </titleabbrev>
+<section id="function.createevent-name-text-text-text-text-text-text-text-text-text"
+  xreflabel="schemadoccreateevent( name, text, text, text, text, text, text, text, text, text )">
+<title id="function.createevent-name-text-text-text-text-text-text-text-text-text-title">
+  createevent( name, text, text, text, text, text, text, text, text, text )
+</title>
+<titleabbrev id="function.createevent-name-text-text-text-text-text-text-text-text-text-titleabbrev">
+  createevent( name, text, text, text, text, text, text, text, text, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>C</seg>
+       <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       FUNCTION createEvent (cluster_name, ev_type [, ev_data [...]])
+  Crée une entrée dans sl_event.
+  
+  <programlisting>_Slony_I_createEvent</programlisting>
+</para>
 
-Create an sl_event entry
-        <programlisting>_Slony_I_createEvent</programlisting>
-      </para>
-    </section>
+</section>
 
 <!-- Function ddlscript_complete( integer, text, integer ) -->
-    <section id="function.ddlscript-complete-integer-text-integer"
-             xreflabel="schemadocddlscript_complete( integer, text, integer )">
-      <title id="function.ddlscript-complete-integer-text-integer-title">
-       ddlscript_complete( integer, text, integer )
-      </title>
-      <titleabbrev id="function.ddlscript-complete-integer-text-integer-titleabbrev">
-       ddlscript_complete( integer, text, integer )
-      </titleabbrev>
+<section id="function.ddlscript-complete-integer-text-integer"
+  xreflabel="schemadocddlscript_complete( integer, text, integer )">
+<title id="function.ddlscript-complete-integer-text-integer-title">
+  ddlscript_complete( integer, text, integer )
+</title>
+<titleabbrev id="function.ddlscript-complete-integer-text-integer-titleabbrev">
+  ddlscript_complete( integer, text, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       ddlScript_complete(set_id, script, only_on_node)
-
-After script has run on origin, this fixes up relnames, restores
-triggers, and generates a DDL_SCRIPT event to request it to be run on
-replicated slaves.
-        <programlisting>
-declare
+  Après l'exécution du script sur l'origine, ceci corrige les noms des relations,
+  restaure les triggers et génère un événement DDL_SCRIPT pour réclamer son
+  exécution sur les esclaves répliqués.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	p_script			alias for $2;
 	p_only_on_node		alias for $3;
@@ -4030,39 +2581,37 @@
 	perform updateRelname(p_set_id, p_only_on_node);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;DDL_SCRIPT&#39;, 
 			p_set_id, p_script, p_only_on_node);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function ddlscript_complete_int( integer, integer ) -->
-    <section id="function.ddlscript-complete-int-integer-integer"
-             xreflabel="schemadocddlscript_complete_int( integer, integer )">
-      <title id="function.ddlscript-complete-int-integer-integer-title">
-       ddlscript_complete_int( integer, integer )
-      </title>
-      <titleabbrev id="function.ddlscript-complete-int-integer-integer-titleabbrev">
-       ddlscript_complete_int( integer, integer )
-      </titleabbrev>
+<section id="function.ddlscript-complete-int-integer-integer"
+  xreflabel="schemadocddlscript_complete_int( integer, integer )">
+<title id="function.ddlscript-complete-int-integer-integer-title">
+  ddlscript_complete_int( integer, integer )
+</title>
+<titleabbrev id="function.ddlscript-complete-int-integer-integer-titleabbrev">
+  ddlscript_complete_int( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       ddlScript_complete_int(set_id, script, only_on_node)
-
-Complete processing the DDL_SCRIPT event.  This puts tables back into
-replicated mode.
-        <programlisting>
-declare
+  Termine le traitement de l'événement DDL_SCRIPT. Ceci replace les tables en
+  mode répliqué.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	p_only_on_node		alias for $2;
 	v_row				record;
@@ -4076,36 +2625,36 @@
 	end loop;
 
 	return p_set_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function ddlscript_prepare( integer, integer ) -->
-    <section id="function.ddlscript-prepare-integer-integer"
-             xreflabel="schemadocddlscript_prepare( integer, integer )">
-      <title id="function.ddlscript-prepare-integer-integer-title">
-       ddlscript_prepare( integer, integer )
-      </title>
-      <titleabbrev id="function.ddlscript-prepare-integer-integer-titleabbrev">
-       ddlscript_prepare( integer, integer )
-      </titleabbrev>
+<section id="function.ddlscript-prepare-integer-integer"
+  xreflabel="schemadocddlscript_prepare( integer, integer )">
+<title id="function.ddlscript-prepare-integer-integer-title">
+  ddlscript_prepare( integer, integer )
+</title>
+<titleabbrev id="function.ddlscript-prepare-integer-integer-titleabbrev">
+  ddlscript_prepare( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Prepare for DDL script execution on origin
-        <programlisting>
-declare
+  Prépare l'exécution du script DDL sur l'origine.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	p_only_on_node		alias for $2;
 	v_set_origin		int4;
@@ -4135,39 +2684,37 @@
 	-- ----
 	perform createEvent(&#39;_schemadoc&#39;, &#39;SYNC&#39;, NULL);
 	return 1;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function ddlscript_prepare_int( integer, integer ) -->
-    <section id="function.ddlscript-prepare-int-integer-integer"
-             xreflabel="schemadocddlscript_prepare_int( integer, integer )">
-      <title id="function.ddlscript-prepare-int-integer-integer-title">
-       ddlscript_prepare_int( integer, integer )
-      </title>
-      <titleabbrev id="function.ddlscript-prepare-int-integer-integer-titleabbrev">
-       ddlscript_prepare_int( integer, integer )
-      </titleabbrev>
+<section id="function.ddlscript-prepare-int-integer-integer"
+  xreflabel="schemadocddlscript_prepare_int( integer, integer )">
+<title id="function.ddlscript-prepare-int-integer-integer-title">
+  ddlscript_prepare_int( integer, integer )
+</title>
+<titleabbrev id="function.ddlscript-prepare-int-integer-integer-titleabbrev">
+  ddlscript_prepare_int( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       ddlScript_prepare_int (set_id, only_on_node)
-
-Do preparatory work for a DDL script, restoring 
-triggers/rules to original state.
-        <programlisting>
-declare
+  Fait le travail préparatoire pour un script DDL, restaure les
+  triggers/règles dans leur état original.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	p_only_on_node		alias for $2;
 	v_set_origin		int4;
@@ -4215,68 +2762,67 @@
 		perform alterTableRestore(v_row.tab_id);
 	end loop;
 	return p_set_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function denyaccess(  ) -->
-    <section id="function.denyaccess"
-             xreflabel="schemadocdenyaccess(  )">
-      <title id="function.denyaccess-title">
-       denyaccess(  )
-      </title>
-      <titleabbrev id="function.denyaccess-titleabbrev">
-       denyaccess(  )
-      </titleabbrev>
+<section id="function.denyaccess"
+  xreflabel="schemadocdenyaccess(  )">
+<title id="function.denyaccess-title">
+  denyaccess(  )
+</title>
+<titleabbrev id="function.denyaccess-titleabbrev">
+  denyaccess(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>&quot;trigger&quot;</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>C</seg>
+       <seg>&quot;trigger&quot;</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Trigger function to prevent modifications to a table on a subscriber
-        <programlisting>_Slony_I_denyAccess</programlisting>
-      </para>
-    </section>
+  Fonction trigger pour empêcher la modification d'une table sur un abonné.
+  
+  <programlisting>_Slony_I_denyAccess</programlisting>
+</para>
 
+</section>
+
 <!-- Function determineattkindserial( text ) -->
-    <section id="function.determineattkindserial-text"
-             xreflabel="schemadocdetermineattkindserial( text )">
-      <title id="function.determineattkindserial-text-title">
-       determineattkindserial( text )
-      </title>
-      <titleabbrev id="function.determineattkindserial-text-titleabbrev">
-       determineattkindserial( text )
-      </titleabbrev>
+<section id="function.determineattkindserial-text"
+  xreflabel="schemadocdetermineattkindserial( text )">
+<title id="function.determineattkindserial-text-title">
+  determineattkindserial( text )
+</title>
+<titleabbrev id="function.determineattkindserial-text-titleabbrev">
+  determineattkindserial( text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>text</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>text</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       determineAttKindSerial (tab_fqname)
-
-A table was that was specified without a primary key is added to the
-replication. Assume that tableAddKey() was called before and finish
-the creation of the serial column. The return an attkind according to
-that.
-        <programlisting>
-declare
+  Une table indiquée sans clé primaire est ajoutée à la réplication. Suppose que
+  tableAddKey() a été appelé avant et termine la création de la colonne de type
+  serial. Elle renvoie l'attkind.
+  
+  <programlisting>declare
 	p_tab_fqname	alias for $1;
 	v_tab_fqname_quoted	text default &#39;&#39;;
 	v_attkind		text default &#39;&#39;;
@@ -4339,40 +2885,38 @@
 	-- Return the resulting Slony-I attkind
 	--
 	return v_attkind;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function determineattkindunique( text, name ) -->
-    <section id="function.determineattkindunique-text-name"
-             xreflabel="schemadocdetermineattkindunique( text, name )">
-      <title id="function.determineattkindunique-text-name-title">
-       determineattkindunique( text, name )
-      </title>
-      <titleabbrev id="function.determineattkindunique-text-name-titleabbrev">
-       determineattkindunique( text, name )
-      </titleabbrev>
+<section id="function.determineattkindunique-text-name"
+  xreflabel="schemadocdetermineattkindunique( text, name )">
+<title id="function.determineattkindunique-text-name-title">
+  determineattkindunique( text, name )
+</title>
+<titleabbrev id="function.determineattkindunique-text-name-titleabbrev">
+  determineattkindunique( text, name )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>text</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>text</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       determineAttKindUnique (tab_fqname, indexname)
-
-Given a tablename, return the Slony-I specific attkind (used for the
-log trigger) of the table. Use the specified unique index or the
-primary key (if indexname is NULL).
-        <programlisting>
-declare
+  Suivant le nom d'une table, renvoie le attkind spécifique de Slony-I (utilisé
+  pour le trigger log) de la table. Utilise l'index unique spécifié ou la clé
+  primaire (si indexname vaut NULL).
+  
+  <programlisting>declare
 	p_tab_fqname	alias for $1;
 	v_tab_fqname_quoted	text default &#39;&#39;;
 	p_idx_name		alias for $2;
@@ -4467,38 +3011,37 @@
 	-- Return the resulting attkind
 	--
 	return v_attkind;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function determineidxnameserial( text ) -->
-    <section id="function.determineidxnameserial-text"
-             xreflabel="schemadocdetermineidxnameserial( text )">
-      <title id="function.determineidxnameserial-text-title">
-       determineidxnameserial( text )
-      </title>
-      <titleabbrev id="function.determineidxnameserial-text-titleabbrev">
-       determineidxnameserial( text )
-      </titleabbrev>
+<section id="function.determineidxnameserial-text"
+  xreflabel="schemadocdetermineidxnameserial( text )">
+<title id="function.determineidxnameserial-text-title">
+  determineidxnameserial( text )
+</title>
+<titleabbrev id="function.determineidxnameserial-text-titleabbrev">
+  determineidxnameserial( text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>name</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>name</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       determineIdxnameSerial (tab_fqname)
-
-Given a tablename, construct the index name of the serial column.
-        <programlisting>
-declare
+  Suivant le nom d'une table, construit un nom d'index de la colonne de type
+  serial.
+  
+  <programlisting>declare
 	p_tab_fqname	alias for $1;
 	v_tab_fqname_quoted	text default &#39;&#39;;
 	v_row			record;
@@ -4523,40 +3066,40 @@
 	-- Return the found index name
 	--
 	return v_row.relname || &#39;__Slony-I_schemadoc_rowID_key&#39;;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function determineidxnameunique( text, name ) -->
-    <section id="function.determineidxnameunique-text-name"
-             xreflabel="schemadocdetermineidxnameunique( text, name )">
-      <title id="function.determineidxnameunique-text-name-title">
-       determineidxnameunique( text, name )
-      </title>
-      <titleabbrev id="function.determineidxnameunique-text-name-titleabbrev">
-       determineidxnameunique( text, name )
-      </titleabbrev>
+<section id="function.determineidxnameunique-text-name"
+  xreflabel="schemadocdetermineidxnameunique( text, name )">
+<title id="function.determineidxnameunique-text-name-title">
+  determineidxnameunique( text, name )
+</title>
+<titleabbrev id="function.determineidxnameunique-text-name-titleabbrev">
+  determineidxnameunique( text, name )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>name</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>name</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       FUNCTION determineIdxnameUnique (tab_fqname, indexname)
+  FUNCTION determineIdxnameUnique (tab_fqname, indexname)
 
-Given a tablename, tab_fqname, check that the unique index, indexname,
-exists or return the primary key index name for the table.  If there
-is no unique index, it raises an exception.
-        <programlisting>
-declare
+  Suivant un nom de table, tab_fqname, vérifie que l'index unique, indexname,
+  existe ou renvoie le nom de l'index de clé primaire pour la table. S'il n'y
+  a pas d'index unique, il lève une exception.
+  
+  <programlisting>declare
 	p_tab_fqname	alias for $1;
 	v_tab_fqname_quoted	text default &#39;&#39;;
 	p_idx_name		alias for $2;
@@ -4619,108 +3162,104 @@
 	-- Return the found index name
 	--
 	return v_idxrow.relname;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function disablenode( integer ) -->
-    <section id="function.disablenode-integer"
-             xreflabel="schemadocdisablenode( integer )">
-      <title id="function.disablenode-integer-title">
-       disablenode( integer )
-      </title>
-      <titleabbrev id="function.disablenode-integer-titleabbrev">
-       disablenode( integer )
-      </titleabbrev>
+<section id="function.disablenode-integer"
+  xreflabel="schemadocdisablenode( integer )">
+<title id="function.disablenode-integer-title">
+  disablenode( integer )
+</title>
+<titleabbrev id="function.disablenode-integer-titleabbrev">
+  disablenode( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       process DISABLE_NODE event for node no_id
+  Traite l'événement DISABLE_NODE pour le n&oelig;ud no_id.
 
-NOTE: This is not yet implemented!
-        <programlisting>
-declare
+  Note&nbsp;: ceci n'est pas encore implanté&nbsp;!
+  
+  <programlisting>declare
 	p_no_id			alias for $1;
 begin
 	-- **** TODO ****
 	raise exception &#39;Slony-I: disableNode() not implemented&#39;;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function disablenode_int( integer ) -->
-    <section id="function.disablenode-int-integer"
-             xreflabel="schemadocdisablenode_int( integer )">
-      <title id="function.disablenode-int-integer-title">
-       disablenode_int( integer )
-      </title>
-      <titleabbrev id="function.disablenode-int-integer-titleabbrev">
-       disablenode_int( integer )
-      </titleabbrev>
+<section id="function.disablenode-int-integer"
+  xreflabel="schemadocdisablenode_int( integer )">
+<title id="function.disablenode-int-integer-title">
+  disablenode_int( integer )
+</title>
+<titleabbrev id="function.disablenode-int-integer-titleabbrev">
+  disablenode_int( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       
-        <programlisting>
-declare
+  <programlisting>declare
 	p_no_id			alias for $1;
 begin
 	-- **** TODO ****
 	raise exception &#39;Slony-I: disableNode_int() not implemented&#39;;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function droplisten( integer, integer, integer ) -->
-    <section id="function.droplisten-integer-integer-integer"
-             xreflabel="schemadocdroplisten( integer, integer, integer )">
-      <title id="function.droplisten-integer-integer-integer-title">
-       droplisten( integer, integer, integer )
-      </title>
-      <titleabbrev id="function.droplisten-integer-integer-integer-titleabbrev">
-       droplisten( integer, integer, integer )
-      </titleabbrev>
+<section id="function.droplisten-integer-integer-integer"
+  xreflabel="schemadocdroplisten( integer, integer, integer )">
+<title id="function.droplisten-integer-integer-integer-title">
+  droplisten( integer, integer, integer )
+</title>
+<titleabbrev id="function.droplisten-integer-integer-integer-titleabbrev">
+  droplisten( integer, integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       dropListen (li_origin, li_provider, li_receiver)
-
-Generate the DROP_LISTEN event.
-        <programlisting>
-declare
+  Génère l'événement DROP_LISTEN.
+  
+  <programlisting>declare
 	p_li_origin		alias for $1;
 	p_li_provider	alias for $2;
 	p_li_receiver	alias for $3;
@@ -4730,39 +3269,37 @@
 	
 	return  createEvent (&#39;_schemadoc&#39;, &#39;DROP_LISTEN&#39;,
 			p_li_origin, p_li_provider, p_li_receiver);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function droplisten_int( integer, integer, integer ) -->
-    <section id="function.droplisten-int-integer-integer-integer"
-             xreflabel="schemadocdroplisten_int( integer, integer, integer )">
-      <title id="function.droplisten-int-integer-integer-integer-title">
-       droplisten_int( integer, integer, integer )
-      </title>
-      <titleabbrev id="function.droplisten-int-integer-integer-integer-titleabbrev">
-       droplisten_int( integer, integer, integer )
-      </titleabbrev>
+<section id="function.droplisten-int-integer-integer-integer"
+  xreflabel="schemadocdroplisten_int( integer, integer, integer )">
+<title id="function.droplisten-int-integer-integer-integer-title">
+  droplisten_int( integer, integer, integer )
+</title>
+<titleabbrev id="function.droplisten-int-integer-integer-integer-titleabbrev">
+  droplisten_int( integer, integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       dropListen (li_origin, li_provider, li_receiver)
-
-Process the DROP_LISTEN event, deleting the sl_listen entry for
-the indicated (origin,provider,receiver) combination.
-        <programlisting>
-declare
+  Traite l'événement DROP_LISTEN, supprimant l'entrée sl_listen pour la
+  combinaison (origine, fournisseur, récepteur) indiquée.
+  
+  <programlisting>declare
 	p_li_origin		alias for $1;
 	p_li_provider	alias for $2;
 	p_li_receiver	alias for $3;
@@ -4781,36 +3318,37 @@
 	else
 		return 0;
 	end if;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function dropnode( integer ) -->
-    <section id="function.dropnode-integer"
-             xreflabel="schemadocdropnode( integer )">
-      <title id="function.dropnode-integer-title">
-       dropnode( integer )
-      </title>
-      <titleabbrev id="function.dropnode-integer-titleabbrev">
-       dropnode( integer )
-      </titleabbrev>
+<section id="function.dropnode-integer"
+  xreflabel="schemadocdropnode( integer )">
+<title id="function.dropnode-integer-title">
+  dropnode( integer )
+</title>
+<titleabbrev id="function.dropnode-integer-titleabbrev">
+  dropnode( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       generate DROP_NODE event to drop node node_id from replication
-        <programlisting>
-declare
+  Génère un événement DROP_NODE pour supprimer le n&oelig;ud node_id de la
+  réplication.
+  
+  <programlisting>declare
 	p_no_id			alias for $1;
 	v_node_row		record;
 begin
@@ -4859,36 +3397,37 @@
 	perform dropNode_int(p_no_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;DROP_NODE&#39;,
 									p_no_id);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function dropnode_int( integer ) -->
-    <section id="function.dropnode-int-integer"
-             xreflabel="schemadocdropnode_int( integer )">
-      <title id="function.dropnode-int-integer-title">
-       dropnode_int( integer )
-      </title>
-      <titleabbrev id="function.dropnode-int-integer-titleabbrev">
-       dropnode_int( integer )
-      </titleabbrev>
+<section id="function.dropnode-int-integer"
+  xreflabel="schemadocdropnode_int( integer )">
+<title id="function.dropnode-int-integer-title">
+  dropnode_int( integer )
+</title>
+<titleabbrev id="function.dropnode-int-integer-titleabbrev">
+  dropnode_int( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       internal function to process DROP_NODE event to drop node node_id from replication
-        <programlisting>
-declare
+  Fonction interne pour traiter l'événement DROP_NODE, pour supprimer le
+  n&oelig;ud node_id de la réplication.
+  
+  <programlisting>declare
 	p_no_id			alias for $1;
 	v_tab_row		record;
 begin
@@ -4934,36 +3473,37 @@
 	perform RebuildListenEntries();
 
 	return p_no_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function droppath( integer, integer ) -->
-    <section id="function.droppath-integer-integer"
-             xreflabel="schemadocdroppath( integer, integer )">
-      <title id="function.droppath-integer-integer-title">
-       droppath( integer, integer )
-      </title>
-      <titleabbrev id="function.droppath-integer-integer-titleabbrev">
-       droppath( integer, integer )
-      </titleabbrev>
+<section id="function.droppath-integer-integer"
+  xreflabel="schemadocdroppath( integer, integer )">
+<title id="function.droppath-integer-integer-title">
+  droppath( integer, integer )
+</title>
+<titleabbrev id="function.droppath-integer-integer-titleabbrev">
+  droppath( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Generate DROP_PATH event to drop path from pa_server to pa_client
-        <programlisting>
-declare
+  Génère un événement DROP_PATH pour supprimer le chemin de pa_server à
+  pa_client.
+  
+  <programlisting>declare
 	p_pa_server		alias for $1;
 	p_pa_client		alias for $2;
 	v_row			record;
@@ -5009,36 +3549,37 @@
 
 	return  createEvent (&#39;_schemadoc&#39;, &#39;DROP_PATH&#39;,
 			p_pa_server, p_pa_client);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function droppath_int( integer, integer ) -->
-    <section id="function.droppath-int-integer-integer"
-             xreflabel="schemadocdroppath_int( integer, integer )">
-      <title id="function.droppath-int-integer-integer-title">
-       droppath_int( integer, integer )
-      </title>
-      <titleabbrev id="function.droppath-int-integer-integer-titleabbrev">
-       droppath_int( integer, integer )
-      </titleabbrev>
+<section id="function.droppath-int-integer-integer"
+  xreflabel="schemadocdroppath_int( integer, integer )">
+<title id="function.droppath-int-integer-integer-title">
+  droppath_int( integer, integer )
+</title>
+<titleabbrev id="function.droppath-int-integer-integer-titleabbrev">
+  droppath_int( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+       <seg>PLPGSQL</seg>
+       <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Process DROP_PATH event to drop path from pa_server to pa_client
-        <programlisting>
-declare
+  Traite l'événement DROP_PATH pour supprimer le chemin de pa_server vers
+  pa_client.
+  
+  <programlisting>declare
 	p_pa_server		alias for $1;
 	p_pa_client		alias for $2;
 begin
@@ -5071,38 +3612,49 @@
 
 		return 0;
 	end if;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function dropset( integer ) -->
-    <section id="function.dropset-integer"
-             xreflabel="schemadocdropset( integer )">
-      <title id="function.dropset-integer-title">
-       dropset( integer )
-      </title>
-      <titleabbrev id="function.dropset-integer-titleabbrev">
-       dropset( integer )
-      </titleabbrev>
+<section id="function.dropset-integer"
+  xreflabel="schemadocdropset( integer )">
+<title id="function.dropset-integer-title">
+  dropset( integer )
+</title>
+<titleabbrev> id="function.dropset-integer-titleabbrev">
+  dropset( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Process DROP_SET event to drop replication of set set_id.  This involves:
-- Restoring original triggers and rules
-- Removing all traces of the set configuration, including sequences, tables, subscribers, syncs, and the set itself
-        <programlisting>
-declare
+  Traite l'événement DROP_SET pour supprimer la réplication de l'ensemble set_id. Ceci implique de&nbsp;:
+
+  <itemizedlist>
+    <listitem>
+      <para>restaurer les triggers et règles originaux&nbsp;;</para>
+    </listitem>
+    
+    <listitem>
+      <para>
+        supprimer toutes les traces de la configuration de l'événement, en
+	incluant les séquences, tables, abonnés, syncs et l'ensemble lui-même.
+      </para>
+    </listitem>
+  </itemizedlist>
+
+  <programlisting>declare
 	p_set_id			alias for $1;
 	v_origin			int4;
 begin
@@ -5130,36 +3682,34 @@
 	perform dropSet_int(p_set_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;DROP_SET&#39;, 
 			p_set_id);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function dropset_int( integer ) -->
-    <section id="function.dropset-int-integer"
-             xreflabel="schemadocdropset_int( integer )">
-      <title id="function.dropset-int-integer-title">
-       dropset_int( integer )
-      </title>
-      <titleabbrev id="function.dropset-int-integer-titleabbrev">
-       dropset_int( integer )
-      </titleabbrev>
+<section id="function.dropset-int-integer"
+  xreflabel="schemadocdropset_int( integer )">
+<title id="function.dropset-int-integer-title">
+  dropset_int( integer )
+</title>
+<titleabbrev> id="function.dropset-int-integer-titleabbrev">
+  dropset_int( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       
-        <programlisting>
-declare
+  <programlisting>declare
 	p_set_id			alias for $1;
 	v_tab_row			record;
 begin
@@ -5201,78 +3751,74 @@
 	perform addPartialLogIndices();
 
 	return p_set_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function droptrigger( integer, name ) -->
-    <section id="function.droptrigger-integer-name"
-             xreflabel="schemadocdroptrigger( integer, name )">
-      <title id="function.droptrigger-integer-name-title">
-       droptrigger( integer, name )
-      </title>
-      <titleabbrev id="function.droptrigger-integer-name-titleabbrev">
-       droptrigger( integer, name )
-      </titleabbrev>
+<section id="function.droptrigger-integer-name"
+  xreflabel="schemadocdroptrigger( integer, name )">
+<title id="function.droptrigger-integer-name-title">
+  droptrigger( integer, name )
+</title>
+<titleabbrev> id="function.droptrigger-integer-name-titleabbrev">
+  droptrigger( integer, name )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       dropTrigger (trig_tabid, trig_tgname)
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
 
-Submits DROP_TRIGGER event to indicate that trigger trig_tgname on
-replicated table trig_tabid WILL be disabled.
-        <programlisting>
-declare
+  Soumet un événement DROP_TRIGGER pour indiquer que le trigger trig_tgname
+  sur la table répliquée trig_tabid SERA désactivé.
+  
+  <programlisting>declare
 	p_trig_tabid		alias for $1;
 	p_trig_tgname		alias for $2;
 begin
 	perform dropTrigger_int(p_trig_tabid, p_trig_tgname);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;DROP_TRIGGER&#39;,
 			p_trig_tabid, p_trig_tgname);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function droptrigger_int( integer, name ) -->
-    <section id="function.droptrigger-int-integer-name"
-             xreflabel="schemadocdroptrigger_int( integer, name )">
-      <title id="function.droptrigger-int-integer-name-title">
-       droptrigger_int( integer, name )
-      </title>
-      <titleabbrev id="function.droptrigger-int-integer-name-titleabbrev">
-       droptrigger_int( integer, name )
-      </titleabbrev>
+<section id="function.droptrigger-int-integer-name"
+  xreflabel="schemadocdroptrigger_int( integer, name )">
+<title id="function.droptrigger-int-integer-name-title">
+  droptrigger_int( integer, name )
+</title>
+<titleabbrev> id="function.droptrigger-int-integer-name-titleabbrev">
+  droptrigger_int( integer, name )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       dropTrigger_int (trig_tabid, trig_tgname)
-
-Processes DROP_TRIGGER event to make sure that trigger trig_tgname on
-replicated table trig_tabid IS disabled.
-        <programlisting>
-declare
+  Traite l'événement DROP_TRIGGER pour assurer que le trigger trig_tgname
+  sur la table répliquée trig_tabid est désactivé.
+  
+  <programlisting>declare
 	p_trig_tabid		alias for $1;
 	p_trig_tgname		alias for $2;
 	v_tab_altered		boolean;
@@ -5317,38 +3863,38 @@
 	end if;
 
 	return p_trig_tabid;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function enablenode( integer ) -->
-    <section id="function.enablenode-integer"
-             xreflabel="schemadocenablenode( integer )">
-      <title id="function.enablenode-integer-title">
-       enablenode( integer )
-      </title>
-      <titleabbrev id="function.enablenode-integer-titleabbrev">
-       enablenode( integer )
-      </titleabbrev>
+<section id="function.enablenode-integer"
+  xreflabel="schemadocenablenode( integer )">
+<title id="function.enablenode-integer-title">
+  enablenode( integer )
+</title>
+<titleabbrev> id="function.enablenode-integer-titleabbrev">
+  enablenode( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       no_id - Node ID #
+  no_id - identifiant du n&oelig;ud
 
-Generate the ENABLE_NODE event for node no_id
-        <programlisting>
-declare
+  Génère l'événement ENABLE_NODE pour le n&oelig;ud no_id.
+  
+  <programlisting>declare
 	p_no_id			alias for $1;
 	v_local_node_id	int4;
 	v_node_row		record;
@@ -5380,38 +3926,39 @@
 	perform enableNode_int (p_no_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;ENABLE_NODE&#39;,
 									p_no_id);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function enablenode_int( integer ) -->
-    <section id="function.enablenode-int-integer"
-             xreflabel="schemadocenablenode_int( integer )">
-      <title id="function.enablenode-int-integer-title">
-       enablenode_int( integer )
-      </title>
-      <titleabbrev id="function.enablenode-int-integer-titleabbrev">
-       enablenode_int( integer )
-      </titleabbrev>
+<section id="function.enablenode-int-integer"
+  xreflabel="schemadocenablenode_int( integer )">
+<title id="function.enablenode-int-integer-title">
+  enablenode_int( integer )
+</title>
+<titleabbrev> id="function.enablenode-int-integer-titleabbrev">
+  enablenode_int( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       no_id - Node ID #
+  no_id - Identifiant du n&oelig;ud
 
-Internal function to process the ENABLE_NODE event for node no_id
-        <programlisting>
-declare
+  Fonction interne pour traiter l'événement ENABLE_NODE pour le n&oelig;ud
+  no_id.
+  
+  <programlisting>declare
 	p_no_id			alias for $1;
 	v_local_node_id	int4;
 	v_node_row		record;
@@ -5471,83 +4018,79 @@
 	end loop;
 
 	return p_no_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function enablesubscription( integer, integer, integer ) -->
-    <section id="function.enablesubscription-integer-integer-integer"
-             xreflabel="schemadocenablesubscription( integer, integer, integer )">
-      <title id="function.enablesubscription-integer-integer-integer-title">
-       enablesubscription( integer, integer, integer )
-      </title>
-      <titleabbrev id="function.enablesubscription-integer-integer-integer-titleabbrev">
-       enablesubscription( integer, integer, integer )
-      </titleabbrev>
+<section id="function.enablesubscription-integer-integer-integer"
+  xreflabel="schemadocenablesubscription( integer, integer, integer )">
+<title id="function.enablesubscription-integer-integer-integer-title">
+  enablesubscription( integer, integer, integer )
+</title>
+<titleabbrev> id="function.enablesubscription-integer-integer-integer-titleabbrev">
+  enablesubscription( integer, integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       enableSubscription (sub_set, sub_provider, sub_receiver)
-
-Indicates that sub_receiver intends subscribing to set sub_set from
-sub_provider.  Work is all done by the internal function
-enableSubscription_int (sub_set, sub_provider, sub_receiver).
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Indique que sub_receiver a pout but d'abonner à l'ensemble sub_set à partir
+  de sub_provider. Tout le travail est fait par la fonction interne
+  enableSubscription_int (sub_set, sub_provider, sub_receiver).
+  
+  <programlisting>declare
 	p_sub_set			alias for $1;
 	p_sub_provider		alias for $2;
 	p_sub_receiver		alias for $3;
 begin
 	return  enableSubscription_int (p_sub_set, 
 			p_sub_provider, p_sub_receiver);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function enablesubscription_int( integer, integer, integer ) -->
-    <section id="function.enablesubscription-int-integer-integer-integer"
-             xreflabel="schemadocenablesubscription_int( integer, integer, integer )">
-      <title id="function.enablesubscription-int-integer-integer-integer-title">
-       enablesubscription_int( integer, integer, integer )
-      </title>
-      <titleabbrev id="function.enablesubscription-int-integer-integer-integer-titleabbrev">
-       enablesubscription_int( integer, integer, integer )
-      </titleabbrev>
+<section id="function.enablesubscription-int-integer-integer-integer"
+  xreflabel="schemadocenablesubscription_int( integer, integer, integer )">
+<title id="function.enablesubscription-int-integer-integer-integer-title">
+  enablesubscription_int( integer, integer, integer )
+</title>
+<titleabbrev> id="function.enablesubscription-int-integer-integer-integer-titleabbrev">
+  enablesubscription_int( integer, integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       enableSubscription_int (sub_set, sub_provider, sub_receiver)
+  Fonction interne pour activer l'abonnement du n&oelig;ud sub_receiver pour
+  configurer sub_set via le n&oelig;ud sub_provider.
 
-Internal function to enable subscription of node sub_receiver to set
-sub_set via node sub_provider.
-
-slon does most of the work; all we need do here is to remember that it
-happened.  The function updates sl_subscribe, indicating that the
-subscription has become active.
-        <programlisting>
-declare
+  slon fait une grosse partie du travail&nbsp;; tout ce que nous avons besoin
+  de faire ici est de nous rappeler que cela est survenu. La fonction met à
+  jour sl_subscribe, indiquant que l'abonnement est devenu actif.
+  
+  <programlisting>declare
 	p_sub_set			alias for $1;
 	p_sub_provider		alias for $2;
 	p_sub_receiver		alias for $3;
@@ -5595,37 +4138,38 @@
 	perform RebuildListenEntries();
 
 	return p_sub_set;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function failednode( integer, integer ) -->
-    <section id="function.failednode-integer-integer"
-             xreflabel="schemadocfailednode( integer, integer )">
-      <title id="function.failednode-integer-integer-title">
-       failednode( integer, integer )
-      </title>
-      <titleabbrev id="function.failednode-integer-integer-titleabbrev">
-       failednode( integer, integer )
-      </titleabbrev>
+<section id="function.failednode-integer-integer"
+  xreflabel="schemadocfailednode( integer, integer )">
+<title id="function.failednode-integer-integer-title">
+  failednode( integer, integer )
+</title>
+<titleabbrev> id="function.failednode-integer-integer-titleabbrev">
+  failednode( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Initiate failover from failed_node to backup_node.  This function must be called on all nodes, 
-and then waited for the restart of all node daemons.
-        <programlisting>
-declare
+  Initie la bascule de failed_node à backup_node. Cette fonction doit être
+  appelée sur tous les n&oelig;uds, puis doit attendre le redémarrage de tous
+  les démons de n&oelig;ud.
+  
+  <programlisting>declare
 	p_failed_node		alias for $1;
 	p_backup_node		alias for $2;
 	v_row				record;
@@ -5793,39 +4337,37 @@
 	-- That is it - so far.
 	-- ----
 	return p_failed_node;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function failednode2( integer, integer, integer, bigint, bigint ) -->
-    <section id="function.failednode2-integer-integer-integer-bigint-bigint"
-             xreflabel="schemadocfailednode2( integer, integer, integer, bigint, bigint )">
-      <title id="function.failednode2-integer-integer-integer-bigint-bigint-title">
-       failednode2( integer, integer, integer, bigint, bigint )
-      </title>
-      <titleabbrev id="function.failednode2-integer-integer-integer-bigint-bigint-titleabbrev">
-       failednode2( integer, integer, integer, bigint, bigint )
-      </titleabbrev>
+<section id="function.failednode2-integer-integer-integer-bigint-bigint"
+  xreflabel="schemadocfailednode2( integer, integer, integer, bigint, bigint )">
+<title id="function.failednode2-integer-integer-integer-bigint-bigint-title">
+  failednode2( integer, integer, integer, bigint, bigint )
+</title>
+<titleabbrev> id="function.failednode2-integer-integer-integer-bigint-bigint-titleabbrev">
+  failednode2( integer, integer, integer, bigint, bigint )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       FUNCTION failedNode2 (failed_node, backup_node, set_id, ev_seqno, ev_seqfake)
-
-On the node that has the highest sequence number of the failed node,
-fake the FAILOVER_SET event.
-        <programlisting>
-declare
+  Sur le n&oelig;ud qui a le numéro de séquence le plus élevé sur le n&oelig;ud
+  en échec, contrefait un événement FAILOVER_SET.
+  
+  <programlisting>declare
 	p_failed_node		alias for $1;
 	p_backup_node		alias for $2;
 	p_set_id			alias for $3;
@@ -5869,38 +4411,36 @@
 			p_backup_node, p_set_id);
 
 	return p_ev_seqfake;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function failoverset_int( integer, integer, integer ) -->
-    <section id="function.failoverset-int-integer-integer-integer"
-             xreflabel="schemadocfailoverset_int( integer, integer, integer )">
-      <title id="function.failoverset-int-integer-integer-integer-title">
-       failoverset_int( integer, integer, integer )
-      </title>
-      <titleabbrev id="function.failoverset-int-integer-integer-integer-titleabbrev">
-       failoverset_int( integer, integer, integer )
-      </titleabbrev>
+<section id="function.failoverset-int-integer-integer-integer"
+  xreflabel="schemadocfailoverset_int( integer, integer, integer )">
+<title id="function.failoverset-int-integer-integer-integer-title">
+  failoverset_int( integer, integer, integer )
+</title>
+<titleabbrev id="function.failoverset-int-integer-integer-integer-titleabbrev">
+  failoverset_int( integer, integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       FUNCTION failoverSet_int (failed_node, backup_node, set_id)
-
-Finish failover for one set.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Termine la bascule pour un ensemble.
+  
+  <programlisting>declare
 	p_failed_node		alias for $1;
 	p_backup_node		alias for $2;
 	p_set_id			alias for $3;
@@ -5995,40 +4535,38 @@
 	end if;
 
 	return p_failed_node;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function forwardconfirm( integer, integer, bigint, timestamp without time zone ) -->
-    <section id="function.forwardconfirm-integer-integer-bigint-timestamp-without-time-zone"
-             xreflabel="schemadocforwardconfirm( integer, integer, bigint, timestamp without time zone )">
-      <title id="function.forwardconfirm-integer-integer-bigint-timestamp-without-time-zone-title">
-       forwardconfirm( integer, integer, bigint, timestamp without time zone )
-      </title>
-      <titleabbrev id="function.forwardconfirm-integer-integer-bigint-timestamp-without-time-zone-titleabbrev">
-       forwardconfirm( integer, integer, bigint, timestamp without time zone )
-      </titleabbrev>
+<section id="function.forwardconfirm-integer-integer-bigint-timestamp-without-time-zone"
+  xreflabel="schemadocforwardconfirm( integer, integer, bigint, timestamp without time zone )">
+<title id="function.forwardconfirm-integer-integer-bigint-timestamp-without-time-zone-title">
+  forwardconfirm( integer, integer, bigint, timestamp without time zone )
+</title>
+<titleabbrev> id="function.forwardconfirm-integer-integer-bigint-timestamp-without-time-zone-titleabbrev">
+  forwardconfirm( integer, integer, bigint, timestamp without time zone )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       forwardConfirm (p_con_origin, p_con_received, p_con_seqno, p_con_timestamp)
-
-Confirms (recorded in sl_confirm) that items from p_con_origin up to
-p_con_seqno have been received by node p_con_received as of
-p_con_timestamp, and raises an event to forward this confirmation.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Confirme (enregistré dans sl_confirm) que les éléments allant de p_con_origin
+  à p_con_seqno ont été reçus par le n&oelig;ud p_con_received à
+  p_con_timestamp, et ajoute un événement pour envoyer cette confirmation.
+  
+  <programlisting>declare
 	p_con_origin	alias for $1;
 	p_con_received	alias for $2;
 	p_con_seqno		alias for $3;
@@ -6049,36 +4587,36 @@
 	end if;
 
 	return v_max_seqno;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function generate_sync_event( interval ) -->
-    <section id="function.generate-sync-event-interval"
-             xreflabel="schemadocgenerate_sync_event( interval )">
-      <title id="function.generate-sync-event-interval-title">
-       generate_sync_event( interval )
-      </title>
-      <titleabbrev id="function.generate-sync-event-interval-titleabbrev">
-       generate_sync_event( interval )
-      </titleabbrev>
+<section id="function.generate-sync-event-interval"
+  xreflabel="schemadocgenerate_sync_event( interval )">
+<title id="function.generate-sync-event-interval-title">
+  generate_sync_event( interval )
+</title>
+<titleabbrev> id="function.generate-sync-event-interval-titleabbrev">
+  generate_sync_event( interval )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Generate a sync event if there has not been one in the requested interval.
-        <programlisting>
-declare
+  Génère un événement SYNC si aucun n'a eu lieu dans l'interval requis.
+  
+  <programlisting>declare
 	p_interval     alias for $1;
 	v_node_row     record;
 
@@ -6093,120 +4631,127 @@
 	else
 		return 0;
 	end if;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function getlocalnodeid( name ) -->
-    <section id="function.getlocalnodeid-name"
-             xreflabel="schemadocgetlocalnodeid( name )">
-      <title id="function.getlocalnodeid-name-title">
-       getlocalnodeid( name )
-      </title>
-      <titleabbrev id="function.getlocalnodeid-name-titleabbrev">
-       getlocalnodeid( name )
-      </titleabbrev>
+<section id="function.getlocalnodeid-name"
+  xreflabel="schemadocgetlocalnodeid( name )">
+<title id="function.getlocalnodeid-name-title">
+  getlocalnodeid( name )
+</title>
+<titleabbrev> id="function.getlocalnodeid-name-titleabbrev">
+  getlocalnodeid( name )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>C</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Returns the node ID of the node being serviced on the local database
-        <programlisting>_Slony_I_getLocalNodeId</programlisting>
-      </para>
-    </section>
+  Renvoie l'identifiant du n&oelig;ud en service sur la base de données locale.
+  
+  <programlisting>_Slony_I_getLocalNodeId</programlisting>
+</para>
 
+</section>
+
 <!-- Function getmoduleversion(  ) -->
-    <section id="function.getmoduleversion"
-             xreflabel="schemadocgetmoduleversion(  )">
-      <title id="function.getmoduleversion-title">
-       getmoduleversion(  )
-      </title>
-      <titleabbrev id="function.getmoduleversion-titleabbrev">
-       getmoduleversion(  )
-      </titleabbrev>
+<section id="function.getmoduleversion"
+  xreflabel="schemadocgetmoduleversion(  )">
+<title id="function.getmoduleversion-title">
+  getmoduleversion(  )
+</title>
+<titleabbrev> id="function.getmoduleversion-titleabbrev">
+  getmoduleversion(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>text</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>C</seg>
+      <seg>text</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       Returns the compiled-in version number of the Slony-I shared object
-        <programlisting>_Slony_I_getModuleVersion</programlisting>
-      </para>
-    </section>
+  Renvoie le numéro de version (stocké en dur dans la biliothèque partagée)
+  de Slony-I.
+  
+  <programlisting>_Slony_I_getModuleVersion</programlisting>
+</para>
 
+</section>
+
 <!-- Function getsessionrole( name ) -->
-    <section id="function.getsessionrole-name"
-             xreflabel="schemadocgetsessionrole( name )">
-      <title id="function.getsessionrole-name-title">
-       getsessionrole( name )
-      </title>
-      <titleabbrev id="function.getsessionrole-name-titleabbrev">
-       getsessionrole( name )
-      </titleabbrev>
+<section id="function.getsessionrole-name"
+  xreflabel="schemadocgetsessionrole( name )">
+<title id="function.getsessionrole-name-title">
+  getsessionrole( name )
+</title>
+<titleabbrev> id="function.getsessionrole-name-titleabbrev">
+  getsessionrole( name )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>text</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>C</seg>
+      <seg>text</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       not yet documented
-        <programlisting>_Slony_I_getSessionRole</programlisting>
-      </para>
-    </section>
+  Pas encore documenté.
+  
+  <programlisting>_Slony_I_getSessionRole</programlisting>
+</para>
 
+</section>
+
 <!-- Function initializelocalnode( integer, text ) -->
-    <section id="function.initializelocalnode-integer-text"
-             xreflabel="schemadocinitializelocalnode( integer, text )">
-      <title id="function.initializelocalnode-integer-text-title">
-       initializelocalnode( integer, text )
-      </title>
-      <titleabbrev id="function.initializelocalnode-integer-text-titleabbrev">
-       initializelocalnode( integer, text )
-      </titleabbrev>
+<section id="function.initializelocalnode-integer-text"
+  xreflabel="schemadocinitializelocalnode( integer, text )">
+<title id="function.initializelocalnode-integer-text-title">
+  initializelocalnode( integer, text )
+</title>
+<titleabbrev> id="function.initializelocalnode-integer-text-titleabbrev">
+  initializelocalnode( integer, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       no_id - Node ID #
-no_comment - Human-oriented comment
+  no_id - Identifiant du n&oelig;ud
+  no_comment - Commentaire « humain »
 
-Initializes the new node, no_id
-        <programlisting>
-declare
+  Initialise le nouveau n&oelig;ud d'identifiant no_id.
+  
+  <programlisting>declare
 	p_local_node_id		alias for $1;
 	p_comment			alias for $2;
 	v_old_node_id		int4;
@@ -6236,93 +4781,97 @@
 	perform storeNode_int (p_local_node_id, p_comment, false);
 	
 	return p_local_node_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function killbackend( integer, text ) -->
-    <section id="function.killbackend-integer-text"
-             xreflabel="schemadockillbackend( integer, text )">
-      <title id="function.killbackend-integer-text-title">
-       killbackend( integer, text )
-      </title>
-      <titleabbrev id="function.killbackend-integer-text-titleabbrev">
-       killbackend( integer, text )
-      </titleabbrev>
+<section id="function.killbackend-integer-text"
+  xreflabel="schemadockillbackend( integer, text )">
+<title id="function.killbackend-integer-text-title">
+  killbackend( integer, text )
+</title>
+<titleabbrev> id="function.killbackend-integer-text-titleabbrev">
+  killbackend( integer, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       Send a signal to a postgres process. Requires superuser rights
-        <programlisting>_Slony_I_killBackend</programlisting>
-      </para>
-    </section>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>C</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Envoie un signal à un processus postgres. Nécessite les droits d'un
+  super-utilisateur.
+  
+  <programlisting>_Slony_I_killBackend</programlisting>
+</para>
 
+</section>
+
 <!-- Function lockedset(  ) -->
-    <section id="function.lockedset"
-             xreflabel="schemadoclockedset(  )">
-      <title id="function.lockedset-title">
-       lockedset(  )
-      </title>
-      <titleabbrev id="function.lockedset-titleabbrev">
-       lockedset(  )
-      </titleabbrev>
+<section id="function.lockedset"
+  xreflabel="schemadoclockedset(  )">
+<title id="function.lockedset-title">
+  lockedset(  )
+</title>
+<titleabbrev> id="function.lockedset-titleabbrev">
+  lockedset(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>&quot;trigger&quot;</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       Trigger function to prevent modifications to a table before and after a moveSet()
-        <programlisting>_Slony_I_lockedSet</programlisting>
-      </para>
-    </section>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>C</seg>
+      <seg>&quot;trigger&quot;</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Fonction trigger pour empêcher les modifications sur une table avant et après
+  un moveSet().
+  
+  <programlisting>_Slony_I_lockedSet</programlisting>
+</para>
 
+</section>
+
 <!-- Function lockset( integer ) -->
-    <section id="function.lockset-integer"
-             xreflabel="schemadoclockset( integer )">
-      <title id="function.lockset-integer-title">
-       lockset( integer )
-      </title>
-      <titleabbrev id="function.lockset-integer-titleabbrev">
-       lockset( integer )
-      </titleabbrev>
+<section id="function.lockset-integer"
+  xreflabel="schemadoclockset( integer )">
+<title id="function.lockset-integer-title">
+  lockset( integer )
+</title>
+<titleabbrev> id="function.lockset-integer-titleabbrev">
+  lockset( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       lockSet(set_id)
-
-Add a special trigger to all tables of a set that disables access to
-it.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Ajoute un trigger spécial pour toutes les tables d'un ensemble dont l'accès
+  a été désactivé.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	v_local_node_id		int4;
 	v_set_row			record;
@@ -6380,38 +4929,36 @@
 			where set_id = p_set_id;
 
 	return p_set_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function logswitch_finish(  ) -->
-    <section id="function.logswitch-finish"
-             xreflabel="schemadoclogswitch_finish(  )">
-      <title id="function.logswitch-finish-title">
-       logswitch_finish(  )
-      </title>
-      <titleabbrev id="function.logswitch-finish-titleabbrev">
-       logswitch_finish(  )
-      </titleabbrev>
+<section id="function.logswitch-finish"
+  xreflabel="schemadoclogswitch_finish(  )">
+<title id="function.logswitch-finish-title">
+  logswitch_finish(  )
+</title>
+<titleabbrev> id="function.logswitch-finish-titleabbrev">
+  logswitch_finish(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       logswitch_finish()
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
 
-Attempt to finalize a log table switch in progress
-        <programlisting>
-DECLARE
+  Tente de finaliser une bascule de log en progressions.
+  
+  <programlisting>DECLARE
 	v_current_status	int4;
 	v_dummy				record;
 BEGIN
@@ -6483,38 +5030,36 @@
 		perform addPartialLogIndices();
 		return 2;
 	end if;
-END;
-</programlisting>
-      </para>
-    </section>
+END;</programlisting>
+</para>
 
+</section>
+
 <!-- Function logswitch_start(  ) -->
-    <section id="function.logswitch-start"
-             xreflabel="schemadoclogswitch_start(  )">
-      <title id="function.logswitch-start-title">
-       logswitch_start(  )
-      </title>
-      <titleabbrev id="function.logswitch-start-titleabbrev">
-       logswitch_start(  )
-      </titleabbrev>
+<section id="function.logswitch-start"
+  xreflabel="schemadoclogswitch_start(  )">
+<title id="function.logswitch-start-title">
+  logswitch_start(  )
+</title>
+<titleabbrev> id="function.logswitch-start-titleabbrev">
+  logswitch_start(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       logswitch_start()
-
-Initiate a log table switch if none is in progress
-        <programlisting>
-DECLARE
+  Initie une bascule de log si aucune n'est déjà en cours.
+  
+  <programlisting>DECLARE
 	v_current_status	int4;
 BEGIN
 	-- ----
@@ -6553,38 +5098,36 @@
 	end if;
 
 	raise exception &#39;Previous logswitch still in progress&#39;;
-END;
-</programlisting>
-      </para>
-    </section>
+END;</programlisting>
+</para>
 
+</section>
+
 <!-- Function logswitch_weekly(  ) -->
-    <section id="function.logswitch-weekly"
-             xreflabel="schemadoclogswitch_weekly(  )">
-      <title id="function.logswitch-weekly-title">
-       logswitch_weekly(  )
-      </title>
-      <titleabbrev id="function.logswitch-weekly-titleabbrev">
-       logswitch_weekly(  )
-      </titleabbrev>
+<section id="function.logswitch-weekly"
+  xreflabel="schemadoclogswitch_weekly(  )">
+<title id="function.logswitch-weekly-title">
+  logswitch_weekly(  )
+</title>
+<titleabbrev> id="function.logswitch-weekly-titleabbrev">
+  logswitch_weekly(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       logswitch_weekly()
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
 
-Ensure a logswitch is done at least weekly
-        <programlisting>
-DECLARE
+  S'assure qu'une bascule de log est réalisée au moins toutes les semaines.
+  
+  <programlisting>DECLARE
 	v_now			timestamp;
 	v_now_dow		int4;
 	v_auto_dow		int4;
@@ -6642,67 +5185,70 @@
 	perform registry_set_timestamp(
 			&#39;logswitch_weekly.lastrun&#39;, v_now);
 	return 1;
-END;
-</programlisting>
-      </para>
-    </section>
+END;</programlisting>
+</para>
 
+</section>
+
 <!-- Function logtrigger(  ) -->
-    <section id="function.logtrigger"
-             xreflabel="schemadoc.logtrigger(  )">
-      <title id="function.logtrigger-title">
-       logtrigger(  )
-      </title>
-      <titleabbrev id="function.logtrigger-titleabbrev">
-       logtrigger(  )
-      </titleabbrev>
+<section id="function.logtrigger"
+  xreflabel="schemadoclogtrigger(  )">
+<title id="function.logtrigger-title">
+  logtrigger(  )
+</title>
+<titleabbrev> id="function.logtrigger-titleabbrev">
+  logtrigger(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>&quot;trigger&quot;</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>C</seg>
+      <seg>&quot;trigger&quot;</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       This is the trigger that is executed on the origin node that causes
-updates to be recorded in sl_log_1/sl_log_2.
-        <programlisting>_Slony_I_logTrigger</programlisting>
-      </para>
-    </section>
+  Ceci est le trigger exécuté sur le n&oelig;ud origine qui fait que les mises
+  à jour sont enregistrées dans sl_log_1/sl_log_2.
+  
+  <programlisting>_Slony_I_logTrigger</programlisting>
+</para>
 
+</section>
+
 <!-- Function mergeset( integer, integer ) -->
-    <section id="function.mergeset-integer-integer"
-             xreflabel="schemadocmergeset( integer, integer )">
-      <title id="function.mergeset-integer-integer-title">
-       mergeset( integer, integer )
-      </title>
-      <titleabbrev id="function.mergeset-integer-integer-titleabbrev">
-       mergeset( integer, integer )
-      </titleabbrev>
+<section id="function.mergeset-integer-integer"
+  xreflabel="schemadocmergeset( integer, integer )">
+<title id="function.mergeset-integer-integer-title">
+  mergeset( integer, integer )
+</title>
+<titleabbrev> id="function.mergeset-integer-integer-titleabbrev">
+  mergeset( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       Generate MERGE_SET event to request that sets be merged together.
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Génère un événement MERGE_SET pour demander que les ensembles soient
+  fusionnés.
 
-Both sets must exist, and originate on the same node.  They must be
-subscribed by the same set of nodes.
-        <programlisting>
-declare
+  Les ensembles doivent exister. L'origine doit correspondre au même n&oelig;ud.
+  Le même ensemble de n&oelig;uds doivent être abonnés aux deux ensembles.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	p_add_id			alias for $2;
 	v_origin			int4;
@@ -6768,37 +5314,37 @@
 	perform mergeSet_int(p_set_id, p_add_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;MERGE_SET&#39;, 
 			p_set_id, p_add_id);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function mergeset_int( integer, integer ) -->
-    <section id="function.mergeset-int-integer-integer"
-             xreflabel="schemadocmergeset_int( integer, integer )">
-      <title id="function.mergeset-int-integer-integer-title">
-       mergeset_int( integer, integer )
-      </title>
-      <titleabbrev id="function.mergeset-int-integer-integer-titleabbrev">
-       mergeset_int( integer, integer )
-      </titleabbrev>
+<section id="function.mergeset-int-integer-integer"
+  xreflabel="schemadocmergeset_int( integer, integer )">
+<title id="function.mergeset-int-integer-integer-title">
+  mergeset_int( integer, integer )
+</title>
+<titleabbrev> id="function.mergeset-int-integer-integer-titleabbrev">
+  mergeset_int( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       mergeSet_int(set_id, add_id) - Perform MERGE_SET event, merging all objects from 
-set add_id into set set_id.
-        <programlisting>
-declare
+  Exécute un événement MERGE_SET, assemblant tous les objets de l'ensemble
+  add_id dans l'ensemble set_id.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	p_add_id			alias for $2;
 begin
@@ -6821,38 +5367,37 @@
 			where set_id = p_add_id;
 
 	return p_set_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function moveset( integer, integer ) -->
-    <section id="function.moveset-integer-integer"
-             xreflabel="schemadocmoveset( integer, integer )">
-      <title id="function.moveset-integer-integer-title">
-       moveset( integer, integer )
-      </title>
-      <titleabbrev id="function.moveset-integer-integer-titleabbrev">
-       moveset( integer, integer )
-      </titleabbrev>
+<section id="function.moveset-integer-integer"
+  xreflabel="schemadocmoveset( integer, integer )">
+<title id="function.moveset-integer-integer-title">
+  moveset( integer, integer )
+</title>
+<titleabbrev> id="function.moveset-integer-integer-titleabbrev">
+  moveset( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       moveSet(set_id, new_origin)
-
-Generate MOVE_SET event to request that the origin for set set_id be moved to node new_origin
-        <programlisting>
-declare
+  Génère un événement MOVE_SET pour demander que l'origine de l'ensemble set_id
+  soit déplacé vers le n&oelig;ud new_origin.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	p_new_origin		alias for $2;
 	v_local_node_id		int4;
@@ -6934,39 +5479,37 @@
 	-- ----
 	return createEvent(&#39;_schemadoc&#39;, &#39;MOVE_SET&#39;, 
 			p_set_id, v_local_node_id, p_new_origin);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function moveset_int( integer, integer, integer ) -->
-    <section id="function.moveset-int-integer-integer-integer"
-             xreflabel="schemadocmoveset_int( integer, integer, integer )">
-      <title id="function.moveset-int-integer-integer-integer-title">
-       moveset_int( integer, integer, integer )
-      </title>
-      <titleabbrev id="function.moveset-int-integer-integer-integer-titleabbrev">
-       moveset_int( integer, integer, integer )
-      </titleabbrev>
+<section id="function.moveset-int-integer-integer-integer"
+  xreflabel="schemadocmoveset_int( integer, integer, integer )">
+<title id="function.moveset-int-integer-integer-integer-title">
+  moveset_int( integer, integer, integer )
+</title>
+<titleabbrev id="function.moveset-int-integer-integer-integer-titleabbrev">
+  moveset_int( integer, integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       moveSet(set_id, old_origin, new_origin)
-
-Process MOVE_SET event to request that the origin for set set_id be
-moved from old_origin to node new_origin
-        <programlisting>
-declare
+  Traite un événement MOVE_SET pour demander que l'origine de l'ensemble set_id
+  soit déplacé du n&oelig;ud old_origin vers le n&oelig;ud new_origin.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	p_old_origin		alias for $2;
 	p_new_origin		alias for $3;
@@ -7145,39 +5688,37 @@
 	end if;
 
 	return p_set_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function reachablefromnode( integer, integer[] ) -->
-    <section id="function.reachablefromnode-integer-integerARRAY"
-             xreflabel="schemadocreachablefromnode( integer, integer[] )">
-      <title id="function.reachablefromnode-integer-integerARRAY-title">
-       reachablefromnode( integer, integer[] )
-      </title>
-      <titleabbrev id="function.reachablefromnode-integer-integerARRAY-titleabbrev">
-       reachablefromnode( integer, integer[] )
-      </titleabbrev>
+<section id="function.reachablefromnode-integer-integerARRAY"
+  xreflabel="schemadocreachablefromnode( integer, integer[] )">
+<title id="function.reachablefromnode-integer-integerARRAY-title">
+  reachablefromnode( integer, integer[] )
+</title>
+<titleabbrev> id="function.reachablefromnode-integer-integerARRAY-titleabbrev">
+  reachablefromnode( integer, integer[] )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>SET OF integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       ReachableFromNode(receiver, blacklist)
-
-Find all nodes that &lt;receiver&gt; can receive events from without
-using nodes in &lt;blacklist&gt; as a relay.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>SET OF integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Trouve tous les n&oelig;uds dont &lt;receiver&gt; peut recevoir des événements
+  sans utiliser les n&oelig;uds dans &lt;blacklist&gt; comme relai.
+  
+  <programlisting>declare
 	v_node alias for $1 ;
 	v_blacklist alias for $2 ;
 	v_ignore int4[] ;
@@ -7203,156 +5744,105 @@
 		v_reachable_edge_last := v_reachable_edge_new ;
 	end loop ;
 	return ;
-end ;
-</programlisting>
-      </para>
-    </section>
+end ;</programlisting>
+</para>
 
+</section>
+
 <!-- Function rebuildlistenentries(  ) -->
-    <section id="function.rebuildlistenentries"
-             xreflabel="schemadocrebuildlistenentries(  )">
-      <title id="function.rebuildlistenentries-title">
-       rebuildlistenentries(  )
-      </title>
-      <titleabbrev id="function.rebuildlistenentries-titleabbrev">
-       rebuildlistenentries(  )
-      </titleabbrev>
+<section id="function.rebuildlistenentries"
+  xreflabel="schemadocrebuildlistenentries(  )">
+<title id="function.rebuildlistenentries-title">
+  rebuildlistenentries(  )
+</title>
+<titleabbrev> id="function.rebuildlistenentries-titleabbrev">
+  rebuildlistenentries(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       RebuildListenEntries()
-
-Invoked by various subscription and path modifying functions, this
-rewrites the sl_listen entries, adding in all the ones required to
-allow communications between nodes in the Slony-I cluster.
-        <programlisting>
-declare
-	v_row	record;
-	skip    boolean;
+  Appelé par différentes fonctions de modification de l'abonnement et des chemins,
+  cette fonction réécrit les entrées sl_listen, ajoutant toutes celles qui
+  nécessitent l'autorisation des communications entre les n&oelig;uds du cluster
+  Slony-I.
+  
+  <programlisting>declare
+	v_receiver record ;
+	v_provider record ;
+	v_origin record ;
+	v_reachable int4[] ;
 begin
 	-- First remove the entire configuration
 	delete from sl_listen;
 
-	-- Second populate the sl_listen configuration with a full
-	-- network of all possible paths.
-	insert into sl_listen
-				(li_origin, li_provider, li_receiver)
-			select pa_server, pa_server, pa_client from sl_path;
-	while true loop
-		insert into sl_listen
-					(li_origin, li_provider, li_receiver)
-			select distinct li_origin, pa_server, pa_client
-				from sl_listen, sl_path
-				where li_receiver = pa_server
-				  and li_origin &lt;&gt; pa_client
-			except
-			select li_origin, li_provider, li_receiver
-				from sl_listen;
+	-- Loop over every possible pair of receiver and provider
+	for v_receiver in select no_id from sl_node loop
+		for v_provider in select pa_server as no_id from sl_path where pa_client = v_receiver.no_id loop
 
-		if not found then
-			exit;
-		end if;
-	end loop;
+			-- Find all nodes that v_provider.no_id can receiver events from without using v_receiver.no_id			
+			for v_origin in select * from ReachableFromNode(v_provider.no_id, array[v_receiver.no_id]) as r(no_id) loop
 
-	-- We now replace specific event-origin,receiver combinations
-	-- with a configuration that tries to avoid events arriving at
-	-- a node before the data provider actually has the data ready.
+				-- If v_receiver.no_id subscribes a set from v_provider.no_id, events have to travel the same
+				-- path as the data. Ignore possible sl_listen that would break that rule.
+				perform 1 from sl_subscribe
+					join sl_set on sl_set.set_id = sl_subscribe.sub_set
+		 			where
+						sub_receiver = v_receiver.no_id and
+						sub_provider != v_provider.no_id and
+						set_origin = v_origin.no_id ;
+				if not found then
+					insert into sl_listen (li_receiver, li_provider, li_origin)
+						values (v_receiver.no_id, v_provider.no_id, v_origin.no_id) ;
+				end if ;
 
-	-- Loop over every possible pair of receiver and event origin
-	for v_row in select N1.no_id as receiver, N2.no_id as origin
-			from sl_node as N1, sl_node as N2
-			where N1.no_id &lt;&gt; N2.no_id
-	loop
-		skip := &#39;f&#39;;
-		-- 1st choice:
-		-- If we use the event origin as a data provider for any
-		-- set that originates on that very node, we are a direct
-		-- subscriber to that origin and listen there only.
-		if exists (select true from sl_set, sl_subscribe
-				where set_origin = v_row.origin
-				  and sub_set = set_id
-				  and sub_provider = v_row.origin
-				  and sub_receiver = v_row.receiver
-				  and sub_active)
-		then
-			delete from sl_listen
-				where li_origin = v_row.origin
-				  and li_receiver = v_row.receiver;
-			insert into sl_listen (li_origin, li_provider, li_receiver)
-				values (v_row.origin, v_row.origin, v_row.receiver);
-			skip := &#39;t&#39;;
-		end if;
 
-		if skip then
-			skip := &#39;f&#39;;
-		else
-		-- 2nd choice:
-		-- If we are subscribed to any set originating on this
-		-- event origin, we want to listen on all data providers
-		-- we use for this origin. We are a cascaded subscriber
-		-- for sets from this node.
-			if exists (select true from sl_set, sl_subscribe
-						where set_origin = v_row.origin
-						  and sub_set = set_id
-						  and sub_receiver = v_row.receiver
-						  and sub_active)
-			then
-				delete from sl_listen
-					where li_origin = v_row.origin
-					  and li_receiver = v_row.receiver;
-				insert into sl_listen (li_origin, li_provider, li_receiver)
-					select distinct set_origin, sub_provider, v_row.receiver
-						from sl_set, sl_subscribe
-						where set_origin = v_row.origin
-						  and sub_set = set_id
-						  and sub_receiver = v_row.receiver
-						  and sub_active;
-			end if;
-		end if;
+			end loop ;
 
+		end loop ;
 	end loop ;
 
 	return null ;
-end ;
-</programlisting>
-      </para>
-    </section>
+end ;</programlisting>
+</para>
 
+</section>
+
 <!-- Function registernodeconnection( integer ) -->
-    <section id="function.registernodeconnection-integer"
-             xreflabel="schemadocregisternodeconnection( integer )">
-      <title id="function.registernodeconnection-integer-title">
-       registernodeconnection( integer )
-      </title>
-      <titleabbrev id="function.registernodeconnection-integer-titleabbrev">
-       registernodeconnection( integer )
-      </titleabbrev>
+<section id="function.registernodeconnection-integer"
+  xreflabel="schemadocregisternodeconnection( integer )">
+<title id="function.registernodeconnection-integer-title">
+  registernodeconnection( integer )
+</title>
+<titleabbrev> id="function.registernodeconnection-integer-titleabbrev">
+  registernodeconnection( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       Register (uniquely) the node connection so that only one slon can service the node
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Enregistre (de façon unique) la connexion du n&oelig;ud de façon à ce qu'un
+  slon puisse travailler sur le n&oelig;ud.
+  
+  <programlisting>declare
 	p_nodeid	alias for $1;
 begin
 	insert into sl_nodelock
@@ -7361,38 +5851,37 @@
 		(p_nodeid, pg_backend_pid());
 
 	return 0;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function registry_get_int4( text, integer ) -->
-    <section id="function.registry-get-int4-text-integer"
-             xreflabel="schemadocregistry_get_int4( text, integer )">
-      <title id="function.registry-get-int4-text-integer-title">
-       registry_get_int4( text, integer )
-      </title>
-      <titleabbrev id="function.registry-get-int4-text-integer-titleabbrev">
-       registry_get_int4( text, integer )
-      </titleabbrev>
+<section id="function.registry-get-int4-text-integer"
+  xreflabel="schemadocregistry_get_int4( text, integer )">
+<title id="function.registry-get-int4-text-integer-title">
+  registry_get_int4( text, integer )
+</title>
+<titleabbrev> id="function.registry-get-int4-text-integer-titleabbrev">
+  registry_get_int4( text, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       registry_get_int4(key, value)
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
 
-Get a registry value. If not present, set and return the default.
-        <programlisting>
-DECLARE
+  Récupère une valeur du registre. Si la clé est absente, initialise et renvoie
+  la valeur par défaut.
+  
+  <programlisting>DECLARE
 	p_key		alias for $1;
 	p_default	alias for $2;
 	v_value		int4;
@@ -7411,38 +5900,37 @@
 		end if;
 	end if;
 	return v_value;
-END;
-</programlisting>
-      </para>
-    </section>
+END;</programlisting>
+</para>
 
+</section>
+
 <!-- Function registry_get_text( text, text ) -->
-    <section id="function.registry-get-text-text-text"
-             xreflabel="schemadocregistry_get_text( text, text )">
-      <title id="function.registry-get-text-text-text-title">
-       registry_get_text( text, text )
-      </title>
-      <titleabbrev id="function.registry-get-text-text-text-titleabbrev">
-       registry_get_text( text, text )
-      </titleabbrev>
+<section id="function.registry-get-text-text-text"
+  xreflabel="schemadocregistry_get_text( text, text )">
+<title id="function.registry-get-text-text-text-title">
+  registry_get_text( text, text )
+</title>
+<titleabbrev> id="function.registry-get-text-text-text-titleabbrev">
+  registry_get_text( text, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>text</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       registry_get_text(key, value)
-
-Get a registry value. If not present, set and return the default.
-        <programlisting>
-DECLARE
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>text</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Récupère une valeur du registre. Si la clé est absente, initialise et renvoie
+  la valeur par défaut.
+  
+  <programlisting>DECLARE
 	p_key		alias for $1;
 	p_default	alias for $2;
 	v_value		text;
@@ -7461,38 +5949,37 @@
 		end if;
 	end if;
 	return v_value;
-END;
-</programlisting>
-      </para>
-    </section>
+END;</programlisting>
+</para>
 
+</section>
+
 <!-- Function registry_get_timestamp( text, timestamp without time zone ) -->
-    <section id="function.registry-get-timestamp-text-timestamp-without-time-zone"
-             xreflabel="schemadocregistry_get_timestamp( text, timestamp without time zone )">
-      <title id="function.registry-get-timestamp-text-timestamp-without-time-zone-title">
-       registry_get_timestamp( text, timestamp without time zone )
-      </title>
-      <titleabbrev id="function.registry-get-timestamp-text-timestamp-without-time-zone-titleabbrev">
-       registry_get_timestamp( text, timestamp without time zone )
-      </titleabbrev>
+<section id="function.registry-get-timestamp-text-timestamp-without-time-zone"
+  xreflabel="schemadocregistry_get_timestamp( text, timestamp without time zone )">
+<title id="function.registry-get-timestamp-text-timestamp-without-time-zone-title">
+  registry_get_timestamp( text, timestamp without time zone )
+</title>
+<titleabbrev> id="function.registry-get-timestamp-text-timestamp-without-time-zone-titleabbrev">
+  registry_get_timestamp( text, timestamp without time zone )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>timestamp without time zone</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       registry_get_timestamp(key, value)
-
-Get a registry value. If not present, set and return the default.
-        <programlisting>
-DECLARE
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>timestamp without time zone</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Récupère une valeur du registre. Si la clé est absente, initialise et renvoie
+  la valeur par défaut.
+  
+  <programlisting>DECLARE
 	p_key		alias for $1;
 	p_default	alias for $2;
 	v_value		timestamp;
@@ -7511,38 +5998,36 @@
 		end if;
 	end if;
 	return v_value;
-END;
-</programlisting>
-      </para>
-    </section>
+END;</programlisting>
+</para>
 
+</section>
+
 <!-- Function registry_set_int4( text, integer ) -->
-    <section id="function.registry-set-int4-text-integer"
-             xreflabel="schemadocregistry_set_int4( text, integer )">
-      <title id="function.registry-set-int4-text-integer-title">
-       registry_set_int4( text, integer )
-      </title>
-      <titleabbrev id="function.registry-set-int4-text-integer-titleabbrev">
-       registry_set_int4( text, integer )
-      </titleabbrev>
+<section id="function.registry-set-int4-text-integer"
+  xreflabel="schemadocregistry_set_int4( text, integer )">
+<title id="function.registry-set-int4-text-integer-title">
+  registry_set_int4( text, integer )
+</title>
+<titleabbrev> id="function.registry-set-int4-text-integer-titleabbrev">
+  registry_set_int4( text, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       registry_set_int4(key, value)
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
 
-Set or delete a registry value
-        <programlisting>
-DECLARE
+  Configure ou supprime une valeur du registre.
+  
+  <programlisting>DECLARE
 	p_key		alias for $1;
 	p_value		alias for $2;
 BEGIN
@@ -7560,38 +6045,36 @@
 		end if;
 	end if;
 	return p_value;
-END;
-</programlisting>
-      </para>
-    </section>
+END;</programlisting>
+</para>
 
+</section>
+
 <!-- Function registry_set_text( text, text ) -->
-    <section id="function.registry-set-text-text-text"
-             xreflabel="schemadocregistry_set_text( text, text )">
-      <title id="function.registry-set-text-text-text-title">
-       registry_set_text( text, text )
-      </title>
-      <titleabbrev id="function.registry-set-text-text-text-titleabbrev">
-       registry_set_text( text, text )
-      </titleabbrev>
+<section id="function.registry-set-text-text-text"
+  xreflabel="schemadocregistry_set_text( text, text )">
+<title id="function.registry-set-text-text-text-title">
+  registry_set_text( text, text )
+</title>
+<titleabbrev> id="function.registry-set-text-text-text-titleabbrev">
+  registry_set_text( text, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>text</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       registry_set_text(key, value)
-
-Set or delete a registry value
-        <programlisting>
-DECLARE
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>text</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Configure ou supprime une valeur du registre.
+  
+  <programlisting>DECLARE
 	p_key		alias for $1;
 	p_value		alias for $2;
 BEGIN
@@ -7609,38 +6092,36 @@
 		end if;
 	end if;
 	return p_value;
-END;
-</programlisting>
-      </para>
-    </section>
+END;</programlisting>
+</para>
 
+</section>
+
 <!-- Function registry_set_timestamp( text, timestamp without time zone ) -->
-    <section id="function.registry-set-timestamp-text-timestamp-without-time-zone"
-             xreflabel="schemadocregistry_set_timestamp( text, timestamp without time zone )">
-      <title id="function.registry-set-timestamp-text-timestamp-without-time-zone-title">
-       registry_set_timestamp( text, timestamp without time zone )
-      </title>
-      <titleabbrev id="function.registry-set-timestamp-text-timestamp-without-time-zone-titleabbrev">
-       registry_set_timestamp( text, timestamp without time zone )
-      </titleabbrev>
+<section id="function.registry-set-timestamp-text-timestamp-without-time-zone"
+  xreflabel="schemadocregistry_set_timestamp( text, timestamp without time zone )">
+<title id="function.registry-set-timestamp-text-timestamp-without-time-zone-title">
+  registry_set_timestamp( text, timestamp without time zone )
+</title>
+<titleabbrev> id="function.registry-set-timestamp-text-timestamp-without-time-zone-titleabbrev">
+  registry_set_timestamp( text, timestamp without time zone )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>timestamp without time zone</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       registry_set_timestamp(key, value)
-
-Set or delete a registry value
-        <programlisting>
-DECLARE
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>timestamp without time zone</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Configure ou supprime une valeur du registre.
+  
+  <programlisting>DECLARE
 	p_key		alias for $1;
 	p_value		alias for $2;
 BEGIN
@@ -7658,98 +6139,37 @@
 		end if;
 	end if;
 	return p_value;
-END;
-</programlisting>
-      </para>
-    </section>
+END;</programlisting>
+</para>
 
-<!-- Function replicate_partition( integer, text, text, text, text ) -->
-    <section id="function.replicate-partition-integer-text-text-text-text"
-             xreflabel="schemadocreplicate_partition( integer, text, text, text, text )">
-      <title id="function.replicate-partition-integer-text-text-text-text-title">
-       replicate_partition( integer, text, text, text, text )
-      </title>
-      <titleabbrev id="function.replicate-partition-integer-text-text-text-text-titleabbrev">
-       replicate_partition( integer, text, text, text, text )
-      </titleabbrev>
+</section>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       Add a partition table to replication.
-tab_idxname is optional - if NULL, then we use the primary key.
-This function looks up replication configuration via the parent table.
-        <programlisting>
-declare
-  p_tab_id alias for $1;
-  p_nspname alias for $2;
-  p_tabname alias for $3;
-  p_idxname alias for $4;
-  p_comment alias for $5;
-
-  prec record;
-  prec2 record;
-  v_set_id int4;
-
-begin
--- Look up the parent table; fail if it does not exist
-   select c1.oid into prec from pg_catalog.pg_class c1, pg_catalog.pg_class c2, pg_catalog.pg_inherits i, pg_catalog.pg_namespace n where c1.oid = i.inhparent  and c2.oid = i.inhrelid and n.oid = c2.relnamespace and n.nspname = p_nspname and c2.relname = p_tabname;
-   if not found then
-	raise exception &#39;replicate_partition: No parent table found for %.%!&#39;, p_nspname, p_tabname;
-   end if;
-
--- The parent table tells us what replication set to use
-   select tab_set into prec2 from sl_table where tab_reloid = prec.oid;
-   if not found then
-	raise exception &#39;replicate_partition: Parent table % for new partition %.% is not replicated!&#39;, prec.oid, p_nspname, p_tabname;
-   end if;
-
-   v_set_id := prec2.tab_set;
-
--- Now, we have all the parameters necessary to run add_empty_table_to_replication...
-   return add_empty_table_to_replication(v_set_id, p_tab_id, p_nspname, p_tabname, p_idxname, p_comment);
-end
-</programlisting>
-      </para>
-    </section>
-
 <!-- Function sequencelastvalue( text ) -->
-    <section id="function.sequencelastvalue-text"
-             xreflabel="schemadocsequencelastvalue( text )">
-      <title id="function.sequencelastvalue-text-title">
-       sequencelastvalue( text )
-      </title>
-      <titleabbrev id="function.sequencelastvalue-text-titleabbrev">
-       sequencelastvalue( text )
-      </titleabbrev>
+<section id="function.sequencelastvalue-text"
+  xreflabel="schemadocsequencelastvalue( text )">
+<title id="function.sequencelastvalue-text-title">
+  sequencelastvalue( text )
+</title>
+<titleabbrev> id="function.sequencelastvalue-text-titleabbrev">
+  sequencelastvalue( text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       sequenceLastValue(p_seqname)
-
-Utility function used in sl_seqlastvalue view to compactly get the
-last value from the requested sequence.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Outil utilisé dans la vue sl_seqlastvalue pour obtenir la dernière valeur
+  de la séquence demandée.
+  
+  <programlisting>declare
 	p_seqname	alias for $1;
 	v_seq_row	record;
 begin
@@ -7759,38 +6179,36 @@
 	end loop;
 
 	-- not reached
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function sequencesetvalue( integer, integer, bigint, bigint ) -->
-    <section id="function.sequencesetvalue-integer-integer-bigint-bigint"
-             xreflabel="schemadocsequencesetvalue( integer, integer, bigint, bigint )">
-      <title id="function.sequencesetvalue-integer-integer-bigint-bigint-title">
-       sequencesetvalue( integer, integer, bigint, bigint )
-      </title>
-      <titleabbrev id="function.sequencesetvalue-integer-integer-bigint-bigint-titleabbrev">
-       sequencesetvalue( integer, integer, bigint, bigint )
-      </titleabbrev>
+<section id="function.sequencesetvalue-integer-integer-bigint-bigint"
+  xreflabel="schemadocsequencesetvalue( integer, integer, bigint, bigint )">
+<title id="function.sequencesetvalue-integer-integer-bigint-bigint-title">
+  sequencesetvalue( integer, integer, bigint, bigint )
+</title>
+<titleabbrev> id="function.sequencesetvalue-integer-integer-bigint-bigint-titleabbrev">
+  sequencesetvalue( integer, integer, bigint, bigint )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       sequenceSetValue (seq_id, seq_origin, ev_seqno, last_value)
-Set sequence seq_id to have new value last_value.
+  Initialise la nouvelle valeur last_value pourla séquence seq_id.
 
-        <programlisting>
-declare
+  <programlisting>declare
 	p_seq_id			alias for $1;
 	p_seq_origin		alias for $2;
 	p_ev_seqno			alias for $3;
@@ -7822,40 +6240,39 @@
 			values (p_seq_id, p_seq_origin, p_ev_seqno, p_last_value);
 
 	return p_seq_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function setaddsequence( integer, integer, text, text ) -->
-    <section id="function.setaddsequence-integer-integer-text-text"
-             xreflabel="schemadocsetaddsequence( integer, integer, text, text )">
-      <title id="function.setaddsequence-integer-integer-text-text-title">
-       setaddsequence( integer, integer, text, text )
-      </title>
-      <titleabbrev id="function.setaddsequence-integer-integer-text-text-titleabbrev">
-       setaddsequence( integer, integer, text, text )
-      </titleabbrev>
+<section id="function.setaddsequence-integer-integer-text-text"
+  xreflabel="schemadocsetaddsequence( integer, integer, text, text )">
+<title id="function.setaddsequence-integer-integer-text-text-title">
+  setaddsequence( integer, integer, text, text )
+</title>
+<titleabbrev> id="function.setaddsequence-integer-integer-text-text-titleabbrev">
+  setaddsequence( integer, integer, text, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       setAddSequence (set_id, seq_id, seq_fqname, seq_comment)
-
-On the origin node for set set_id, add sequence seq_fqname to the
-replication set, and raise SET_ADD_SEQUENCE to cause this to replicate
-to subscriber nodes.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Sur le n&oelig;ud origine pour l'ensemble set_id, ajoute la séquence
+  seq_fqname à l'ensemble de réplication, et ajoute l'événement
+  SET_ADD_SEQUENCE pour répliquer cet événement sur les n&oelig;uds
+  abonnés.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	p_seq_id			alias for $2;
 	p_fqname			alias for $3;
@@ -7894,39 +6311,37 @@
 			p_seq_comment);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;SET_ADD_SEQUENCE&#39;,
 			p_set_id, p_seq_id, p_fqname, p_seq_comment);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function setaddsequence_int( integer, integer, text, text ) -->
-    <section id="function.setaddsequence-int-integer-integer-text-text"
-             xreflabel="schemadocsetaddsequence_int( integer, integer, text, text )">
-      <title id="function.setaddsequence-int-integer-integer-text-text-title">
-       setaddsequence_int( integer, integer, text, text )
-      </title>
-      <titleabbrev id="function.setaddsequence-int-integer-integer-text-text-titleabbrev">
-       setaddsequence_int( integer, integer, text, text )
-      </titleabbrev>
+<section id="function.setaddsequence-int-integer-integer-text-text"
+  xreflabel="schemadocsetaddsequence_int( integer, integer, text, text )">
+<title id="function.setaddsequence-int-integer-integer-text-text-title">
+  setaddsequence_int( integer, integer, text, text )
+</title>
+<titleabbrev> id="function.setaddsequence-int-integer-integer-text-text-titleabbrev">
+  setaddsequence_int( integer, integer, text, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       setAddSequence_int (set_id, seq_id, seq_fqname, seq_comment)
-
-This processes the SET_ADD_SEQUENCE event.  On remote nodes that
-subscribe to set_id, add the sequence to the replication set.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Ceci traite l'événement SET_ADD_SEQUENCE. Sur les n&oelig;uds distants,
+  la fonction ajoute la séquence à l'ensemble de réplication.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	p_seq_id			alias for $2;
 	p_fqname			alias for $3;
@@ -8019,41 +6434,41 @@
 	end if;
 
 	return p_seq_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function setaddtable( integer, integer, text, name, text ) -->
-    <section id="function.setaddtable-integer-integer-text-name-text"
-             xreflabel="schemadocsetaddtable( integer, integer, text, name, text )">
-      <title id="function.setaddtable-integer-integer-text-name-text-title">
-       setaddtable( integer, integer, text, name, text )
-      </title>
-      <titleabbrev id="function.setaddtable-integer-integer-text-name-text-titleabbrev">
-       setaddtable( integer, integer, text, name, text )
-      </titleabbrev>
+<section id="function.setaddtable-integer-integer-text-name-text"
+  xreflabel="schemadocsetaddtable( integer, integer, text, name, text )">
+<title id="function.setaddtable-integer-integer-text-name-text-title">
+  setaddtable( integer, integer, text, name, text )
+</title>
+<titleabbrev> id="function.setaddtable-integer-integer-text-name-text-titleabbrev">
+  setaddtable( integer, integer, text, name, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       setAddTable (set_id, tab_id, tab_fqname, tab_idxname, tab_comment)
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Ajoute la table tab_fqname à l'ensemble de réplication sur le n&oelig;ud
+  origine, et génère l'événement SET_ADD_TABLE pour permettre à ceci de se
+  propager aux autres n&oelig;uds.
 
-Add table tab_fqname to replication set on origin node, and generate
-SET_ADD_TABLE event to allow this to propagate to other nodes.
-
-Note that the table id, tab_id, must be unique ACROSS ALL SETS.
-        <programlisting>
-declare
+  Notez que l'identifiant de la table, tab_id, doit être unique PARMI TOUS
+  LES ENSEMBLES.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	p_tab_id			alias for $2;
 	p_fqname			alias for $3;
@@ -8094,40 +6509,40 @@
 	return  createEvent(&#39;_schemadoc&#39;, &#39;SET_ADD_TABLE&#39;,
 			p_set_id, p_tab_id, p_fqname,
 			p_tab_idxname, p_tab_comment);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function setaddtable_int( integer, integer, text, name, text ) -->
-    <section id="function.setaddtable-int-integer-integer-text-name-text"
-             xreflabel="schemadocsetaddtable_int( integer, integer, text, name, text )">
-      <title id="function.setaddtable-int-integer-integer-text-name-text-title">
-       setaddtable_int( integer, integer, text, name, text )
-      </title>
-      <titleabbrev id="function.setaddtable-int-integer-integer-text-name-text-titleabbrev">
-       setaddtable_int( integer, integer, text, name, text )
-      </titleabbrev>
+<section id="function.setaddtable-int-integer-integer-text-name-text"
+  xreflabel="schemadocsetaddtable_int( integer, integer, text, name, text )">
+<title id="function.setaddtable-int-integer-integer-text-name-text-title">
+  setaddtable_int( integer, integer, text, name, text )
+</title>
+<titleabbrev> id="function.setaddtable-int-integer-integer-text-name-text-titleabbrev">
+  setaddtable_int( integer, integer, text, name, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       setAddTable_int (set_id, tab_id, tab_fqname, tab_idxname, tab_comment)
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  setAddTable_int (set_id, tab_id, tab_fqname, tab_idxname, tab_comment)
 
-This function processes the SET_ADD_TABLE event on remote nodes,
-adding a table to replication if the remote node is subscribing to its
-replication set.
-        <programlisting>
-declare
+  Cette fonction traite l'événement SET_ADD_TABLE sur les n&oelig;uds distants,
+  ajouter une table à la réplication si le n&oelig;ud distant est abonné à
+  l'ensemble de réplication.
+  
+  <programlisting>declare
 
 	p_set_id		alias for $1;
 	p_tab_id		alias for $2;
@@ -8238,40 +6653,38 @@
 	perform alterTableForReplication(p_tab_id);
 
 	return p_tab_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function setdropsequence( integer ) -->
-    <section id="function.setdropsequence-integer"
-             xreflabel="schemadocsetdropsequence( integer )">
-      <title id="function.setdropsequence-integer-title">
-       setdropsequence( integer )
-      </title>
-      <titleabbrev id="function.setdropsequence-integer-titleabbrev">
-       setdropsequence( integer )
-      </titleabbrev>
+<section id="function.setdropsequence-integer"
+  xreflabel="schemadocsetdropsequence( integer )">
+<title id="function.setdropsequence-integer-title">
+  setdropsequence( integer )
+</title>
+<titleabbrev> id="function.setdropsequence-integer-titleabbrev">
+  setdropsequence( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       setDropSequence (seq_id)
-
-On the origin node for the set, drop sequence seq_id from replication
-set, and raise SET_DROP_SEQUENCE to cause this to replicate to
-subscriber nodes.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Sur le n&oelig;ud origine pour l'ensemble, supprime la séquence seq_id de
+  l'ensemble de réplication, puis ajoute l'événement SET_DROP_SEQUENCE pour
+  répliquer cette suppression sur les n&oelig;uds abonnés.
+  
+  <programlisting>declare
 	p_seq_id		alias for $1;
 	v_set_id		int4;
 	v_set_origin		int4;
@@ -8313,40 +6726,38 @@
 	perform setDropSequence_int(p_seq_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;SET_DROP_SEQUENCE&#39;,
 			p_seq_id);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function setdropsequence_int( integer ) -->
-    <section id="function.setdropsequence-int-integer"
-             xreflabel="schemadocsetdropsequence_int( integer )">
-      <title id="function.setdropsequence-int-integer-title">
-       setdropsequence_int( integer )
-      </title>
-      <titleabbrev id="function.setdropsequence-int-integer-titleabbrev">
-       setdropsequence_int( integer )
-      </titleabbrev>
+<section id="function.setdropsequence-int-integer"
+  xreflabel="schemadocsetdropsequence_int( integer )">
+<title id="function.setdropsequence-int-integer-title">
+  setdropsequence_int( integer )
+</title>
+<titleabbrev> id="function.setdropsequence-int-integer-titleabbrev">
+  setdropsequence_int( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       setDropSequence_int (seq_id)
-
-This processes the SET_DROP_SEQUENCE event.  On remote nodes that
-subscribe to the set containing sequence seq_id, drop the sequence
-from the replication set.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Ceci traite l'événement SET_DROP_SEQUENCE. Sur les n&oelig;uds distants
+  qui sont abonnés à l'ensemble contenant la séquence seq_id, supprime la
+  séquence de l'ensemble de réplication.
+  
+  <programlisting>declare
 	p_seq_id		alias for $1;
 	v_set_id		int4;
 	v_local_node_id		int4;
@@ -8402,39 +6813,38 @@
 	delete from sl_sequence where seq_id = p_seq_id;
 
 	return p_seq_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function setdroptable( integer ) -->
-    <section id="function.setdroptable-integer"
-             xreflabel="schemadocsetdroptable( integer )">
-      <title id="function.setdroptable-integer-title">
-       setdroptable( integer )
-      </title>
-      <titleabbrev id="function.setdroptable-integer-titleabbrev">
-       setdroptable( integer )
-      </titleabbrev>
+<section id="function.setdroptable-integer"
+  xreflabel="schemadocsetdroptable( integer )">
+<title id="function.setdroptable-integer-title">
+  setdroptable( integer )
+</title>
+<titleabbrev> id="function.setdroptable-integer-titleabbrev">
+  setdroptable( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       setDropTable (tab_id)
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
 
-Drop table tab_id from set on origin node, and generate SET_DROP_TABLE
-event to allow this to propagate to other nodes.
-        <programlisting>
-declare
+  Supprime la table tab_id de l'ensemble sur le n&oelig;ud origine, et génère
+  un événement SET_DROP_TABLE pour propager cette suppression aux autres
+  n&oelig;uds.
+  
+  <programlisting>declare
 	p_tab_id		alias for $1;
 	v_set_id		int4;
 	v_set_origin		int4;
@@ -8475,40 +6885,38 @@
 	-- ----
 	perform setDropTable_int(p_tab_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;SET_DROP_TABLE&#39;, p_tab_id);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function setdroptable_int( integer ) -->
-    <section id="function.setdroptable-int-integer"
-             xreflabel="schemadocsetdroptable_int( integer )">
-      <title id="function.setdroptable-int-integer-title">
-       setdroptable_int( integer )
-      </title>
-      <titleabbrev id="function.setdroptable-int-integer-titleabbrev">
-       setdroptable_int( integer )
-      </titleabbrev>
+<section id="function.setdroptable-int-integer"
+  xreflabel="schemadocsetdroptable_int( integer )">
+<title id="function.setdroptable-int-integer-title">
+  setdroptable_int( integer )
+</title>
+<titleabbrev> id="function.setdroptable-int-integer-titleabbrev">
+  setdroptable_int( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       setDropTable_int (tab_id)
-
-This function processes the SET_DROP_TABLE event on remote nodes,
-dropping a table from replication if the remote node is subscribing to
-its replication set.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Cette fonction traite l'événement SET_DROP_TABLE sur les n&oelig;uds distants.
+  pour supprimer une table de la réplication si le n&oelig;ud distant est abonné
+  à l'ensemble de réplication de la table.
+  
+  <programlisting>declare
 	p_tab_id		alias for $1;
 	v_set_id		int4;
 	v_local_node_id		int4;
@@ -8563,38 +6971,38 @@
 	perform tableDropKey(p_tab_id);
 	delete from sl_table where tab_id = p_tab_id;
 	return p_tab_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function setmovesequence( integer, integer ) -->
-    <section id="function.setmovesequence-integer-integer"
-             xreflabel="schemadocsetmovesequence( integer, integer )">
-      <title id="function.setmovesequence-integer-integer-title">
-       setmovesequence( integer, integer )
-      </title>
-      <titleabbrev id="function.setmovesequence-integer-integer-titleabbrev">
-       setmovesequence( integer, integer )
-      </titleabbrev>
+<section id="function.setmovesequence-integer-integer"
+  xreflabel="schemadocsetmovesequence( integer, integer )">
+<title id="function.setmovesequence-integer-integer-title">
+  setmovesequence( integer, integer )
+</title>
+<titleabbrev> id="function.setmovesequence-integer-integer-titleabbrev">
+  setmovesequence( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       setMoveSequence(p_seq_id, p_new_set_id) - This generates the
-SET_MOVE_SEQUENCE event, after validation, notably that both sets
-exist, are distinct, and have exactly the same subscription lists
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Ceci génère l'événement SET_MOVE_SEQUENCE, après validation (notamment la
+  configuration que les deux ensembles existent, sont distincts et ont
+  exactement la même liste d'abonnés).
+  
+  <programlisting>declare
 	p_seq_id			alias for $1;
 	p_new_set_id		alias for $2;
 	v_old_set_id		int4;
@@ -8669,38 +7077,37 @@
 	perform setMoveSequence_int(p_seq_id, p_new_set_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;SET_MOVE_SEQUENCE&#39;, 
 			p_seq_id, p_new_set_id);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function setmovesequence_int( integer, integer ) -->
-    <section id="function.setmovesequence-int-integer-integer"
-             xreflabel="schemadocsetmovesequence_int( integer, integer )">
-      <title id="function.setmovesequence-int-integer-integer-title">
-       setmovesequence_int( integer, integer )
-      </title>
-      <titleabbrev id="function.setmovesequence-int-integer-integer-titleabbrev">
-       setmovesequence_int( integer, integer )
-      </titleabbrev>
+<section id="function.setmovesequence-int-integer-integer"
+  xreflabel="schemadocsetmovesequence_int( integer, integer )">
+<title id="function.setmovesequence-int-integer-integer-title">
+  setmovesequence_int( integer, integer )
+</title>
+<titleabbrev> id="function.setmovesequence-int-integer-integer-titleabbrev">
+  setmovesequence_int( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       setMoveSequence_int(p_seq_id, p_new_set_id) - processes the
-SET_MOVE_SEQUENCE event, moving a sequence to another replication
-set.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Traite l'événement SET_MOVE_SEQUENCE, déplaçant une séquence vers un autre
+  ensemble de réplication.
+  
+  <programlisting>declare
 	p_seq_id			alias for $1;
 	p_new_set_id		alias for $2;
 begin
@@ -8717,37 +7124,37 @@
 			where seq_id = p_seq_id;
 
 	return p_seq_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function setmovetable( integer, integer ) -->
-    <section id="function.setmovetable-integer-integer"
-             xreflabel="schemadocsetmovetable( integer, integer )">
-      <title id="function.setmovetable-integer-integer-title">
-       setmovetable( integer, integer )
-      </title>
-      <titleabbrev id="function.setmovetable-integer-integer-titleabbrev">
-       setmovetable( integer, integer )
-      </titleabbrev>
+<section id="function.setmovetable-integer-integer"
+  xreflabel="schemadocsetmovetable( integer, integer )">
+<title id="function.setmovetable-integer-integer-title">
+  setmovetable( integer, integer )
+</title>
+<titleabbrev> id="function.setmovetable-integer-integer-titleabbrev">
+  setmovetable( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       This processes the SET_MOVE_TABLE event.  The table is moved 
-to the destination set.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Cette fonction traite l'événement SET_MOVE_TABLE. La table est déplacée vers
+  l'ensemble de destination.
+  
+  <programlisting>declare
 	p_tab_id			alias for $1;
 	p_new_set_id		alias for $2;
 	v_old_set_id		int4;
@@ -8823,36 +7230,34 @@
 	perform setMoveTable_int(p_tab_id, p_new_set_id);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;SET_MOVE_TABLE&#39;, 
 			p_tab_id, p_new_set_id);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function setmovetable_int( integer, integer ) -->
-    <section id="function.setmovetable-int-integer-integer"
-             xreflabel="schemadocsetmovetable_int( integer, integer )">
-      <title id="function.setmovetable-int-integer-integer-title">
-       setmovetable_int( integer, integer )
-      </title>
-      <titleabbrev id="function.setmovetable-int-integer-integer-titleabbrev">
-       setmovetable_int( integer, integer )
-      </titleabbrev>
+<section id="function.setmovetable-int-integer-integer"
+  xreflabel="schemadocsetmovetable_int( integer, integer )">
+<title id="function.setmovetable-int-integer-integer-title">
+  setmovetable_int( integer, integer )
+</title>
+<titleabbrev> id="function.setmovetable-int-integer-integer-titleabbrev">
+  setmovetable_int( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  <programlisting>declare
 	p_tab_id			alias for $1;
 	p_new_set_id		alias for $2;
 begin
@@ -8869,102 +7274,104 @@
 			where tab_id = p_tab_id;
 
 	return p_tab_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function setsessionrole( name, text ) -->
-    <section id="function.setsessionrole-name-text"
-             xreflabel="schemadocsetsessionrole( name, text )">
-      <title id="function.setsessionrole-name-text-title">
-       setsessionrole( name, text )
-      </title>
-      <titleabbrev id="function.setsessionrole-name-text-titleabbrev">
-       setsessionrole( name, text )
-      </titleabbrev>
+<section id="function.setsessionrole-name-text"
+  xreflabel="schemadocsetsessionrole( name, text )">
+<title id="function.setsessionrole-name-text-title">
+  setsessionrole( name, text )
+</title>
+<titleabbrev> id="function.setsessionrole-name-text-titleabbrev">
+  setsessionrole( name, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>C</seg>
-         <seg>text</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       setSessionRole(username, role) - set role for session.
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>C</seg>
+      <seg>text</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  setSessionRole(username, role) - configure le rôle pour la session.
 
-role can be &quot;normal&quot; or &quot;slon&quot;; setting the latter is necessary, on
-subscriber nodes, in order to override the denyaccess() trigger
-attached to subscribing tables.
-        <programlisting>_Slony_I_setSessionRole</programlisting>
-      </para>
-    </section>
+  Le slon peut être &quot;normal&quot; ou &quot;slon&quot;&nbsp;; configurer
+  ce dernier est nécessaire, sur les n&oelig;uds abonnés, pour surcharger le
+  trigger denyaccess() attaché aux tables souscrites.
+  
+  <programlisting>_Slony_I_setSessionRole</programlisting>
+</para>
 
+</section>
+
 <!-- Function slon_quote_brute( text ) -->
-    <section id="function.slon-quote-brute-text"
-             xreflabel="schemadocslon_quote_brute( text )">
-      <title id="function.slon-quote-brute-text-title">
-       slon_quote_brute( text )
-      </title>
-      <titleabbrev id="function.slon-quote-brute-text-titleabbrev">
-       slon_quote_brute( text )
-      </titleabbrev>
+<section id="function.slon-quote-brute-text"
+  xreflabel="schemadocslon_quote_brute( text )">
+<title id="function.slon-quote-brute-text-title">
+  slon_quote_brute( text )
+</title>
+<titleabbrev> id="function.slon-quote-brute-text-titleabbrev">
+  slon_quote_brute( text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>text</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       Brutally quote the given text
-        <programlisting>
-declare	
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>text</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Met entre guillemets le texte donné.
+  
+  <programlisting>declare	
     p_tab_fqname alias for $1;
     v_fqname text default &#39;&#39;;
 begin
     v_fqname := &#39;&quot;&#39; || replace(p_tab_fqname,&#39;&quot;&#39;,&#39;&quot;&quot;&#39;) || &#39;&quot;&#39;;
     return v_fqname;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function slon_quote_input( text ) -->
-    <section id="function.slon-quote-input-text"
-             xreflabel="schemadocslon_quote_input( text )">
-      <title id="function.slon-quote-input-text-title">
-       slon_quote_input( text )
-      </title>
-      <titleabbrev id="function.slon-quote-input-text-titleabbrev">
-       slon_quote_input( text )
-      </titleabbrev>
+<section id="function.slon-quote-input-text"
+  xreflabel="schemadocslon_quote_input( text )">
+<title id="function.slon-quote-input-text-title">
+  slon_quote_input( text )
+</title>
+<titleabbrev> id="function.slon-quote-input-text-titleabbrev">
+  slon_quote_input( text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>text</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       quote all words that aren&apos;t quoted yet
-        <programlisting>
-  declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>text</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Met entre guillemets tous les mots qui ne le sont pas encore.
+  
+  <programlisting>declare
      p_tab_fqname alias for $1;
      v_nsp_name text;
      v_tab_name text;
@@ -9028,164 +7435,163 @@
 	end if;
 
 end;</programlisting>
-      </para>
-    </section>
+</para>
 
+</section>
+
 <!-- Function slonyversion(  ) -->
-    <section id="function.slonyversion"
-             xreflabel="schemadocslonyversion(  )">
-      <title id="function.slonyversion-title">
-       slonyversion(  )
-      </title>
-      <titleabbrev id="function.slonyversion-titleabbrev">
-       slonyversion(  )
-      </titleabbrev>
+<section id="function.slonyversion"
+  xreflabel="schemadocslonyversion(  )">
+<title id="function.slonyversion-title">
+  slonyversion(  )
+</title>
+<titleabbrev> id="function.slonyversion-titleabbrev">
+  slonyversion(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>text</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       Returns the version number of the slony schema
-        <programlisting>
-begin
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>text</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Renvoie le numéro de version du schéma slony.
+  
+  <programlisting>begin
 	return &#39;&#39;	|| slonyVersionMajor() || &#39;.&#39;
 				|| slonyVersionMinor() || &#39;.&#39;
 				|| slonyVersionPatchlevel();
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function slonyversionmajor(  ) -->
-    <section id="function.slonyversionmajor"
-             xreflabel="schemadocslonyversionmajor(  )">
-      <title id="function.slonyversionmajor-title">
-       slonyversionmajor(  )
-      </title>
-      <titleabbrev id="function.slonyversionmajor-titleabbrev">
-       slonyversionmajor(  )
-      </titleabbrev>
+<section id="function.slonyversionmajor"
+  xreflabel="schemadocslonyversionmajor(  )">
+<title id="function.slonyversionmajor-title">
+  slonyversionmajor(  )
+</title>
+<titleabbrev> id="function.slonyversionmajor-titleabbrev">
+  slonyversionmajor(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       Returns the major version number of the slony schema
-        <programlisting>
-begin
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Renvoie le numéro de version majeure du schéma slony.
+  
+  <programlisting>begin
 	return 1;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function slonyversionminor(  ) -->
-    <section id="function.slonyversionminor"
-             xreflabel="schemadocslonyversionminor(  )">
-      <title id="function.slonyversionminor-title">
-       slonyversionminor(  )
-      </title>
-      <titleabbrev id="function.slonyversionminor-titleabbrev">
-       slonyversionminor(  )
-      </titleabbrev>
+<section id="function.slonyversionminor"
+  xreflabel="schemadocslonyversionminor(  )">
+<title id="function.slonyversionminor-title">
+  slonyversionminor(  )
+</title>
+<titleabbrev> id="function.slonyversionminor-titleabbrev">
+  slonyversionminor(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       Returns the minor version number of the slony schema
-        <programlisting>
-begin
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Renvoie le numéro de version mineure du schéma slony.
+  
+  <programlisting>begin
 	return 2;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function slonyversionpatchlevel(  ) -->
-    <section id="function.slonyversionpatchlevel"
-             xreflabel="schemadocslonyversionpatchlevel(  )">
-      <title id="function.slonyversionpatchlevel-title">
-       slonyversionpatchlevel(  )
-      </title>
-      <titleabbrev id="function.slonyversionpatchlevel-titleabbrev">
-       slonyversionpatchlevel(  )
-      </titleabbrev>
+<section id="function.slonyversionpatchlevel"
+  xreflabel="schemadocslonyversionpatchlevel(  )">
+<title id="function.slonyversionpatchlevel-title">
+  slonyversionpatchlevel(  )
+</title>
+<titleabbrev> id="function.slonyversionpatchlevel-titleabbrev">
+  slonyversionpatchlevel(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       Returns the version patch level of the slony schema
-        <programlisting>
-begin
-	return 12;
-end;
-</programlisting>
-      </para>
-    </section>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Renvoie le niveau correctif du schéma slony.
+  
+  <programlisting>begin
+	return 0;
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function storelisten( integer, integer, integer ) -->
-    <section id="function.storelisten-integer-integer-integer"
-             xreflabel="schemadocstorelisten( integer, integer, integer )">
-      <title id="function.storelisten-integer-integer-integer-title">
-       storelisten( integer, integer, integer )
-      </title>
-      <titleabbrev id="function.storelisten-integer-integer-integer-titleabbrev">
-       storelisten( integer, integer, integer )
-      </titleabbrev>
+<section id="function.storelisten-integer-integer-integer"
+  xreflabel="schemadocstorelisten( integer, integer, integer )">
+<title id="function.storelisten-integer-integer-integer-title">
+  storelisten( integer, integer, integer )
+</title>
+<titleabbrev> id="function.storelisten-integer-integer-integer-titleabbrev">
+  storelisten( integer, integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       FUNCTION storeListen (li_origin, li_provider, li_receiver)
-
-generate STORE_LISTEN event, indicating that receiver node li_receiver
-listens to node li_provider in order to get messages coming from node
-li_origin.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Génère un événement STORE_LISTEN, indiquant que le n&oelig;ud abonné,
+  d'identifiant li_receiver, écoute le n&oelig;ud li_provider pour obtenir
+  les messages provenant du n&oelig;ud li_origin.
+  
+  <programlisting>declare
 	p_origin		alias for $1;
 	p_provider	alias for $2;
 	p_receiver	alias for $3;
@@ -9193,40 +7599,38 @@
 	perform storeListen_int (p_origin, p_provider, p_receiver);
 	return  createEvent (&#39;_schemadoc&#39;, &#39;STORE_LISTEN&#39;,
 			p_origin, p_provider, p_receiver);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function storelisten_int( integer, integer, integer ) -->
-    <section id="function.storelisten-int-integer-integer-integer"
-             xreflabel="schemadocstorelisten_int( integer, integer, integer )">
-      <title id="function.storelisten-int-integer-integer-integer-title">
-       storelisten_int( integer, integer, integer )
-      </title>
-      <titleabbrev id="function.storelisten-int-integer-integer-integer-titleabbrev">
-       storelisten_int( integer, integer, integer )
-      </titleabbrev>
+<section id="function.storelisten-int-integer-integer-integer"
+  xreflabel="schemadocstorelisten_int( integer, integer, integer )">
+<title id="function.storelisten-int-integer-integer-integer-title">
+  storelisten_int( integer, integer, integer )
+</title>
+<titleabbrev> id="function.storelisten-int-integer-integer-integer-titleabbrev">
+  storelisten_int( integer, integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       FUNCTION storeListen_int (li_origin, li_provider, li_receiver)
-
-Process STORE_LISTEN event, indicating that receiver node li_receiver
-listens to node li_provider in order to get messages coming from node
-li_origin.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Traite l'événement STORE_LISTEN, indiquant que le n&oelig;ud récepteur li_receiver
+  écoute le n&oelig;ud li_provider pour obtenir les messages provenant du n&oelig;ud
+  li_origin.
+  
+  <programlisting>declare
 	p_li_origin		alias for $1;
 	p_li_provider	alias for $2;
 	p_li_receiver	alias for $3;
@@ -9267,40 +7671,40 @@
 	end if;
 
 	return 0;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function storenode( integer, text, boolean ) -->
-    <section id="function.storenode-integer-text-boolean"
-             xreflabel="schemadocstorenode( integer, text, boolean )">
-      <title id="function.storenode-integer-text-boolean-title">
-       storenode( integer, text, boolean )
-      </title>
-      <titleabbrev id="function.storenode-integer-text-boolean-titleabbrev">
-       storenode( integer, text, boolean )
-      </titleabbrev>
+<section id="function.storenode-integer-text-boolean"
+  xreflabel="schemadocstorenode( integer, text, boolean )">
+<title id="function.storenode-integer-text-boolean-title">
+  storenode( integer, text, boolean )
+</title>
+<titleabbrev> id="function.storenode-integer-text-boolean-titleabbrev">
+  storenode( integer, text, boolean )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       no_id - Node ID #
-no_comment - Human-oriented comment
-no_spool - Flag for virtual spool nodes
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  no_id - Identifiant du n&oelig;ud
+  no_comment - Commentaire « humain »
+  no_spool - Drapeau pour les n&oelig;uds virtuels de spool
 
-Generate the STORE_NODE event for node no_id
-        <programlisting>
-declare
+  Génère l'événement STORE_NODE pour le n&oelig;ud no_id.
+  
+  <programlisting>declare
 	p_no_id			alias for $1;
 	p_no_comment	alias for $2;
 	p_no_spool		alias for $3;
@@ -9314,40 +7718,40 @@
 	perform storeNode_int (p_no_id, p_no_comment, p_no_spool);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;STORE_NODE&#39;,
 									p_no_id, p_no_comment, v_no_spool_txt);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function storenode_int( integer, text, boolean ) -->
-    <section id="function.storenode-int-integer-text-boolean"
-             xreflabel="schemadocstorenode_int( integer, text, boolean )">
-      <title id="function.storenode-int-integer-text-boolean-title">
-       storenode_int( integer, text, boolean )
-      </title>
-      <titleabbrev id="function.storenode-int-integer-text-boolean-titleabbrev">
-       storenode_int( integer, text, boolean )
-      </titleabbrev>
+<section id="function.storenode-int-integer-text-boolean"
+  xreflabel="schemadocstorenode_int( integer, text, boolean )">
+<title id="function.storenode-int-integer-text-boolean-title">
+  storenode_int( integer, text, boolean )
+</title>
+<titleabbrev> id="function.storenode-int-integer-text-boolean-titleabbrev">
+  storenode_int( integer, text, boolean )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       no_id - Node ID #
-no_comment - Human-oriented comment
-no_spool - Flag for virtual spool nodes
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  no_id - Identifiant du n&oelig;ud
+  no_comment - Commentaire « humain »
+  no_spool - Drapeau pour les n&oelig;uds virtuels de spool
 
-Internal function to process the STORE_NODE event for node no_id
-        <programlisting>
-declare
+  Fonction interne pour traiter l'événement STORE_NODE pour le n&oelig;ud no_id.
+  
+  <programlisting>declare
 	p_no_id			alias for $1;
 	p_no_comment	alias for $2;
 	p_no_spool		alias for $3;
@@ -9383,39 +7787,37 @@
 	end if;
 
 	return p_no_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function storepath( integer, integer, text, integer ) -->
-    <section id="function.storepath-integer-integer-text-integer"
-             xreflabel="schemadocstorepath( integer, integer, text, integer )">
-      <title id="function.storepath-integer-integer-text-integer-title">
-       storepath( integer, integer, text, integer )
-      </title>
-      <titleabbrev id="function.storepath-integer-integer-text-integer-titleabbrev">
-       storepath( integer, integer, text, integer )
-      </titleabbrev>
+<section id="function.storepath-integer-integer-text-integer"
+  xreflabel="schemadocstorepath( integer, integer, text, integer )">
+<title id="function.storepath-integer-integer-text-integer-title">
+  storepath( integer, integer, text, integer )
+</title>
+<titleabbrev> id="function.storepath-integer-integer-text-integer-titleabbrev">
+  storepath( integer, integer, text, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       FUNCTION storePath (pa_server, pa_client, pa_conninfo, pa_connretry)
-
-Generate the STORE_PATH event indicating that node pa_client can
-access node pa_server using DSN pa_conninfo
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Génère l'événement STORE_PATH indiquant que le n&oelig;ud pa_client peut
+  accéder au n&oelig;ud pa_server en utilisant le DSN pa_conninfo.
+  
+  <programlisting>declare
 	p_pa_server		alias for $1;
 	p_pa_client		alias for $2;
 	p_pa_conninfo	alias for $3;
@@ -9425,39 +7827,37 @@
 			p_pa_conninfo, p_pa_connretry);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;STORE_PATH&#39;, 
 			p_pa_server, p_pa_client, p_pa_conninfo, p_pa_connretry);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function storepath_int( integer, integer, text, integer ) -->
-    <section id="function.storepath-int-integer-integer-text-integer"
-             xreflabel="schemadocstorepath_int( integer, integer, text, integer )">
-      <title id="function.storepath-int-integer-integer-text-integer-title">
-       storepath_int( integer, integer, text, integer )
-      </title>
-      <titleabbrev id="function.storepath-int-integer-integer-text-integer-titleabbrev">
-       storepath_int( integer, integer, text, integer )
-      </titleabbrev>
+<section id="function.storepath-int-integer-integer-text-integer"
+  xreflabel="schemadocstorepath_int( integer, integer, text, integer )">
+<title id="function.storepath-int-integer-integer-text-integer-title">
+  storepath_int( integer, integer, text, integer )
+</title>
+<titleabbrev> id="function.storepath-int-integer-integer-text-integer-titleabbrev">
+  storepath_int( integer, integer, text, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       FUNCTION storePath (pa_server, pa_client, pa_conninfo, pa_connretry)
-
-Process the STORE_PATH event indicating that node pa_client can
-access node pa_server using DSN pa_conninfo
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Traite l'événement STORE_PATH indiquant que le n&oelig;ud pa_client peut
+  accéder au n&oelig;ud pa_server en utilisant le DSN pa_conninfo.
+  
+  <programlisting>declare
 	p_pa_server		alias for $1;
 	p_pa_client		alias for $2;
 	p_pa_conninfo	alias for $3;
@@ -9511,36 +7911,37 @@
 	perform RebuildListenEntries();
 
 	return 0;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function storeset( integer, text ) -->
-    <section id="function.storeset-integer-text"
-             xreflabel="schemadocstoreset( integer, text )">
-      <title id="function.storeset-integer-text-title">
-       storeset( integer, text )
-      </title>
-      <titleabbrev id="function.storeset-integer-text-titleabbrev">
-       storeset( integer, text )
-      </titleabbrev>
+<section id="function.storeset-integer-text"
+  xreflabel="schemadocstoreset( integer, text )">
+<title id="function.storeset-integer-text-title">
+  storeset( integer, text )
+</title>
+<titleabbrev> id="function.storeset-integer-text-titleabbrev">
+  storeset( integer, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       Generate STORE_SET event for set set_id with human readable comment set_comment
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Génère un événement STORE_SET pour l'ensemble set_id avec un commentaire
+  set_comment utilisable par un humain.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	p_set_comment		alias for $2;
 	v_local_node_id		int4;
@@ -9558,39 +7959,38 @@
 
 	return createEvent(&#39;_schemadoc&#39;, &#39;STORE_SET&#39;, 
 			p_set_id, v_local_node_id, p_set_comment);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function storeset_int( integer, integer, text ) -->
-    <section id="function.storeset-int-integer-integer-text"
-             xreflabel="schemadocstoreset_int( integer, integer, text )">
-      <title id="function.storeset-int-integer-integer-text-title">
-       storeset_int( integer, integer, text )
-      </title>
-      <titleabbrev id="function.storeset-int-integer-integer-text-titleabbrev">
-       storeset_int( integer, integer, text )
-      </titleabbrev>
+<section id="function.storeset-int-integer-integer-text"
+  xreflabel="schemadocstoreset_int( integer, integer, text )">
+<title id="function.storeset-int-integer-integer-text-title">
+  storeset_int( integer, integer, text )
+</title>
+<titleabbrev> id="function.storeset-int-integer-integer-text-titleabbrev">
+  storeset_int( integer, integer, text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       storeSet_int (set_id, set_origin, set_comment)
-
-Process the STORE_SET event, indicating the new set with given ID,
-origin node, and human readable comment.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Traite l'événement STORE_SET, indiquant que le nouvel ensemble avec
+  l'identifiant donné, le n&oelig;ud origine et un commentaire lisible par un
+  humain.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	p_set_origin		alias for $2;
 	p_set_comment		alias for $3;
@@ -9623,78 +8023,74 @@
 	perform addPartialLogIndices();
 
 	return p_set_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function storetrigger( integer, name ) -->
-    <section id="function.storetrigger-integer-name"
-             xreflabel="schemadocstoretrigger( integer, name )">
-      <title id="function.storetrigger-integer-name-title">
-       storetrigger( integer, name )
-      </title>
-      <titleabbrev id="function.storetrigger-integer-name-titleabbrev">
-       storetrigger( integer, name )
-      </titleabbrev>
+<section id="function.storetrigger-integer-name"
+  xreflabel="schemadocstoretrigger( integer, name )">
+<title id="function.storetrigger-integer-name-title">
+  storetrigger( integer, name )
+</title>
+<titleabbrev> id="function.storetrigger-integer-name-titleabbrev">
+  storetrigger( integer, name )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       storeTrigger (trig_tabid, trig_tgname)
-
-Submits STORE_TRIGGER event to indicate that trigger trig_tgname on
-replicated table trig_tabid will NOT be disabled.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Soumet l'événement STORE_TRIGGER pour indiquer que le trigger trig_tgname sur
+  la table trig_tabid répliquée ne sera PAS désactivée.
+  
+  <programlisting>declare
 	p_trig_tabid		alias for $1;
 	p_trig_tgname		alias for $2;
 begin
 	perform storeTrigger_int(p_trig_tabid, p_trig_tgname);
 	return  createEvent(&#39;_schemadoc&#39;, &#39;STORE_TRIGGER&#39;,
 			p_trig_tabid, p_trig_tgname);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function storetrigger_int( integer, name ) -->
-    <section id="function.storetrigger-int-integer-name"
-             xreflabel="schemadocstoretrigger_int( integer, name )">
-      <title id="function.storetrigger-int-integer-name-title">
-       storetrigger_int( integer, name )
-      </title>
-      <titleabbrev id="function.storetrigger-int-integer-name-titleabbrev">
-       storetrigger_int( integer, name )
-      </titleabbrev>
+<section id="function.storetrigger-int-integer-name"
+  xreflabel="schemadocstoretrigger_int( integer, name )">
+<title id="function.storetrigger-int-integer-name-title">
+  storetrigger_int( integer, name )
+</title>
+<titleabbrev> id="function.storetrigger-int-integer-name-titleabbrev">
+  storetrigger_int( integer, name )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       storeTrigger_int (trig_tabid, trig_tgname)
-
-Processes STORE_TRIGGER event to make sure that trigger trig_tgname on
-replicated table trig_tabid is NOT disabled.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Traite l'événement STORE_TRIGGER pour s'assurer que le trigger trig_tgname
+  sur la table trig_tabid répliquée n'est PAS désactivé.
+  
+  <programlisting>declare
 	p_trig_tabid		alias for $1;
 	p_trig_tgname		alias for $2;
 	v_tab_altered		boolean;
@@ -9744,39 +8140,37 @@
 	end if;
 
 	return p_trig_tabid;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function subscribeset( integer, integer, integer, boolean ) -->
-    <section id="function.subscribeset-integer-integer-integer-boolean"
-             xreflabel="schemadocsubscribeset( integer, integer, integer, boolean )">
-      <title id="function.subscribeset-integer-integer-integer-boolean-title">
-       subscribeset( integer, integer, integer, boolean )
-      </title>
-      <titleabbrev id="function.subscribeset-integer-integer-integer-boolean-titleabbrev">
-       subscribeset( integer, integer, integer, boolean )
-      </titleabbrev>
+<section id="function.subscribeset-integer-integer-integer-boolean"
+  xreflabel="schemadocsubscribeset( integer, integer, integer, boolean )">
+<title id="function.subscribeset-integer-integer-integer-boolean-title">
+  subscribeset( integer, integer, integer, boolean )
+</title>
+<titleabbrev> id="function.subscribeset-integer-integer-integer-boolean-titleabbrev">
+  subscribeset( integer, integer, integer, boolean )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       subscribeSet (sub_set, sub_provider, sub_receiver, sub_forward)
-
-Makes sure that the receiver is not the provider, then stores the
-subscription, and publishes the SUBSCRIBE_SET event to other nodes.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  S'assure que le n&oelig;ud récepteur n'est pas le fournisseur, puis enregistre
+  l'abonnement et publie l'événement SUBSCRIBE_SET vers les autres n&oelig;uds.
+  
+  <programlisting>declare
 	p_sub_set			alias for $1;
 	p_sub_provider		alias for $2;
 	p_sub_receiver		alias for $3;
@@ -9842,39 +8236,37 @@
 			p_sub_receiver, p_sub_forward);
 
 	return v_ev_seqno;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function subscribeset_int( integer, integer, integer, boolean ) -->
-    <section id="function.subscribeset-int-integer-integer-integer-boolean"
-             xreflabel="schemadocsubscribeset_int( integer, integer, integer, boolean )">
-      <title id="function.subscribeset-int-integer-integer-integer-boolean-title">
-       subscribeset_int( integer, integer, integer, boolean )
-      </title>
-      <titleabbrev id="function.subscribeset-int-integer-integer-integer-boolean-titleabbrev">
-       subscribeset_int( integer, integer, integer, boolean )
-      </titleabbrev>
+<section id="function.subscribeset-int-integer-integer-integer-boolean"
+  xreflabel="schemadocsubscribeset_int( integer, integer, integer, boolean )">
+<title id="function.subscribeset-int-integer-integer-integer-boolean-title">
+  subscribeset_int( integer, integer, integer, boolean )
+</title>
+<titleabbrev> id="function.subscribeset-int-integer-integer-integer-boolean-titleabbrev">
+  subscribeset_int( integer, integer, integer, boolean )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       subscribeSet_int (sub_set, sub_provider, sub_receiver, sub_forward)
-
-Internal actions for subscribing receiver sub_receiver to subscription
-set sub_set.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Actions internes pour abonner le récepteur sub_receiver à l'ensemble
+  sub_set.
+  
+  <programlisting>declare
 	p_sub_set			alias for $1;
 	p_sub_provider		alias for $2;
 	p_sub_receiver		alias for $3;
@@ -9961,38 +8353,38 @@
 	perform RebuildListenEntries();
 
 	return p_sub_set;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function tableaddkey( text ) -->
-    <section id="function.tableaddkey-text"
-             xreflabel="schemadoctableaddkey( text )">
-      <title id="function.tableaddkey-text-title">
-       tableaddkey( text )
-      </title>
-      <titleabbrev id="function.tableaddkey-text-titleabbrev">
-       tableaddkey( text )
-      </titleabbrev>
+<section id="function.tableaddkey-text"
+  xreflabel="schemadoctableaddkey( text )">
+<title id="function.tableaddkey-text-title">
+  tableaddkey( text )
+</title>
+<titleabbrev> id="function.tableaddkey-text-titleabbrev">
+  tableaddkey( text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>text</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       tableAddKey (tab_fqname) - if the table has not got a column of the
-form _Slony-I_&lt;clustername&gt;_rowID, then add it as a bigint, defaulted
-to nextval() for a sequence created for the cluster.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>text</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Si la table n'a pas obtenu une colonne de la forme
+  _Slony-I_&lt;clustername&gt;_rowID, alors l'ajoute avec le type bigint et
+  comme valeur par défaut le nextval() d'une séquence créée pour le cluster.
+  
+  <programlisting>declare
 	p_tab_fqname	alias for $1;
 	v_tab_fqname_quoted	text default &#39;&#39;;
 	v_attkind		text default &#39;&#39;;
@@ -10056,39 +8448,37 @@
 	-- Return the resulting Slony-I attkind
 	--
 	return v_attkind;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function tabledropkey( integer ) -->
-    <section id="function.tabledropkey-integer"
-             xreflabel="schemadoctabledropkey( integer )">
-      <title id="function.tabledropkey-integer-title">
-       tabledropkey( integer )
-      </title>
-      <titleabbrev id="function.tabledropkey-integer-titleabbrev">
-       tabledropkey( integer )
-      </titleabbrev>
+<section id="function.tabledropkey-integer"
+  xreflabel="schemadoctabledropkey( integer )">
+<title id="function.tabledropkey-integer-title">
+  tabledropkey( integer )
+</title>
+<titleabbrev> id="function.tabledropkey-integer-titleabbrev">
+  tabledropkey( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       tableDropKey (tab_id)
-
-If the specified table has a column &quot;_Slony-I_&lt;clustername&gt;_rowID&quot;,
-then drop it.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Si la table spécifiée a une colone &quot;_Slony-I_&lt;clustername&gt;_rowID&quot;, la
+  supprime.
+  
+  <programlisting>declare
 	p_tab_id		alias for $1;
 	v_tab_fqname	text;
 	v_tab_oid		oid;
@@ -10128,39 +8518,37 @@
 	end if;
 
 	return p_tab_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function tablehasserialkey( text ) -->
-    <section id="function.tablehasserialkey-text"
-             xreflabel="schemadoctablehasserialkey( text )">
-      <title id="function.tablehasserialkey-text-title">
-       tablehasserialkey( text )
-      </title>
-      <titleabbrev id="function.tablehasserialkey-text-titleabbrev">
-       tablehasserialkey( text )
-      </titleabbrev>
+<section id="function.tablehasserialkey-text"
+  xreflabel="schemadoctablehasserialkey( text )">
+<title id="function.tablehasserialkey-text-title">
+  tablehasserialkey( text )
+</title>
+<titleabbrev> id="function.tablehasserialkey-text-titleabbrev">
+  tablehasserialkey( text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>boolean</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       tableHasSerialKey (tab_fqname)
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>boolean</seg>
+    </seglistitem>
+  </segmentedlist>
 
-Checks if a table has our special serial key column that is used if
-the table has no natural unique constraint.
-        <programlisting>
-declare
+  Vérifie que la table a notre colonne spéciale (de type serial) qui est
+  utilisée si la table n'a pas de constrainte unique naturelle.
+  
+  <programlisting>declare
 	p_tab_fqname	alias for $1;
 	v_tab_fqname_quoted	text default &#39;&#39;;
 	v_attnum		int2;
@@ -10177,36 +8565,37 @@
 				and PGA.attname = &#39;_Slony-I_schemadoc_rowID&#39;
 				and not PGA.attisdropped;
 	return found;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function terminatenodeconnections( integer ) -->
-    <section id="function.terminatenodeconnections-integer"
-             xreflabel="schemadocterminatenodeconnections( integer )">
-      <title id="function.terminatenodeconnections-integer-title">
-       terminatenodeconnections( integer )
-      </title>
-      <titleabbrev id="function.terminatenodeconnections-integer-titleabbrev">
-       terminatenodeconnections( integer )
-      </titleabbrev>
+<section id="function.terminatenodeconnections-integer"
+  xreflabel="schemadocterminatenodeconnections( integer )">
+<title id="function.terminatenodeconnections-integer-title">
+  terminatenodeconnections( integer )
+</title>
+<titleabbrev> id="function.terminatenodeconnections-integer-titleabbrev">
+  terminatenodeconnections( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       terminates all backends that have registered to be from the given node
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Termine tous les processus serveur qui se sont enregistrés pour le n&oelig;ud
+  donné.
+  
+  <programlisting>declare
 	p_failed_node	alias for $1;
 	v_row			record;
 begin
@@ -10221,37 +8610,37 @@
 	end loop;
 
 	return 0;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function uninstallnode(  ) -->
-    <section id="function.uninstallnode"
-             xreflabel="schemadocuninstallnode(  )">
-      <title id="function.uninstallnode-title">
-       uninstallnode(  )
-      </title>
-      <titleabbrev id="function.uninstallnode-titleabbrev">
-       uninstallnode(  )
-      </titleabbrev>
+<section id="function.uninstallnode"
+  xreflabel="schemadocuninstallnode(  )">
+<title id="function.uninstallnode-title">
+  uninstallnode(  )
+</title>
+<titleabbrev> id="function.uninstallnode-titleabbrev">
+  uninstallnode(  )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       Reset the whole database to standalone by removing the whole
-replication system.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Réinitialise la base de données complète en supprimant tout le système de
+  réplication.
+  
+  <programlisting>declare
 	v_tab_row		record;
 begin
 	-- ----
@@ -10270,36 +8659,37 @@
 
 	raise notice &#39;Slony-I: Please drop schema &quot;_schemadoc&quot;&#39;;
 	return 0;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function unlockset( integer ) -->
-    <section id="function.unlockset-integer"
-             xreflabel="schemadocunlockset( integer )">
-      <title id="function.unlockset-integer-title">
-       unlockset( integer )
-      </title>
-      <titleabbrev id="function.unlockset-integer-titleabbrev">
-       unlockset( integer )
-      </titleabbrev>
+<section id="function.unlockset-integer"
+  xreflabel="schemadocunlockset( integer )">
+<title id="function.unlockset-integer-title">
+  unlockset( integer )
+</title>
+<titleabbrev> id="function.unlockset-integer-titleabbrev">
+  unlockset( integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       Remove the special trigger from all tables of a set that disables access to it.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Supprime le trigger spécial pour toutes les tables d'un ensemble dont l'accès
+  était verrouillé.
+  
+  <programlisting>declare
 	p_set_id			alias for $1;
 	v_local_node_id		int4;
 	v_set_row			record;
@@ -10354,43 +8744,42 @@
 			where set_id = p_set_id;
 
 	return p_set_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function unsubscribeset( integer, integer ) -->
-    <section id="function.unsubscribeset-integer-integer"
-             xreflabel="schemadocunsubscribeset( integer, integer )">
-      <title id="function.unsubscribeset-integer-integer-title">
-       unsubscribeset( integer, integer )
-      </title>
-      <titleabbrev id="function.unsubscribeset-integer-integer-titleabbrev">
-       unsubscribeset( integer, integer )
-      </titleabbrev>
+<section id="function.unsubscribeset-integer-integer"
+  xreflabel="schemadocunsubscribeset( integer, integer )">
+<title id="function.unsubscribeset-integer-integer-title">
+  unsubscribeset( integer, integer )
+</title>
+<titleabbrev> id="function.unsubscribeset-integer-integer-titleabbrev">
+  unsubscribeset( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>bigint</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       unsubscribeSet (sub_set, sub_receiver) 
-
-Unsubscribe node sub_receiver from subscription set sub_set.  This is
-invoked on the receiver node.  It verifies that this does not break
-any chains (e.g. - where sub_receiver is a provider for another node),
-then restores tables, drops Slony-specific keys, drops table entries
-for the set, drops the subscription, and generates an UNSUBSCRIBE_SET
-node to publish that the node is being dropped.
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>bigint</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Désabonne le n&oelig;ud sub_receiver de l'ensemble sub_set. Cette fonction
+  est appelée sur le n&oelig;ud abonné. Elle vérifie que cela ne casse pas
+  les chaînes (c'est-à-dire où sub_receiver est un fournisseur pour d'autres
+  n&oelig;uds), puis restaure les tables, supprime les clés spécifiques de
+  Slony, supprime les entrées de table pour l'ensemble, supprime l'abonnement
+  et génère un événement UNSUBSCRIBE_SET pour publier la suppression du
+  n&oelig;ud.
+  
+  <programlisting>declare
 	p_sub_set			alias for $1;
 	p_sub_receiver		alias for $2;
 	v_tab_row			record;
@@ -10461,40 +8850,38 @@
 	-- ----
 	return  createEvent(&#39;_schemadoc&#39;, &#39;UNSUBSCRIBE_SET&#39;, 
 			p_sub_set, p_sub_receiver);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function unsubscribeset_int( integer, integer ) -->
-    <section id="function.unsubscribeset-int-integer-integer"
-             xreflabel="schemadocunsubscribeset_int( integer, integer )">
-      <title id="function.unsubscribeset-int-integer-integer-title">
-       unsubscribeset_int( integer, integer )
-      </title>
-      <titleabbrev id="function.unsubscribeset-int-integer-integer-titleabbrev">
-       unsubscribeset_int( integer, integer )
-      </titleabbrev>
+<section id="function.unsubscribeset-int-integer-integer"
+  xreflabel="schemadocunsubscribeset_int( integer, integer )">
+<title id="function.unsubscribeset-int-integer-integer-title">
+  unsubscribeset_int( integer, integer )
+</title>
+<titleabbrev> id="function.unsubscribeset-int-integer-integer-titleabbrev">
+  unsubscribeset_int( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
  
-       unsubscribeSet_int (sub_set, sub_receiver)
-
-All the REAL work of removing the subscriber is done before the event
-is generated, so this function just has to drop the references to the
-subscription in sl_subscribe.
-        <programlisting>
-declare
+  Tout le VRAI travail de suppression de l'abonné est fait avant la génération
+  de l'événement pour que cette fonction ait seulement à supprimer les
+  référence à l'abonnement dans sl_subscribe.
+  
+  <programlisting>declare
 	p_sub_set			alias for $1;
 	p_sub_receiver		alias for $2;
 begin
@@ -10515,36 +8902,34 @@
 	perform RebuildListenEntries();
 
 	return p_sub_set;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function updaterelname( integer, integer ) -->
-    <section id="function.updaterelname-integer-integer"
-             xreflabel="schemadocupdaterelname( integer, integer )">
-      <title id="function.updaterelname-integer-integer-title">
-       updaterelname( integer, integer )
-      </title>
-      <titleabbrev id="function.updaterelname-integer-integer-titleabbrev">
-       updaterelname( integer, integer )
-      </titleabbrev>
+<section id="function.updaterelname-integer-integer"
+  xreflabel="schemadocupdaterelname( integer, integer )">
+<title id="function.updaterelname-integer-integer-title">
+  updaterelname( integer, integer )
+</title>
+<titleabbrev> id="function.updaterelname-integer-integer-titleabbrev">
+  updaterelname( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       updateRelname(set_id, only_on_node)
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  <programlisting>declare
         p_set_id                alias for $1;
         p_only_on_node          alias for $2;
         v_no_id                 int4;
@@ -10593,39 +8978,37 @@
                 where sl_sequence.seq_reloid = PGC.oid
                 and PGC.relnamespace = PGN.oid;
         return p_set_id;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function updatereloid( integer, integer ) -->
-    <section id="function.updatereloid-integer-integer"
-             xreflabel="schemadocupdatereloid( integer, integer )">
-      <title id="function.updatereloid-integer-integer-title">
-       updatereloid( integer, integer )
-      </title>
-      <titleabbrev id="function.updatereloid-integer-integer-titleabbrev">
-       updatereloid( integer, integer )
-      </titleabbrev>
+<section id="function.updatereloid-integer-integer"
+  xreflabel="schemadocupdatereloid( integer, integer )">
+<title id="function.updatereloid-integer-integer-title">
+  updatereloid( integer, integer )
+</title>
+<titleabbrev> id="function.updatereloid-integer-integer-titleabbrev">
+  updatereloid( integer, integer )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>integer</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       updateReloid(set_id, only_on_node)
-
-Updates the respective reloids in sl_table and sl_seqeunce based on
-their respective FQN
-        <programlisting>
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>integer</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Met à jour les reloids respectifs dans in sl_table et sl_seqeunce en se basant
+  sur leur nom complètement qualifié.
+  
+  <programlisting>declare
         p_set_id                alias for $1;
         p_only_on_node          alias for $2;
         v_no_id                 int4;
@@ -10679,37 +9062,37 @@
 
         return  createEvent(&#39;_schemadoc&#39;, &#39;RESET_CONFIG&#39;,
                         p_set_id, p_only_on_node);
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
+</section>
+
 <!-- Function upgradeschema( text ) -->
-    <section id="function.upgradeschema-text"
-             xreflabel="schemadocupgradeschema( text )">
-      <title id="function.upgradeschema-text-title">
-       upgradeschema( text )
-      </title>
-      <titleabbrev id="function.upgradeschema-text-titleabbrev">
-       upgradeschema( text )
-      </titleabbrev>
+<section id="function.upgradeschema-text"
+  xreflabel="schemadocupgradeschema( text )">
+<title id="function.upgradeschema-text-title">
+  upgradeschema( text )
+</title>
+<titleabbrev> id="function.upgradeschema-text-titleabbrev">
+  upgradeschema( text )
+</titleabbrev>
 
-      <para>
-       <segmentedlist>
-        <title>Function Properties</title>
-        <?dbhtml list-presentation="list"?>
-        <segtitle>Language</segtitle>
-        <segtitle>Return Type</segtitle>
-        <seglistitem>
-         <seg>PLPGSQL</seg>
-         <seg>text</seg>
-        </seglistitem>
-       </segmentedlist>
- 
-       Called during &quot;update functions&quot; by slonik to perform schema changes
-        <programlisting>
-
-declare
+<para>
+  <segmentedlist>
+    <title>Propriétés de la fonction</title>
+    <?dbhtml list-presentation="list"?>
+    <segtitle>Langage</segtitle>
+    <segtitle>Type du retour/segtitle>
+    <seglistitem>
+      <seg>PLPGSQL</seg>
+      <seg>text</seg>
+    </seglistitem>
+  </segmentedlist>
+  
+  Appelé lors des &quot;fonctions de mise à jour&quot; par slonik pour réaliser
+  les modifications de schéma.
+  
+  <programlisting>declare
         p_old   alias for $1;
 begin
 	-- upgrade sl_table
@@ -10807,12 +9190,9 @@
 	end if;
 
 	return p_old;
-end;
-</programlisting>
-      </para>
-    </section>
+end;</programlisting>
+</para>
 
-  </chapter>
+</section>
 
-
-
+</chapter>



More information about the Trad mailing list