Subject: pgsql: Proofreading adjustments for first two parts of documentation

From: [email-masked] (Bruce Momjian)
Date: Mon, 27 Apr 2009 16:27:36 +0000 (UTC)

Log Message:
-----------
Proofreading adjustments for first two parts of documentation (Tutorial
and SQL).

Modified Files:
--------------
    pgsql/doc/src/sgml:
        advanced.sgml (r1.57 -> r1.58)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/advanced.sgml?r1=1.57&r2=1.58)
        arch-dev.sgml (r2.31 -> r2.32)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/arch-dev.sgml?r1=2.31&r2=2.32)
        array.sgml (r1.68 -> r1.69)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/array.sgml?r1=1.68&r2=1.69)
        backup.sgml (r2.124 -> r2.125)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/backup.sgml?r1=2.124&r2=2.125)
        config.sgml (r1.215 -> r1.216)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/config.sgml?r1=1.215&r2=1.216)
        contrib.sgml (r1.12 -> r1.13)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/contrib.sgml?r1=1.12&r2=1.13)
        datatype.sgml (r1.236 -> r1.237)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/datatype.sgml?r1=1.236&r2=1.237)
        ddl.sgml (r1.85 -> r1.86)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ddl.sgml?r1=1.85&r2=1.86)
        dml.sgml (r1.17 -> r1.18)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/dml.sgml?r1=1.17&r2=1.18)
        docguide.sgml (r1.74 -> r1.75)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/docguide.sgml?r1=1.74&r2=1.75)
        ecpg.sgml (r1.87 -> r1.88)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ecpg.sgml?r1=1.87&r2=1.88)
        func.sgml (r1.476 -> r1.477)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/func.sgml?r1=1.476&r2=1.477)
        high-availability.sgml (r1.34 -> r1.35)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/high-availability.sgml?r1=1.34&r2=1.35)
        history.sgml (r1.30 -> r1.31)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/history.sgml?r1=1.30&r2=1.31)
        indices.sgml (r1.76 -> r1.77)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/indices.sgml?r1=1.76&r2=1.77)
        info.sgml (r1.26 -> r1.27)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/info.sgml?r1=1.26&r2=1.27)
        install-win32.sgml (r1.51 -> r1.52)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/install-win32.sgml?r1=1.51&r2=1.52)
        installation.sgml (r1.320 -> r1.321)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/installation.sgml?r1=1.320&r2=1.321)
        intro.sgml (r1.34 -> r1.35)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/intro.sgml?r1=1.34&r2=1.35)
        libpq.sgml (r1.287 -> r1.288)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/libpq.sgml?r1=1.287&r2=1.288)
        monitoring.sgml (r1.68 -> r1.69)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/monitoring.sgml?r1=1.68&r2=1.69)
        mvcc.sgml (r2.70 -> r2.71)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/mvcc.sgml?r1=2.70&r2=2.71)
        perform.sgml (r1.69 -> r1.70)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/perform.sgml?r1=1.69&r2=1.70)
        pgbuffercache.sgml (r2.3 -> r2.4)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/pgbuffercache.sgml?r1=2.3&r2=2.4)
        postgres.sgml (r1.86 -> r1.87)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/postgres.sgml?r1=1.86&r2=1.87)
        problems.sgml (r2.29 -> r2.30)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/problems.sgml?r1=2.29&r2=2.30)
        queries.sgml (r1.53 -> r1.54)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/queries.sgml?r1=1.53&r2=1.54)
        query.sgml (r1.51 -> r1.52)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/query.sgml?r1=1.51&r2=1.52)
        regress.sgml (r1.62 -> r1.63)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/regress.sgml?r1=1.62&r2=1.63)
        rowtypes.sgml (r2.9 -> r2.10)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/rowtypes.sgml?r1=2.9&r2=2.10)
        runtime.sgml (r1.427 -> r1.428)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/runtime.sgml?r1=1.427&r2=1.428)
        sources.sgml (r2.32 -> r2.33)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/sources.sgml?r1=2.32&r2=2.33)
        sql.sgml (r1.47 -> r1.48)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/sql.sgml?r1=1.47&r2=1.48)
        start.sgml (r1.48 -> r1.49)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/start.sgml?r1=1.48&r2=1.49)
        syntax.sgml (r1.130 -> r1.131)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/syntax.sgml?r1=1.130&r2=1.131)
        textsearch.sgml (r1.50 -> r1.51)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/textsearch.sgml?r1=1.50&r2=1.51)
        typeconv.sgml (r1.58 -> r1.59)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/typeconv.sgml?r1=1.58&r2=1.59)
        xfunc.sgml (r1.136 -> r1.137)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/xfunc.sgml?r1=1.136&r2=1.137)
        xml2.sgml (r1.5 -> r1.6)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/xml2.sgml?r1=1.5&r2=1.6)

---

From: David Fetter <[email-masked]>
Date: Mon, 27 Apr 2009 10:10:27 -0700

> Log Message:

While we're at it, can we see about moving foreign keys out of the
"advanced" section?  They've been standard for many years.  Heck, even
MySQL has had them, at least in some of their engines, for many years.

Cheers,
David.
-- 
David Fetter <[email-masked]> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: [email-masked]

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

---

From: Peter Eisentraut <[email-masked]>
Date: Mon, 27 Apr 2009 21:50:13 +0300

> MySQL has had them, at least in some of their engines, for many years.

Advanced doesn't have to mean nonstandard, and standard doesn't have to mean 
basic.

---

From: David Fetter <[email-masked]>
Date: Mon, 27 Apr 2009 11:54:12 -0700

On Mon, Apr 27, 2009 at 09:50:13PM +0300, Peter Eisentraut wrote:
> > "advanced" section?  They've been standard for many years.  Heck,
> > even MySQL has had them, at least in some of their engines, for
> > many years.
> 
> Advanced doesn't have to mean nonstandard, and standard doesn't have
> to mean basic.

Are you seriously arguing that foreign keys aren't basic?  Seriously?

Cheers,
David.

Remember to vote!

---

From: Peter Eisentraut <[email-masked]>
Date: Mon, 27 Apr 2009 22:56:28 +0300

> Are you seriously arguing that foreign keys aren't basic?  Seriously?

In your words: yes.

But it's all relative.  Among all the topics that are covered in the tutorial, 
foreign keys have certain prerequisite topics, such as logging into the 
database, creating tables, and putting data in.  Certain things have to come 
before others, and sections are used to organize the information.  You can 
relabel the sections to "Really Basic" and "Somewhat Basic", if it helps you.

In some way, everything that is covered in the tutorial ought to be "basic".  
But some things are more basic than others.  You could equally make the 
argument that views and transactions are basic, but then there would be hardly 
anything interesting left in the "advanced" section, especially if you add the 
argument that inheritance and window functions could be considered by some as 
very esoteric features that shouldn't be in the tutorial at all.

---

From: Alvaro Herrera <[email-masked]>
Date: Mon, 27 Apr 2009 16:02:32 -0400

> Are you seriously arguing that foreign keys aren't basic?  Seriously?

Five years from now, are we going to move "recursive queries" to the
basic section?

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

---

From: David Fetter <[email-masked]>
Date: Mon, 27 Apr 2009 15:13:49 -0700

On Mon, Apr 27, 2009 at 10:56:28PM +0300, Peter Eisentraut wrote:
> > > > While we're at it, can we see about moving foreign keys out of
> > > > the "advanced" section?  They've been standard for many years.
> > > > Heck, even MySQL has had them, at least in some of their
> > > > engines, for many years.
> > >
> > > Advanced doesn't have to mean nonstandard, and standard doesn't
> > > have to mean basic.
> >
> But it's all relative.  Among all the topics that are covered in the
> tutorial, foreign keys have certain prerequisite topics, such as
> logging into the database, creating tables, and putting data in.
> Certain things have to come before others, and sections are used to
> organize the information.  You can relabel the sections to "Really
> Basic" and "Somewhat Basic", if it helps you.

How about "setting up," and "usage," which opens the door to more
advanced features.  In later revs, we could have sections with "Good
Practices" in the title.

> In some way, everything that is covered in the tutorial ought to be
> "basic".  But some things are more basic than others.  You could
> equally make the argument that views and transactions are basic, but
> then there would be hardly anything interesting left in the
> "advanced" section,

Actually, there's plenty.

> especially if you add the argument

*I* certainly wouldn't add that argument.

> that inheritance and window functions could be considered by some as

Partitioning isn't exactly an esoteric feature.  More of an advanced
topic, as windowing and OLAP functions are, at least this year.

SQL/MED might qualify as esoteric, at least this year.  Five years
hence, SQL/MED might be pretty basic, as most of the heavy lifting
will likely be in the back-end, at least for the common scenarios.  By
then, the optimizer will have what it needs to do what it does fairly
transparently. :)

My point in all this is that, "advanced" isn't frozen forever in time,
and neither is, "basic."

Cheers,
David.

Remember to vote!

---

From: Tom Lane <[email-masked]>
Date: Mon, 27 Apr 2009 21:39:24 -0400

> My point in all this is that, "advanced" isn't frozen forever in time,

No, but the "basic" chapter is trying to teach people what tables and
indexes are.  I think it's reasonable to categorize FKs as a level
beyond that.

It would probably be fair to complain that window functions don't belong
in the same difficulty category as FKs.  I stuck a chapter about them in
there because I didn't see any other good place for the material --- but
maybe we should consider breaking down the tutorial into
beginner/intermediate/"advanced" chapters?

			regards, tom lane