postgresql/doc/src/sgml
Tom Lane d2e00c33bb Improve documentation's description of JOIN clauses.
In bug #12000, Andreas Kunert complained that the documentation was
misleading in saying "FROM T1 CROSS JOIN T2 is equivalent to FROM T1, T2".
That's correct as far as it goes, but the equivalence doesn't hold when
you consider three or more tables, since JOIN binds more tightly than
comma.  I added a <note> to explain this, and ended up rearranging some
of the existing text so that the note would make sense in context.

In passing, rewrite the description of JOIN USING, which was unnecessarily
vague, and hadn't been helped any by somebody's reliance on markup as a
substitute for clear writing.  (Mostly this involved reintroducing a
concrete example that was unaccountably removed by commit 032f3b7e166cfa28.)

Back-patch to all supported branches.
2014-11-19 16:00:40 -05:00
..
ref Fix psql \s to work with recent libedit, and add pager support. 2014-09-08 16:10:05 -04:00
.gitignore Don't generate plain-text HISTORY and src/test/regress/README anymore. 2014-02-10 20:48:27 -05:00
acronyms.sgml Document that WITH queries are also called Common Table Expressions. 2011-01-19 21:21:33 -05:00
adminpack.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
advanced.sgml Additional cross-references to window functions documentation. 2010-07-03 02:57:46 +00:00
arch-dev.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
array.sgml Proofreading for Bruce's recent round of documentation proofreading. 2009-06-17 21:58:49 +00:00
auto-explain.sgml Fix wording, per Peter Geoghegan 2012-01-27 10:37:23 +01:00
backup.sgml Add missing subtitle for compressed archive logs 2012-06-17 21:20:57 +08:00
biblio.sgml Update broken and permanently moved links 2010-03-17 17:12:31 +00:00
bki.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
btree-gin.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
btree-gist.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
catalogs.sgml Fix documentation about joining pg_locks to other views. 2014-04-03 14:18:45 -04:00
charset.sgml doc: Remove i18ngurus.com link 2013-10-21 06:23:56 -04:00
chkpass.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
citext.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
client-auth.sgml doc: Correct description of LDAP authentication 2012-12-29 23:02:31 -05:00
config.sgml Support timezone abbreviations that sometimes change. 2014-10-16 15:22:26 -04:00
contacts.sgml Make $PostgreSQL CVS tags consistent for SGML files. 2006-03-10 19:10:50 +00:00
contrib-spi.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
contrib.sgml Docs for pg_archivecleanup 2010-06-14 17:25:24 +00:00
cube.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
datatype.sgml Support timezone abbreviations that sometimes change. 2014-10-16 15:22:26 -04:00
datetime.sgml Support timezone abbreviations that sometimes change. 2014-10-16 15:22:26 -04:00
dblink.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
ddl.sgml Provide adequate documentation of the "table_name *" notation. 2012-09-17 14:59:42 -04:00
dfunc.sgml Remove unnecessary xref endterm attributes and title ids 2010-04-03 07:23:02 +00:00
dict-int.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
dict-xsyn.sgml Fix indentation of verbatim block elements 2010-07-29 19:34:37 +00:00
diskusage.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
dml.sgml Remove unnecessary xref endterm attributes and title ids 2010-04-03 07:23:02 +00:00
docguide.sgml Don't generate plain-text HISTORY and src/test/regress/README anymore. 2014-02-10 20:48:27 -05:00
earthdistance.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
ecpg.sgml Removed sentence about not being able to retrieve more than one row at a time, 2012-10-05 17:06:07 +02:00
errcodes.sgml Create new errcode for recovery conflict caused by db drop on master. 2011-02-01 08:49:58 +00:00
extend.sgml Correct spelling: longjump() -> longjmp(). 2010-12-24 22:23:13 -05:00
external-projects.sgml doc: Correct psycopg URL 2013-10-02 21:34:40 -04:00
features.sgml SQL/MED catalog manipulation facilities 2008-12-19 16:25:19 +00:00
filelist.sgml Remove anonymous cvs instructions, and replace them with instructions 2010-09-22 20:10:29 +02:00
fixrtf Add CVS tag lines to files that were lacking them. 2006-03-11 04:38:42 +00:00
func.sgml Documentation fix: sum(float4) returns float4, not float8. 2014-09-07 22:41:10 -04:00
fuzzystrmatch.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
geqo.sgml Remove unnecessary xref endterm attributes and title ids 2010-04-03 07:23:02 +00:00
gin.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
gist.sgml Protect GIST logic that assumes penalty values can't be negative. 2011-05-31 17:53:55 -04:00
high-availability.sgml Note explicitly that hash indexes are also not replicated because they're not 2010-10-26 22:53:08 +03:00
history.sgml Proofreading adjustments for first two parts of documentation (Tutorial 2009-04-27 16:27:36 +00:00
hstore.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
indexam.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
indices.sgml Fix typo in previous commit 2012-10-17 09:21:29 +01:00
info.sgml Proofreading adjustments for first two parts of documentation (Tutorial 2009-04-27 16:27:36 +00:00
information_schema.sgml Fix documentation of information_schema.element_types 2011-06-09 07:27:51 +03:00
install-win32.sgml Fix typo 2011-09-24 14:35:08 +02:00
installation.sgml Support timezone abbreviations that sometimes change. 2014-10-16 15:22:26 -04:00
intagg.sgml Fix indentation of verbatim block elements 2010-07-29 19:34:37 +00:00
intarray.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
intro.sgml Update broken and permanently moved links 2010-03-17 17:12:31 +00:00
isn.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
jadetex.cfg Install a workaround for 'TeX capacity exceeded' problem 2010-04-29 16:32:41 +00:00
keywords.sgml doc: Fix number of columns in table 2013-04-04 21:15:14 -04:00
legal.sgml Update copyright for 2014 2014-01-07 16:05:29 -05:00
libpq.sgml Fix typo in user manual 2014-08-01 21:15:04 +03:00
lo.sgml Revert: looks like Binary Large OBject[sic] wasn't a misspelling 2010-08-17 04:47:03 +00:00
lobj.sgml Improve description of loread/lowrite. 2013-06-12 12:24:32 -04:00
ltree.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
maintenance.sgml Don't balance vacuum cost delay when per-table settings are in effect 2014-10-03 13:01:27 -03:00
Makefile Don't generate plain-text HISTORY and src/test/regress/README anymore. 2014-02-10 20:48:27 -05:00
manage-ag.sgml Remove unnecessary xref endterm attributes and title ids 2010-04-03 07:23:02 +00:00
mk_feature_tables.pl Update feature list for SQL:2008. 2008-10-18 00:35:32 +00:00
monitoring.sgml Doc fixes: 2010-09-09 00:48:29 +00:00
mvcc.sgml Remove spurious dot, per bug #5446 reported by koizumistr@minos.ocn.ne.jp 2010-05-03 15:35:30 +00:00
nls.sgml Update iso.org page link 2012-12-08 07:38:35 -05:00
notation.sgml Make $PostgreSQL CVS tags consistent for SGML files. 2006-03-10 19:10:50 +00:00
oid2name.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
pageinspect.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
passwordcheck.sgml Remove unnecessary xref endterm attributes and title ids 2010-04-03 07:23:02 +00:00
perform.sgml Correct mistaken claims about EXPLAIN ANALYZE's handling of triggers. 2011-03-02 11:17:07 -05:00
pgarchivecleanup.sgml Improvements to docs about pg_archive_cleanup and use of archives 2010-10-14 23:23:26 +01:00
pgbench.sgml doc: Various typo/grammar fixes 2014-08-30 11:05:57 -05:00
pgbuffercache.sgml Fix indentation of verbatim block elements 2010-07-29 19:34:37 +00:00
pgcrypto.sgml Docs: fix incorrect spelling of contrib/pgcrypto option. 2014-11-03 11:11:59 -05:00
pgfreespacemap.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
pgrowlocks.sgml Fix indentation of verbatim block elements 2010-07-29 19:34:37 +00:00
pgstandby.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
pgstatstatements.sgml Fix indentation of verbatim block elements 2010-07-29 19:34:37 +00:00
pgstattuple.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
pgtrgm.sgml Document that contrib/pgtrgm only processes ASCII alphanumeric 2011-09-05 13:24:47 -04:00
pgupgrade.sgml Limit pg_upgrade authentication advice to always-secure techniques. 2014-07-18 16:06:11 -04:00
planstats.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
plhandler.sgml Document security implications of check_function_bodies. 2014-02-17 09:33:37 -05:00
plperl.sgml Use a separate interpreter for each calling SQL userid in plperl and pltcl. 2010-09-30 17:19:44 -04:00
plpgsql.sgml Fix broken example in PL/pgSQL document. 2014-10-10 03:19:52 +09:00
plpython.sgml Fix documentation reference to "above" example 2011-06-04 23:13:28 +03:00
pltcl.sgml doc: Various typo/grammar fixes 2014-08-30 11:05:57 -05:00
postgres.sgml Remove anonymous cvs instructions, and replace them with instructions 2010-09-22 20:10:29 +02:00
problems.sgml Remove anonymous cvs instructions, and replace them with instructions 2010-09-22 20:10:29 +02:00
protocol.sgml Replace "slave" to "standby" in documentation for consistent terminology. 2010-06-07 02:01:09 +00:00
queries.sgml Improve documentation's description of JOIN clauses. 2014-11-19 16:00:40 -05:00
query.sgml Remove unnecessary xref endterm attributes and title ids 2010-04-03 07:23:02 +00:00
README.links Update link guidelines. 2009-01-10 16:58:39 +00:00
recovery-config.sgml Add recovery.conf to the index in the user manual. 2011-08-23 11:57:43 +03:00
reference.ced Deprecate 'current' for date/time input. 2001-11-21 05:53:41 +00:00
reference.sgml First pass over client applications documentation proofreading. 2010-02-19 03:50:03 +00:00
regress.sgml Secure Unix-domain sockets of "make check" temporary clusters. 2014-06-14 09:41:18 -04:00
release-7.4.sgml doc: Various typo/grammar fixes 2014-08-30 11:05:57 -05:00
release-8.0.sgml Improve cross-references between minor version release notes. 2014-02-12 19:09:30 -05:00
release-8.1.sgml Improve cross-references between minor version release notes. 2014-02-12 19:09:30 -05:00
release-8.2.sgml doc: Various typo/grammar fixes 2014-08-30 11:05:57 -05:00
release-8.3.sgml Improve cross-references between minor version release notes. 2014-02-12 19:09:30 -05:00
release-8.4.sgml Release notes for 9.3.5, 9.2.9, 9.1.14, 9.0.18, 8.4.22. 2014-07-21 14:59:39 -04:00
release-9.0.sgml Release notes for 9.3.5, 9.2.9, 9.1.14, 9.0.18, 8.4.22. 2014-07-21 14:59:39 -04:00
release-alpha.sgml Replace "slave" to "standby" in documentation for consistent terminology. 2010-06-07 02:01:09 +00:00
release-old.sgml doc: Various typo/grammar fixes 2014-08-30 11:05:57 -05:00
release.sgml Don't generate plain-text HISTORY and src/test/regress/README anymore. 2014-02-10 20:48:27 -05:00
rowtypes.sgml Proofreading for Bruce's recent round of documentation proofreading. 2009-06-17 21:58:49 +00:00
rules.sgml Remove tab from SGML. 2010-10-18 18:51:28 +00:00
runtime.sgml Update SysV parameter configuration documentation for FreeBSD. 2014-08-14 16:06:01 -04:00
seg.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
sourcerepo.sgml Do some copy-editing on the Git usage docs. 2010-09-22 20:22:35 -04:00
sources.sgml Doc fixes: 2010-09-09 00:48:29 +00:00
spi.sgml Fix SPI documentation for new handling of ExecutorRun's count parameter. 2013-01-24 18:34:15 -05:00
sql.sgml Fix indentation of verbatim block elements 2010-07-29 19:34:37 +00:00
sslinfo.sgml Fix indentation of verbatim block elements 2010-07-29 19:34:37 +00:00
standalone-install.sgml Don't generate plain-text HISTORY and src/test/regress/README anymore. 2014-02-10 20:48:27 -05:00
start.sgml Correct "characters" to "bytes" in createdb docs. 2011-03-27 21:29:03 -04:00
storage.sgml Update storage.sgml to describe the 9.0 tablespace directory layout. 2010-10-19 21:53:08 -04:00
stylesheet-common.xsl Reorganize XSLT stylesheet support. Put common things into a separate 2006-12-10 16:01:06 +00:00
stylesheet-fo.xsl Reorganize XSLT stylesheet support. Put common things into a separate 2006-12-10 16:01:06 +00:00
stylesheet-hh.xsl Reorganize XSLT stylesheet support. Put common things into a separate 2006-12-10 16:01:06 +00:00
stylesheet-man.xsl Allow for more room in the man page title, so that 2010-04-03 07:16:05 +00:00
stylesheet.css Fix indentation of verbatim block elements 2010-07-29 19:34:37 +00:00
stylesheet.dsl doc: Various typo/grammar fixes 2014-08-30 11:05:57 -05:00
stylesheet.xsl XSLT stylesheet: Add slash to directory name 2012-11-08 23:59:22 -05:00
syntax.sgml Prevent creating window functions with default arguments. 2013-11-06 13:32:30 -05:00
tablefunc.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
test-parser.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
textsearch.sgml doc: Various typo/grammar fixes 2014-08-30 11:05:57 -05:00
trigger.sgml Update struct Trigger in docs 2012-03-20 15:37:28 -03:00
tsearch2.sgml Make an editorial pass over the newly SGML-ified contrib documentation. 2007-12-06 04:12:10 +00:00
typeconv.sgml Clarify type resolution behavior for domain types. 2014-08-10 16:13:29 -04:00
unaccent.sgml Document filtering dictionaries in textsearch.sgml. 2010-08-25 21:43:01 +00:00
user-manag.sgml Undo some poorly-thought-out "proofreading improvements". 2010-10-05 18:48:20 -04:00
uuid-ossp.sgml Add some links to tables 2010-08-10 20:42:02 +00:00
vacuumlo.sgml Back-patch contrib/vacuumlo's new -l (limit) option into 9.0 and 9.1. 2012-03-21 13:05:05 -04:00
wal.sgml Now that the diskchecker.pl author has updated the download link on his 2012-07-30 10:15:55 -04:00
xaggr.sgml Improve user-defined-aggregates documentation. 2011-03-23 16:57:29 -04:00
xfunc.sgml Add comments about the need to avoid uninitialized bits in datatype values. 2011-04-27 14:06:29 -04:00
xindex.sgml Spell and markup checking 2010-08-17 04:37:19 +00:00
xml2.sgml doc: Various typo/grammar fixes 2014-08-30 11:05:57 -05:00
xoper.sgml doc: Various typo/grammar fixes 2014-08-30 11:05:57 -05:00
xplang.sgml Clarify the meaning of "trusted language" in the documentation. 2010-05-30 02:23:09 +00:00
xtypes.sgml Doc change: anyways -> anyway; Erik Rijkers 2010-04-14 02:36:04 +00:00

<!-- $PostgreSQL: pgsql/doc/src/sgml/README.links,v 1.3 2009/01/10 16:58:39 momjian Exp $ -->

Linking within SGML documents can be confusing, so here is a summary:


Intra-document Linking
----------------------

<xref>
	use to get link text from the title of the target link; has no
	close tag
	http://www.oasis-open.org/docbook/documentation/reference/html/xref.html

<link>
	use to supply text for the link, requires </link>
	http://www.oasis-open.org/docbook/documentation/reference/html/link.html

linkend=
	controls the target of the link/xref, required

endterm=
	for <xref>, allows the text of the link/xref to be taken from a
	different link target title


External Linking
----------------

<ulink>
	like <link>, but uses a URL (not a document target);  requires
	</ulink>; if no text is specified, the URL appears as the link text
	http://www.oasis-open.org/docbook/documentation/reference/html/ulink.html

url=
	used by <ulink> to specify the URL, required


Guidelines
----------

o  If you want to supply text, use <link>, else <xref>
o  Do not use text with <ulink> so the URL appears in printed output
o  You can supply text at the target location with 'xreflabel'