diff --git a/doc/src/sgml/advanced.sgml b/doc/src/sgml/advanced.sgml
index becc8720bca0fe29ca6bf75255a8ab215dd2242a..6980dc47752fa4d7c30533066b5810526b69ea71 100644
--- a/doc/src/sgml/advanced.sgml
+++ b/doc/src/sgml/advanced.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/advanced.sgml,v 1.40 2004/03/30 22:08:50 momjian Exp $
+$PostgreSQL: pgsql/doc/src/sgml/advanced.sgml,v 1.41 2004/03/31 16:20:53 momjian Exp $
 -->
 
  <chapter id="tutorial-advanced">
@@ -65,25 +65,11 @@ SELECT * FROM myview;
 
    <para>
     Views can be used in almost any place a real table can be used.
-    Building views upon other views is not uncommon.  You may cut down
-    on the difficulty of building complex queries by constructing them
-    in smaller, easier-to-verify pieces, using views.  Views may be
-    used to reveal specific table columns to users that legitimately
-    need access to some of the data, but who shouldn't be able to look
-    at the whole table.
+    Building views upon other views is not uncommon.
    </para>
-
-   <para>
-    Views differ from <quote> real tables </quote> in that they are
-    not, by default, updatable.  If they join together several tables,
-    it may be troublesome to update certain columns since the
-    <emphasis>real</emphasis> update that must take place requires
-    identifying the relevant rows in the source tables.  This is
-    discussed further in <xref linkend="rules-views-update">.
-    </para>
-
   </sect1>
 
+
   <sect1 id="tutorial-fk">
    <title>Foreign Keys</title>
 
@@ -401,169 +387,6 @@ SELECT name, altitude
    </para>
   </sect1>
 
-  <sect1 id="tutorial-storedprocs">
-   <title> Stored Procedures </title>
-
-   <indexterm zone="tutorial-storedprocs"> 
-     <primary>stored procedures</primary>
-   </indexterm>
-
-   <para> Stored procedures are code that runs inside the database
-   system.  Numerous languages may be used to implement functions and
-   procedures; most built-in code is implemented in C.  The
-   <quote>basic</quote> loadable procedural language for
-   <productname>PostgreSQL</productname> is <xref linkend="plpgsql">.
-   Numerous other languages may also be used, including <xref
-   linkend="plperl">, <xref linkend="pltcl">, and <xref
-   linkend="plpython">.
-   </para>
-  
-   <para> There are several ways that stored procedures are really
-   helpful:
-
-   <itemizedlist>
-
-   <listitem><para> To centralize data validation code into the
-   database </para>
-
-   <para> Your system may use client software written in several
-   languages, perhaps with a <quote>web application</quote>
-   implemented in PHP, a <quote>server application</quote> implemented
-   in Java, and a <quote> report writer</quote> implemented in Perl.
-   In the absence of stored procedures, you will likely find that data
-   validation code must be implemented multiple times, in multiple
-   languages, once for each application.</para>
-
-   <para> By implementing data validation in stored procedures,
-   running in the database, it can behave uniformly for all these
-   systems, and you do not need to worry about synchronizing
-   validation procedures across the languages.</para>
-
-   </listitem>
-
-   <listitem><para> Reducing round trips between client and server
-   </para>
-
-   <para>A stored procedure may submit multiple queries, looking up
-   information and adding in links to additional tables.  This takes
-   place without requiring that the client submit multiple queries,
-   and without requiring any added network traffic.
-   </para>
-
-   <para> As a matter of course, the queries share a single
-   transaction context, and there may also be savings in the
-   evaluation of query plans, that will be similar between invocations
-   of a given stored procedure.  </para></listitem>
-
-   <listitem><para> To simplify queries. </para>
-
-   <para> For instance, if you are commonly checking the TLD on domain
-   names, you might create a stored procedure for this purpose, and so
-   be able to use queries such as <command> select domain, tld(domain)
-   from domains; </command> instead of having to put verbose code
-   using <function>substr()</function> into each query.
-   </para>
-
-   <para> It is particularly convenient to use scripting languages
-   like Perl, Tcl, and Python to <quote>grovel through strings</quote>
-   since they are designed for <quote>text processing.</quote></para>
-
-   <para> The binding to the R statistical language allows
-   implementing complex statistical queries inside the database,
-   instead of having to draw the data out.
-   </listitem>
-
-   <listitem><para> Increasing the level of abstraction</para>
-
-   <para> If data is accessed exclusively through stored procedures,
-   then the structures of tables may be changed without there needing
-   to be any visible change in the API used by programmers.  In some
-   systems, users are <emphasis>only</emphasis> allowed access to
-   stored procedures to update data, and cannot do direct updates to
-   tables.
-   </para>
-
-   </listitem>
-
-   </itemizedlist>
-   </para>
-
-   <para> These benefits build on one another: careful use of stored
-   procedures can simultaneously improve reliability and performance,
-   whilst simplifying database access code and improving portability
-   across client platforms and languages.  For instance, consider that
-   a stored procedure can cheaply query tables in the database to
-   validate the correctness of data provided as input. </para>
-
-   <para> Instead of requiring a whole series of queries to create an
-   object, and to look up parent/subsidiary objects to link it to, a
-   stored procedure can do all of this efficiently in the database
-   server, improving performance, and eliminating whole classes of
-   errors. </para>
-   
-  </sect1>
-
-  <sect1 id="tutorial-triggers">
-   <title> Triggers </title>
-
-   <indexterm zone="tutorial-triggers"> 
-     <primary>triggers</primary>
-   </indexterm>
-
-   <para> Triggers allow running a function either before or after
-   update (<command>INSERT</command>, <command>DELETE</command>,
-   <command>UPDATE</command>) operations, which can allow you to do
-   some very clever things. </para>
-
-   <itemizedlist>
-
-   <listitem><para> Data Validation  </para>
-
-   <para> Instead of explicitly coding validation checks as part of a
-   stored procedure, they may be introduced as <command>BEFORE</command>
-   triggers.  The trigger function checks the input values, raising an
-   exception if it finds invalid input.</para>
-
-   <para> Note that this is how foreign key checks are implemented in
-   <productname>PostgreSQL</productname>; when you define a foreign
-   key, you will see a message similar to the following:
-<screen>
-NOTICE:  CREATE TABLE will create implicit trigger(s) for FOREIGN KEY check(s)
-</screen></para>
-
-   <para> In some cases, it may be appropriate for a trigger function
-   to insert data in order to <emphasis>make</emphasis> the input valid.  For
-   instance, if a newly created object needs a status code in a status
-   table, the trigger might automatically do that.</para>
-   </listitem>
-
-   <listitem><para> Audit logs </para> 
-
-   <para> One may use <command>AFTER</command> triggers to monitor updates to
-   vital tables, and <command>INSERT</command> entries into log tables to
-   provide a more permanent record of those updates.  </para>
-   </listitem>
-
-   <listitem><para> Replication </para> 
-
-   <para> The <application>RServ</application> replication system uses
-   <command>AFTER</command> triggers to track which rows have changed on the
-   <quote>master</quote> system and therefore need to be copied over to
-   <quote>slave</quote> systems.</para>
-
-   <para> <command> 
-     CREATE TRIGGER "_rserv_trigger_t_" AFTER INSERT OR DELETE OR UPDATE ON "my_table"  
-        FOR EACH ROW EXECUTE PROCEDURE "_rserv_log_" ('10');
-   </command></para>
-   </listitem>
-
-   </itemizedlist>
-
-   <para> Notice that there are strong parallels between what can be
-   accomplished using triggers and stored procedures, particularly in
-   regards to data validation.  </para>
-   
-  </sect1>
 
   <sect1 id="tutorial-conclusion">
    <title>Conclusion</title>
diff --git a/doc/src/sgml/datetime.sgml b/doc/src/sgml/datetime.sgml
index 026fb5d553f62a32dd8d18d6990827dca34d941c..dd5d371e19d4d1b91664736cf8ccc95273d01397 100644
--- a/doc/src/sgml/datetime.sgml
+++ b/doc/src/sgml/datetime.sgml
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/datetime.sgml,v 2.40 2004/03/30 21:58:20 momjian Exp $
+$PostgreSQL: pgsql/doc/src/sgml/datetime.sgml,v 2.41 2004/03/31 16:20:53 momjian Exp $
 -->
 
  <appendix id="datetime-appendix">
@@ -11,8 +11,8 @@ $PostgreSQL: pgsql/doc/src/sgml/datetime.sgml,v 2.40 2004/03/30 21:58:20 momjian
    strings, and are broken up into distinct fields with a preliminary
    determination of what kind of information may be in the
    field. Each field is interpreted and either assigned a numeric
-   value, ignored, or rejected.</para>
-   <para> The parser contains internal lookup tables for all textual fields,
+   value, ignored, or rejected.
+   The parser contains internal lookup tables for all textual fields,
    including months, days of the week, and time
    zones.
   </para>
@@ -1056,21 +1056,21 @@ $PostgreSQL: pgsql/doc/src/sgml/datetime.sgml,v 2.40 2004/03/30 21:58:20 momjian
    years.
   </para>
 
-  <para> The papal bull of February 1582 decreed that 10 days should
-  be dropped from October 1582 so that 15 October should follow
-  immediately after 4 October.</para>
-  
-  <para> This was observed in Italy, Poland, Portugal, and Spain.
-  Other Catholic countries followed shortly after, but Protestant
-  countries were reluctant to change, and the Greek orthodox countries
-  didn't change until the start of the 20th century.</para>
+  <para>
+   The papal bull of February 1582 decreed that 10 days should be dropped
+   from October 1582 so that 15 October should follow immediately after
+   4 October.
+   This was observed in Italy, Poland, Portugal, and Spain. Other Catholic
+   countries followed shortly after, but Protestant countries were
+   reluctant to change, and the Greek orthodox countries didn't change
+   until the start of the 20th century.
 
-  <para> The reform was observed by Great Britain and Dominions
-  (including what is now the USA) in 1752.  Thus 2 September 1752 was
-  followed by 14 September 1752.</para>
+   The reform was observed by Great Britain and Dominions (including what is
+   now the USA) in 1752.
+   Thus 2 September 1752 was followed by 14 September 1752.
 
-   <para> This is why Unix systems have the <command>cal</command>
-   program produce the following:
+   This is why Unix systems have the <command>cal</command> program
+   produce the following:
 
 <screen>
 $ <userinput>cal 9 1752</userinput>
@@ -1094,24 +1094,19 @@ $ <userinput>cal 9 1752</userinput>
     </para>
    </note>
 
-  <para> Different calendars have been developed in various parts of
-  the world, many predating the Gregorian system.</para>
+  <para>
+   Different calendars have been developed in various parts of the
+   world, many predating the Gregorian system.
 
-  <para> For example, the beginnings of the Chinese calendar can be
-  traced back to the 14th century BC. Legend has it that the Emperor
-  Huangdi invented the calendar in 2637 BC.</para>
+   For example,
+   the beginnings of the Chinese calendar can be traced back to the 14th
+   century BC. Legend has it that the Emperor Huangdi invented the
+   calendar in 2637 BC.
    
-  <para> The People's Republic of China uses the Gregorian calendar
-  for civil purposes. The Chinese calendar is used for determining
-  festivals.
+   The People's Republic of China uses the Gregorian calendar
+   for civil purposes. The Chinese calendar is used for determining
+   festivals.
   </para>
-
-  <para> If you are interested in this sort of thing, <citation>
-  Calendrical Calculations: The Millennium Edition </citation> by by
-  Edward M. Reingold and Nachum Dershowitz is an excellent reference,
-  describing some 25 calendars, and providing software for displaying
-  them and converting between them.</para>
-
  </sect1>
 </appendix>