This patch makes the following changes to the documentation:
authorBruce Momjian
Wed, 19 Feb 2003 04:06:28 +0000 (04:06 +0000)
committerBruce Momjian
Wed, 19 Feb 2003 04:06:28 +0000 (04:06 +0000)
- more work from the SGML police

- some grammar improvements: rewriting a paragraph or two, replacing
contractions where (IMHO) appropriate

- fix missing utility commands in lock mode docs

- improve CLUSTER, REINDEX, SET SESSION AUTHORIZATION ref pages

Neil Conway

20 files changed:
doc/src/sgml/advanced.sgml
doc/src/sgml/arch-dev.sgml
doc/src/sgml/datatype.sgml
doc/src/sgml/ddl.sgml
doc/src/sgml/docguide.sgml
doc/src/sgml/mvcc.sgml
doc/src/sgml/page.sgml
doc/src/sgml/plpgsql.sgml
doc/src/sgml/ref/alter_table.sgml
doc/src/sgml/ref/cluster.sgml
doc/src/sgml/ref/clusterdb.sgml
doc/src/sgml/ref/reindex.sgml
doc/src/sgml/ref/set_session_auth.sgml
doc/src/sgml/ref/vacuum.sgml
doc/src/sgml/runtime.sgml
doc/src/sgml/sql.sgml
doc/src/sgml/start.sgml
doc/src/sgml/typeconv.sgml
doc/src/sgml/xfunc.sgml
src/backend/catalog/index.c

index cc5d8cd52dfe1e96001c8fbf361c1ab021d5fc1d..b7cc0595e3bba33af54d6433a71101092775ab64 100644 (file)
@@ -1,5 +1,5 @@
 
 
  
@@ -41,7 +41,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/advanced.sgml,v 1.31 2002/11/11 20:14:02 pe
    
     Refer back to the queries in .
     Suppose the combined listing of weather records and city location
-    is of particular interest to your application, but you don't want
+    is of particular interest to your application, but you do not want
     to type the query each time you need it.  You can create a
     view over the query, which gives a name to
     the query that you can refer to like an ordinary table.
@@ -232,7 +232,7 @@ COMMIT;
    
 
    
-    If, partway through the transaction, we decide we don't want to
+    If, partway through the transaction, we decide we do not want to
     commit (perhaps we just noticed that Alice's balance went negative),
     we can issue the command ROLLBACK instead of
     COMMIT, and all our updates so far will be canceled.
@@ -240,7 +240,7 @@ COMMIT;
 
    
     PostgreSQL actually treats every SQL statement as being
-    executed within a transaction.  If you don't issue a BEGIN
+    executed within a transaction.  If you do not issue a BEGIN
     command, 
     then each individual statement has an implicit BEGIN and
     (if successful) COMMIT wrapped around it.  A group of
index 05dba36ff91d47e9f45c1a2fc310730716da41e7..d9619643e947cf914e44cec9c269a4fbfbd06220 100644 (file)
@@ -1,5 +1,5 @@
 
 
  
@@ -17,15 +17,15 @@ $Header: /cvsroot/pgsql/doc/src/sgml/arch-dev.sgml,v 2.17 2003/01/19 00:13:28 mo
 
   
    This chapter gives an overview of the internal structure of the
-   backend of PostgreSQL.
-   After having read the following sections you
-   should have an idea of how a query is processed. Don't expect a
-   detailed description here (I think such a description dealing with
-   all data structures and functions used within PostgreSQL
-   would exceed 1000
-   pages!). This chapter is intended to help understanding the general
-   control and data flow within the backend from receiving a query to
-   sending the results.
+   backend of PostgreSQL.  After having
+   read the following sections you should have an idea of how a query
+   is processed. This chapter does not aim to provide a detailed
+   description of the internal operation of
+   PostgreSQL, as such a document would be
+   very extensive. Rather, this chapter is intended to help the reader
+   understand the general sequence of operations that occur within the
+   backend from the point at which a query is received, to the point
+   when the results are returned to the client.
   
 
   
@@ -118,23 +118,25 @@ $Header: /cvsroot/pgsql/doc/src/sgml/arch-dev.sgml,v 2.17 2003/01/19 00:13:28 mo
    How Connections are Established
 
    
-    PostgreSQL is implemented using a simple "process per-user"
-    client/server model.  In this model there is one client process
-    connected to exactly one server process.
-    As we don't know per se 
-    how many connections will be made, we have to use a master process
-    that spawns a new server process every time a connection is
-    requested. This master process is called postmaster and 
-    listens at a specified TCP/IP port for incoming connections. Whenever
-    a request for a connection is detected the postmaster process
-    spawns a new server process called postgres. The server
-    tasks (postgres processes) communicate with each other using
-    semaphores and shared memory
-    to ensure data integrity
-    throughout concurrent data access. Figure
-    \ref{connection} illustrates the interaction of the master process 
-    postmaster the server process postgres and a client
-    application. 
+    PostgreSQL is implemented using a
+    simple "process per-user" client/server model.  In this model
+    there is one client process connected to
+    exactly one server process.  As we do not
+    know ahead of time how many connections will be made, we have to
+    use a master process that spawns a new
+    server process every time a connection is requested. This master
+    process is called postmaster and listens at a
+    specified TCP/IP port for incoming connections. Whenever a request
+    for a connection is detected the postmaster
+    process spawns a new server process called
+    postgres. The server tasks
+    (postgres processes) communicate with each
+    other using semaphores and
+    shared memory to ensure data integrity
+    throughout concurrent data access. Figure \ref{connection}
+    illustrates the interaction of the master process
+    postmaster the server process
+    postgres and a client application.
    
 
    
@@ -686,7 +688,7 @@ current context are performed.
      for the varno fields in the
      VAR nodes appearing in the mergeclauses list (and also in the
      targetlist) mean that not the tuples of the current node should be
-     considered but the tuples of the next "deeper" nodes (i.e. the top
+     considered but the tuples of the next deeper nodes (i.e. the top
      nodes of the subplans) should be used instead.
     
 
index 093ce275af45e062c7766676dd836bdb51b11d8d..c7ee2aedd3254275f7153eac9ab0cb90a8054823 100644 (file)
@@ -1,5 +1,5 @@
 
 
  
@@ -895,7 +895,7 @@ CREATE TABLE tablename (
     actual string, and in case of character plus the
     padding. Long strings are compressed by the system automatically, so
     the physical requirement on disk may be less. Long values are also
-    stored in background tables so they don't interfere with rapid
+    stored in background tables so they do not interfere with rapid
     access to the shorter column values. In any case, the longest
     possible character string that can be stored is about 1 GB. (The
     maximum value that will be allowed for n in the data
index 01ea0488df38a5f274e22fb90d48b2df66495e15..666e6433ef6d5a36a791ece53c56744e98fba6cd 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
 
  Data Definition
@@ -115,8 +115,8 @@ CREATE TABLE products (
   
 
   
-   If you don't need a table anymore, you can remove it using the
-   <literal>DROP TABLE> command.  For example:
+   If you no longer need a table, you can remove it using the
+   <command>DROP TABLE> command.  For example:
 
 DROP TABLE my_first_table;
 DROP TABLE products;
@@ -718,7 +718,7 @@ CREATE TABLE order_items (
 
    
     We know that the foreign keys disallow creation of orders that
-    don't relate to any products.  But what if a product is removed
+    do not relate to any products.  But what if a product is removed
     after an order is created that references it?  SQL allows you to
     specify that as well.  Intuitively, we have a few options:
     
@@ -759,7 +759,7 @@ CREATE TABLE order_items (
    
     Restricting and cascading deletes are the two most common options.
     RESTRICT can also be written as NO
-    ACTION and it's also the default if you don't specify
+    ACTION and it's also the default if you do not specify
     anything.  There are two other options for what should happen with
     the foreign key columns when a primary key is deleted:
     SET NULL and SET DEFAULT.
@@ -1602,7 +1602,7 @@ REVOKE CREATE ON public FROM PUBLIC;
    
     In the SQL standard, the notion of objects in the same schema
     being owned by different users does not exist.  Moreover, some
-    implementations don't allow you to create schemas that have a
+    implementations do not allow you to create schemas that have a
     different name than their owner.  In fact, the concepts of schema
     and user are nearly equivalent in a database system that
     implements only the basic schema support specified in the
@@ -1686,7 +1686,7 @@ NOTICE:  constraint $1 on table orders depends on table products
 ERROR:  Cannot drop table products because other objects depend on it
         Use DROP ... CASCADE to drop the dependent objects too
 
-   The error message contains a useful hint: If you don't want to
+   The error message contains a useful hint: if you do not want to
    bother deleting all the dependent objects individually, you can run
 
 DROP TABLE products CASCADE;
index 10c0463844fff7c66b4c78b5a256ad6b562094ad..e52653ed146ed64abeb9bd724587a08036d97e5f 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
 
  Documentation
@@ -1327,7 +1327,7 @@ End:
       
        
         If the program uses 0 for success and non-zero for failure,
-        then you don't need to document it.  If there is a meaning
+        then you do not need to document it.  If there is a meaning
         behind the different non-zero exit codes, list them here.
        
       
index ef7278b1c6a22695b101954368b596ec058aa954..d8d16eae5da207b3c1231e2a038df1910ba94c19 100644 (file)
@@ -1,5 +1,5 @@
 
 
  
@@ -38,9 +38,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/mvcc.sgml,v 2.32 2003/01/11 00:00:02 petere
    
 
    
-    The main difference between multiversion and lock models is that
-    in MVCC locks acquired for querying (reading)
-    data don't conflict with locks acquired for writing data, and so
+    The main advantage to using the MVCC model of
+    concurrency control rather than locking is that in
+    MVCC locks acquired for querying (reading) data
+    do not conflict with locks acquired for writing data, and so
     reading never blocks writing and writing never blocks reading.
    
 
@@ -437,10 +438,10 @@ ERROR:  Can't serialize access due to concurrent update
    
 
    
-    The SELECT command acquires a
-    lock of this mode on referenced tables.  In general, any query
-    that only reads a table and does not modify it will acquire
-    this lock mode.
+    The commands SELECT and
+    ANALYZE acquire a lock of this mode on
+    referenced tables.  In general, any query that only reads a table
+    and does not modify it will acquire this lock mode.
    
        
       
@@ -586,9 +587,10 @@ ERROR:  Can't serialize access due to concurrent update
 
    
     Acquired by the ALTER TABLEDROP
-    TABLE, and VACUUM FULL commands.
-    This is also the default lock mode for LOCK TABLE
-         statements that do not specify a mode explicitly.
+    TABLE, REINDEX,
+    CLUSTER, and VACUUM FULL
+    commands.  This is also the default lock mode for LOCK
+    TABLE statements that do not specify a mode explicitly.
    
        
       
@@ -612,7 +614,7 @@ ERROR:  Can't serialize access due to concurrent update
      A row-level lock on a specific row is automatically acquired when the
      row is updated (or deleted or marked for update).  The lock is held
      until the transaction commits or rolls back.
-     Row-level locks don't affect data
+     Row-level locks do not affect data
      querying; they block writers to the same row
      only.  To acquire a row-level lock on a row without actually
      modifying the row, select the row with SELECT FOR
@@ -726,7 +728,7 @@ UPDATE accounts SET balance = balance - 100.00 WHERE acctnum = 22222;
 
    
     Because readers in PostgreSQL
-    don't lock data, regardless of
+    do not lock data, regardless of
     transaction isolation level, data read by one transaction can be
     overwritten by another concurrent transaction. In other words,
     if a row is returned by SELECT it doesn't mean that
index d7096a4bbe13c2b14582325c36de2efaddf49e5e..1c501e3d00ef3217e3d9cf8264f28da6448260bc 100644 (file)
@@ -196,9 +196,10 @@ data. Empty in ordinary tables.
  
  
  
-  The final section is the "special section" which may contain anything the
-  access method wishes to store. Ordinary tables do not use this at all
-  (indicated by setting pd_special to equal the pagesize).
+  The final section is the special section which may
+  contain anything the access method wishes to store. Ordinary tables
+  do not use this at all (indicated by setting
+  pd_special to equal the pagesize).
   
  
  
index 999b9805a2ede97e6ef5f7343f31183f0eea2744..dc394ffa4f50eca7409b797bc480cce171362c5f 100644 (file)
@@ -1,5 +1,5 @@
 
 
  
@@ -578,7 +578,7 @@ user_id   users.user_id%TYPE;
         
 
         
-         By using %TYPE you don't need to know
+         By using %TYPE you do not need to know
          the data type of the structure you are referencing,
          and most important, if the data type of the
          referenced item changes in the future (e.g: you
@@ -1649,7 +1649,7 @@ END LOOP;
     up a cursor that encapsulates the query, and then read
     the query result a few rows at a time. One reason for doing this is
     to avoid memory overrun when the result contains a large number of
-    rows. (However, PL/pgSQL users don't normally need
+    rows. (However, PL/pgSQL users do not normally need
     to worry about that, since FOR loops automatically use a cursor
     internally to avoid memory problems.) A more interesting usage is to
     return a reference to a cursor that it has created, allowing the
index 5499cd158cc8ed75cac65b0d701063dd0ca2c3c0..2b0844560136afc0dedefc64c4c03f62ecf3e104 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -367,7 +367,7 @@ ALTER TABLE table
     default and NOT NULL clauses for the new column are not supported.
     The new column always comes into being with all values NULL.
     You can use the SET DEFAULT form
-    of ALTER TABLE to set the default afterwards.
+    of ALTER TABLE to set the default afterward.
     (You may also want to update the already existing rows to the
     new default value, using
     .)
@@ -392,19 +392,21 @@ VACUUM FULL table;
    
 
    
-    If a table has any descendant tables, it is not permitted to ADD or
-    RENAME a column in the parent table without doing the same to the
-    descendants --- that is, ALTER TABLE ONLY will be rejected.  This
-    ensures that the descendants always have columns matching the parent.
+    If a table has any descendant tables, it is not permitted to ADD
+    or RENAME a column in the parent table without doing the same to
+    the descendants --- that is, ALTER TABLE ONLY
+    will be rejected.  This ensures that the descendants always have
+    columns matching the parent.
    
 
    
-    A recursive DROP COLUMN operation will remove a descendant table's column
-    only if the descendant does not inherit that column from any other
-    parents and never had an independent definition of the column.
-    A nonrecursive DROP COLUMN (i.e., ALTER TABLE ONLY ... DROP COLUMN)
-    never removes any descendant columns, but instead marks them as
-    independently defined rather than inherited.
+    A recursive DROP COLUMN operation will remove a
+    descendant table's column only if the descendant does not inherit
+    that column from any other parents and never had an independent
+    definition of the column.  A nonrecursive DROP
+    COLUMN (i.e., ALTER TABLE ONLY ... DROP
+    COLUMN) never removes any descendant columns, but
+    instead marks them as independently defined rather than inherited.
    
 
    
index 95daa8bf176797fd11b616aaceaf3e9847c3adee..1c3874c8d1a35401f0f6c1a52f537cec6b58bd5c 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -117,11 +117,19 @@ CLUSTER
    CLUSTER without any parameter re-clusters all the tables
    in the
    current database that the calling user owns, or all tables if called
-   by a superuser.  (Never-clustered tables are not touched.)  This
+   by a superuser.  (Never-clustered tables are not included.)  This
    form of CLUSTER cannot be called from inside a
    transaction or function.
   
 
+  
+   When a table is being clustered, an ACCESS
+   EXCLUSIVE lock is acquired on it. This prevents any other
+   database operations (both reads and writes) from preceding on the
+   table until the CLUSTER is finished. See the
+   &cite-user; for more information on database locking.
+  
+
   
    
     1998-09-08
@@ -159,8 +167,9 @@ CLUSTER
    
 
    
-    CLUSTER preserves GRANT, inheritance, index, foreign
-    key, and other ancillary information about the table.
+    CLUSTER preserves GRANT,
+    inheritance, index, foreign key, and other ancillary information
+    about the table.
    
 
    
@@ -212,13 +221,15 @@ SELECT columnlist INTO TABLE 
    Usage
   
   
-   Cluster the employees relation on the basis of its ID attribute:
+   Cluster the employees relation on the basis of
+   its ID attribute:
   
   
 CLUSTER emp_ind ON emp;
   
   
-   Cluster the employees relation using the same index that was used before:
+   Cluster the employees relation using the same
+   index that was used before:
   
   
 CLUSTER emp;
@@ -248,6 +259,14 @@ CLUSTER;
    
   
  
+
+  See Also
+
+  
+   
+  
 
 
 
 
@@ -37,7 +37,7 @@ PostgreSQL documentation
    in a PostgreSQL database.  It finds tables
    that have previously been clustered, and clusters them again on the same
    index that was last used.  Tables that have never been clustered are not
-   touched.
+   affected.
   
 
   
index 08666b2f02a2cd8644856fcf7f24775d7cdc28ed..e146fe53928b27ccf31eaa72c87d30a9377a8c03 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -38,8 +38,9 @@ REINDEX { DATABASE | TABLE | INDEX } name
       DATABASE
       
        
-   Recreate all system indexes of a specified database.
-   (User-table indexes are not included.)
+   Recreate all system indexes of a specified database. Indexes on
+   user tables are not included. This form of REINDEX can
+   only be used in standalone mode (see below).
        
       
      
@@ -116,16 +117,35 @@ REINDEX
    Description
   
   
-   REINDEX is used to rebuild corrupted indexes.
-   Although in theory this should never be necessary, in practice
-   indexes may become corrupted due to software bugs or hardware
-   failures.  REINDEX provides a recovery method.
-  
+   REINDEX rebuilds an index based on the data
+   stored in the table, replacing the old copy of the index. There are
+   two main reasons to use REINDEX:
 
-  
-   REINDEX also removes certain dead index pages that
-   can't be reclaimed any other way. See the "Routine Reindexing"
-   section in the manual for more information.
+   
+    
+     
+      An index has become corrupted, and no longer contains valid
+      data. Although in theory this should never be necessary, in
+      practice indexes may become corrupted due to software bugs or
+      hardware failures.  REINDEX provides a
+      recovery method.
+     
+    
+
+    
+     
+      The index in question contains a lot of dead index pages that
+      are not being reclaimed. This can occur with B+-tree indexes
+      under certain access patterns. REINDEX
+      provides a way to reduce the space consumption of the index by
+      writing a new version of the index without the dead pages. See
+      the Routine Reindexing section in the
+      &cite-admin; for more information. The rest of this section
+      mostly discusses how to use REINDEX to
+      recover from index corruption.
+     
+    
+   
   
 
   
index eb9d760f10e1554f7efa317133ab45c95884aae0..88d5578498c9a309e5e8b8dfbe349f2500376e00 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
  
   2001-04-21
@@ -16,7 +16,7 @@
 
  
 
-SET [ SESSION | LOCAL ] SESSION AUTHORIZATION <parameter>username>
+SET [ SESSION | LOCAL ] SESSION AUTHORIZATION <replaceable class="PARAMETER">username>
 SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT
 RESET SESSION AUTHORIZATION
 
@@ -27,12 +27,12 @@ RESET SESSION AUTHORIZATION
 
   
    This command sets the session user identifier and the current user
-   identifier of the current SQL-session context to be
-   username.  The user name may be written as
-   either an identifier or a string literal.
-   The session user identifier is valid for the duration of a
-   connection; for example, it is possible to temporarily become an
-   unprivileged user and later switch back to become a superuser.
+   identifier of the current SQL-session context to be 
+   class="PARAMETER">username.  The user name may be
+   written as either an identifier or a string literal.  The session
+   user identifier is valid for the duration of a connection; for
+   example, it is possible to temporarily become an unprivileged user
+   and later switch back to become a superuser.
   
 
   
@@ -68,19 +68,21 @@ RESET SESSION AUTHORIZATION
  
   Examples
 
-
-SELECT SESSION_USER, CURRENT_USER;
- current_user | session_user
+
+SELECT SESSION_USER, CURRENT_USER;
+
+ session_user | current_user 
 --------------+--------------
  peter        | peter
 
-SET SESSION AUTHORIZATION 'paul';
+SET SESSION AUTHORIZATION 'paul';
+
+SELECT SESSION_USER, CURRENT_USER;
 
-SELECT SESSION_USER, CURRENT_USER;
- current_user | session_user
+ session_user | current_user 
 --------------+--------------
  paul         | paul
-screen>
+programlisting>
  
 
  
index 07dbbaed2a7838569b51e6fca02a9c9f8656197d..b8ab33cbe4a4eada9ecb357d96048d0d9d4b833e 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -286,6 +286,14 @@ VACUUM
    
   
  
+
+  See Also
+
+  
+   
+  
 
 
 
 
 
@@ -122,7 +122,7 @@ postgres$ initdb -D /usr/local/pgsql/data
   
    However, while the directory contents are secure, the default
    client authentication setup allows any local user to connect to the
-   database and even become the database superuser. If you don't trust
+   database and even become the database superuser. If you do not trust
    other local users, we recommend you use initdb's
     or  option to assign a
    password to the database superuser. After initdb,
@@ -365,7 +365,7 @@ FATAL 1:  ShmemCreate: cannot create region
      probably means your kernel's limit on the size of shared memory is
      smaller than the buffer area PostgreSQL
      is trying to create (83918612 bytes in this example). Or it could
-     mean that you don't have System-V-style shared memory support
+     mean that you do not have System-V-style shared memory support
      configured into your kernel at all. As a temporary workaround, you
      can try starting the postmaster with a smaller-than-normal number
      of buffers ( switch). You will eventually want
@@ -2937,7 +2937,7 @@ default:\
     On the other side of the coin, some systems allow individual
     processes to open large numbers of files; if more than a few
     processes do so then the system-wide limit can easily be exceeded.
-    If you find this happening, and don't want to alter the system-wide
+    If you find this happening, and you do not want to alter the system-wide
     limit, you can set PostgreSQL's
     max_files_per_process configuration parameter to
     limit the consumption of open files.
index 423f5155d2433207383e69cc4ea547a47faf41c5..9e788ff0616f69926282366040d9717682d533e5 100644 (file)
@@ -1,5 +1,5 @@
 
 
  
@@ -24,7 +24,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/sql.sgml,v 1.28 2003/01/15 18:01:05 momjian
   
    SQL has become the most popular relational query 
    language.
-   The name "SQL" is an abbreviation for
+   The name SQL is an abbreviation for
    Structured Query Language
    In 1974 Donald Chamberlin and others defined the
    language SEQUEL (Structured English Query
@@ -72,10 +72,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/sql.sgml,v 1.28 2003/01/15 18:01:05 momjian
    (ISO).
    This original standard version of SQL is often
    referred to,
-   informally, as "SQL/86". In 1989 the original
+   informally, as SQL/86. In 1989 the original
    standard was extended
    and this new standard is often, again informally, referred to as
-   "SQL/89". Also in 1989, a related standard called
+   SQL/89. Also in 1989, a related standard called
    Database Language Embedded SQL
    (ESQL) was developed.
   
@@ -86,11 +86,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/sql.sgml,v 1.28 2003/01/15 18:01:05 momjian
    definition of a greatly expanded version of the original standard,
    referred to informally as SQL2
    or SQL/92. This version became a
-   ratified standard - "International Standard ISO/IEC 9075:1992,
-   Database Language SQL" - in late 1992.
+   ratified standard - International Standard ISO/IEC 9075:1992,
+   Database Language SQL - in late 1992.
    SQL/92 is the version
-   normally meant when people refer to "the SQL
-   standard". A detailed
+   normally meant when people refer to the SQL
+   standard. A detailed
    description of SQL/92 is given in 
    . At the time of
    writing this document a new standard informally referred to
@@ -768,8 +768,8 @@ x(A) ∣ F(x)
      can be formulated using relational algebra can also be formulated 
      using the relational calculus and vice versa.
      This was first proved by E. F. Codd in
-     1972. This proof is based on an algorithm ("Codd's reduction
-     algorithm") by which an arbitrary expression of the relational
+     1972. This proof is based on an algorithm (Codd's reduction
+     algorithm) by which an arbitrary expression of the relational
      calculus can be reduced to a semantically equivalent expression of
      relational algebra. For a more detailed discussion on that refer to
      
@@ -778,11 +778,12 @@ x(A) ∣ F(x)
     
 
     
-     It is sometimes said that languages based on the relational calculus
-     are "higher level" or "more declarative" than languages based on
-     relational algebra because the algebra (partially) specifies the order
-     of operations while the calculus leaves it to a compiler or
-     interpreter to determine the most efficient order of evaluation.
+     It is sometimes said that languages based on the relational
+     calculus are higher level or more
+     declarative than languages based on relational algebra
+     because the algebra (partially) specifies the order of operations
+     while the calculus leaves it to a compiler or interpreter to
+     determine the most efficient order of evaluation.
     
    
   
@@ -870,9 +871,10 @@ SELECT [ ALL | DISTINCT [ ON ( expression
     
 
     
-     Now we will illustrate the complex syntax of the SELECT statement
-     with various examples. The tables used for the examples are defined in
-     .
+     Now we will illustrate the complex syntax of the
+     SELECT statement with various examples. The
+     tables used for the examples are defined in 
+     linkend="supplier-fig" endterm="supplier-fig">.
     
 
     
@@ -903,7 +905,7 @@ SELECT * FROM PART
        
 
        
-   Using "*" in the SELECT statement will deliver all attributes from
+   Using * in the SELECT statement will deliver all attributes from
    the table. If we want to retrieve only the attributes PNAME and PRICE
    from table PART we use the statement:
 
@@ -922,9 +924,10 @@ SELECT PNAME, PRICE
                       Cam    |   25
    
 
-   Note that the SQL SELECT corresponds to the 
-   "projection" in relational algebra not to the "selection"
-   (see  for more details).
+   Note that the SQL SELECT corresponds to the
+   projection in relational algebra not to the
+   selection (see 
+   endterm="rel-alg"> for more details).
        
 
        
index 5fff93e7d04ab428cf23bb5fdbadd7813d3ab4f9..89abd3cf85446ca4cc9f7ace8b26ac5fad68f97a 100644 (file)
@@ -1,5 +1,5 @@
 
 
  
@@ -242,7 +242,7 @@ createdb: database creation failed
    
 
    
-    If you don't want to use your database anymore you can remove it.
+    If you do not want to use your database anymore you can remove it.
     For example, if you are the owner (creator) of the database
     mydb, you can destroy it using the following
     command:
index e0a330daeffdbd7a8cc0366776eb2695ebf24838..931b389cbddad16ad4e3ea8c38e18ec04890af2a 100644 (file)
@@ -305,7 +305,7 @@ If only one candidate remains, use it; else continue to the next step.
 
 If any input arguments are unknown, check the type
 categories accepted at those argument positions by the remaining
-candidates.  At each position, select the "string" category if any
+candidates.  At each position, select the string category if any
 candidate accepts that category (this bias towards string is appropriate
 since an unknown-type literal does look like a string). Otherwise, if
 all the remaining candidates accept the same type category, select that
index 62b7564f0fb5738aa6d8829715449290c45f452c..0ae9531f56a57e98f450d885d8a479e11e471939 100644 (file)
@@ -1,5 +1,5 @@
 
 
  
@@ -606,7 +606,7 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision
     The newer version 1 calling convention is indicated by writing
     a PG_FUNCTION_INFO_V1() macro call for the function,
     as illustrated below.  Lack of such a macro indicates an old-style
-    ("version 0") function.  The language name specified in CREATE FUNCTION
+    (version 0) function.  The language name specified in CREATE FUNCTION
     is C in either case.  Old-style functions are now deprecated
     because of portability problems and lack of functionality, but they
     are still supported for compatibility reasons.
@@ -1380,7 +1380,7 @@ concat_text(PG_FUNCTION_ARGS)
     zero, and a negative length requests that the remainder of the
     value be returned. These routines provide more efficient access to
     parts of large values in the case where they have storage type
-    "external". (The storage type of a column can be specified using
+    external. (The storage type of a column can be specified using
     ALTER TABLE tablename ALTER
     COLUMN colname SET STORAGE
     storagetype. Storage type is one of
@@ -1583,7 +1583,7 @@ TupleTableSlot *TupleDescGetSlot(TupleDesc tupdesc)
 HeapTuple BuildTupleFromCStrings(AttInMetadata *attinmeta, char **values)
 
      can be used to build a HeapTuple given user data
-     in C string form.  "values" is an array of C strings, one for
+     in C string form.  values is an array of C strings, one for
      each attribute of the return tuple. Each C string should be in
      the form expected by the input function of the attribute data
      type. In order to return a null value for one of the attributes,
index 5ccb70aee758b8071c48e6631116d2e580b1e9d6..3533b24ca781ad4ff4d5dd345cbfd8c8fa09ebd2 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.208 2002/12/15 16:17:38 tgl Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.209 2003/02/19 04:06:28 momjian Exp $
  *
  *
  * INTERFACE ROUTINES
@@ -1894,8 +1894,8 @@ reindex_relation(Oid relid, bool force)
 
    /*
     * Ensure to hold an exclusive lock throughout the transaction. The
-    * lock could be less intensive (in the non-overwrite path) but now
-    * it's AccessExclusiveLock for simplicity.
+    * lock could be less intensive (in the non-overwrite path) but for
+    * now it's AccessExclusiveLock for simplicity.
     */
    rel = heap_open(relid, AccessExclusiveLock);