diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml
index ffaaa2004acedc37799dc6522255f1873f763315..f1f5b1caa3b5856160dc3f8ad9dd0bde6aa8feb0 100644
--- a/doc/src/sgml/protocol.sgml
+++ b/doc/src/sgml/protocol.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/protocol.sgml,v 1.35 2003/05/06 21:51:41 tgl Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/protocol.sgml,v 1.36 2003/05/06 23:10:04 tgl Exp $ -->
 
 <chapter id="protocol">
  <title>Frontend/Backend Protocol</title>
@@ -160,10 +160,11 @@
     (but note that these exist only within a session, and are never shared
     across sessions).  Existing prepared statements and portals are
     referenced by names assigned when they were created.  In addition,
-    an <quote>unnamed</> prepared statement and portal exist, for use with
-    queries that are to be executed and forgotten.  This is slightly
-    more efficient than using named objects, since the backend knows that
-    it need not save the object's state for re-use.
+    an <quote>unnamed</> prepared statement and portal exist.  Although these
+    behave largely the same as named objects, operations on them are optimized
+    for the case of executing a query only once and then discarding it,
+    whereas operations on named objects are optimized on the expectation
+    of multiple uses.
    </para>
   </sect2>
  </sect1>
@@ -869,7 +870,8 @@
     zero or more CopyData messages (always one per row), followed by CopyDone.
     The backend then reverts to the command-processing mode it was
     in before the <command>COPY</> started, and sends CommandComplete.
-    The frontend cannot abort the transfer (short of closing the connection),
+    The frontend cannot abort the transfer (except by closing the connection
+    or issuing a Cancel request),
     but it can discard unwanted CopyData and CopyDone messages.
    </para>
 
@@ -2013,9 +2015,10 @@ CommandComplete (B)
         <literal>INSERT <replaceable>oid</replaceable>
         <replaceable>rows</replaceable></literal>, where
         <replaceable>rows</replaceable> is the number of rows
-        inserted, and <replaceable>oid</replaceable> is the object ID
-        of the inserted row if <Replaceable>rows</Replaceable> is 1,
-        otherwise <Replaceable>oid</Replaceable> is 0.
+        inserted. <replaceable>oid</replaceable> is the object ID
+        of the inserted row if <Replaceable>rows</Replaceable> is 1
+	and the target table has OIDs;
+	otherwise <Replaceable>oid</Replaceable> is 0.
        </Para>
 
        <Para>