postgresql/doc/src/sgml
Tom Lane 28a1ae5342 Fix crash in contrib/ltree's lca() function for empty input array.
lca_inner() wasn't prepared for the possibility of getting no inputs.
Fix that, and make some cosmetic improvements to the code while at it.

Also, I thought the documentation of this function as returning the
"longest common prefix" of the paths was entirely misleading; it really
returns a path one shorter than the longest common prefix, for the typical
definition of "prefix".  Don't use that term in the docs, and adjust the
examples to clarify what really happens.

This has been broken since its beginning, so back-patch to all supported
branches.

Per report from Hailong Li.  Thanks to Pierre Ducroquet for diagnosing
and for the initial patch, though I whacked it around some and added
test cases.

Discussion: https://postgr.es/m/5b0d8e4f-f2a3-1305-d612-e00e35a7be66@qunar.com
2018-07-13 18:45:30 -04:00
..
ref Prohibit transaction commands in security definer procedures 2018-07-13 10:41:32 +02:00
.gitignore git-ignore intermediate files from new docs toolchain. 2017-05-15 15:48:40 -04:00
acronyms.sgml Replace search.cpan.org with metacpan.org 2018-06-29 22:02:20 +09:00
adminpack.sgml Support new default roles with adminpack 2018-04-06 14:47:10 -04:00
advanced.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
amcheck.sgml Add missing and dangling downlink checks to amcheck 2018-04-25 18:02:55 +03:00
arch-dev.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
array.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
auth-delay.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
auto-explain.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
backup.sgml Fix documentation bug related to backup history file. 2018-06-27 00:45:21 +09:00
bgworker.sgml Add missing documentation for BGWORKER_BYPASS_ALLOWCONN 2018-04-22 14:03:36 +02:00
biblio.sgml Convert SGML IDs to lower case 2017-10-20 19:26:10 -04:00
bki.sgml Fix bootstrap parser so that its keywords are unreserved words. 2018-05-05 16:23:07 -04:00
bloom.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
brin.sgml Log when a BRIN autosummarization request fails 2018-03-14 11:59:40 -03:00
btree-gin.sgml Add support of bool, bpchar, name and uuid to btree_gin 2018-04-05 18:19:10 +03:00
btree-gist.sgml Convert SGML IDs to lower case 2017-10-20 19:26:10 -04:00
btree.sgml Remove INCLUDE attributes section from docs. 2018-06-16 15:28:50 -07:00
catalogs.sgml Block replication slot advance for these not yet reserving WAL 2018-07-11 08:56:24 +09:00
charset.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
citext.sgml Update gratuitous use of MD5 in documentation 2018-02-22 11:34:54 -05:00
client-auth.sgml doc: Restructure authentication methods sections 2018-04-21 10:17:23 -04:00
config.sgml Remove dynamic_shared_memory_type=none 2018-07-10 18:35:24 +02:00
contrib-spi.sgml doc: in contrib-spi, mention and link to the meaning of SPI 2018-01-31 16:54:33 -05:00
contrib.sgml Document security implications of search_path and the public schema. 2018-02-26 07:39:44 -08:00
cube.sgml Fix a number of typos 2018-06-20 16:01:18 +02:00
custom-scan.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
datatype.sgml doc: adjust order of NUMERIC arguments to match syntax 2018-06-24 18:07:00 -04:00
datetime.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
dblink.sgml Document security implications of search_path and the public schema. 2018-02-26 07:39:44 -08:00
ddl.sgml doc: Reword old inheritance partitioning documentation 2018-07-05 23:08:56 +02:00
dfunc.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
dict-int.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
dict-xsyn.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
diskusage.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
dml.sgml Fix typo 2018-06-20 16:06:03 +02:00
docguide.sgml Update documentation editor setup instructions 2018-07-13 21:23:41 +02:00
earthdistance.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
ecpg.sgml Add PGTYPESchar_free() to avoid cross-module problems on Windows. 2018-06-18 18:33:53 +12:00
errcodes.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
event-trigger.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
extend.sgml Don't qualify type pg_catalog.text in extend-extensions-example. 2018-03-23 20:31:03 -07:00
external-projects.sgml docs: Remove "New" description of the libpqxx interface 2018-07-13 11:16:56 -04:00
fdwhandler.sgml Fix WITH CHECK OPTION on views referencing postgres_fdw tables. 2018-07-08 16:53:36 -07:00
features.sgml Update SQL features/conformance information to SQL:2011 2012-05-17 09:50:04 +03:00
file-fdw.sgml Add default roles for file/program access 2018-04-06 14:47:10 -04:00
filelist.sgml docs: initial draft of PG 11 release notes 2018-05-11 10:54:03 -04:00
func.sgml Documentation spell checking and markup improvements 2018-06-29 21:26:41 +02:00
fuzzystrmatch.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
generate-errcodes-table.pl Update copyright for 2018 2018-01-02 23:30:12 -05:00
generic-wal.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
geqo.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
gin.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
gist.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
high-availability.sgml Fix documentation bug related to backup history file. 2018-06-27 00:45:21 +09:00
history.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
hstore.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
indexam.sgml Indexes with INCLUDE columns and their support in B-tree 2018-04-07 23:00:39 +03:00
indices.sgml Indexes with INCLUDE columns and their support in B-tree 2018-04-07 23:00:39 +03:00
info.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
information_schema.sgml Add more information_schema columns 2018-02-07 10:08:02 -05:00
install-windows.sgml Remove obsolete documentation build tools for Windows 2018-07-13 10:01:04 +02:00
installation.sgml docs: fix INSTALL.xml build by using "standalone-ignore" 2018-03-29 07:53:57 -04:00
intagg.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
intarray.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
intro.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
isn.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
jit.sgml Documentation spell checking and markup improvements 2018-06-29 21:26:41 +02:00
json.sgml Transforms for jsonb to PL/Perl 2018-04-03 09:47:18 -04:00
keywords.sgml Update key words table for version 11 2018-05-21 12:14:46 -04:00
legal.sgml Update copyright for 2018 2018-01-02 23:30:12 -05:00
libpq.sgml Fix libpq example programs 2018-07-01 14:06:40 +02:00
lo.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
lobj.sgml Fix libpq example programs 2018-07-01 14:06:40 +02:00
logical-replication.sgml doc: Improve wording and fix whitespace 2018-06-27 07:51:20 +02:00
logicaldecoding.sgml doc: Use = after long options in documentation 2018-05-21 14:54:24 -04:00
ltree.sgml Fix crash in contrib/ltree's lca() function for empty input array. 2018-07-13 18:45:30 -04:00
maintenance.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
Makefile Fix partial-build problems introduced by having more generated headers. 2018-04-09 16:42:10 -04:00
manage-ag.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
mk_feature_tables.pl Reindent Perl files with perltidy version 20170521. 2018-04-25 14:00:19 -04:00
monitoring.sgml Fix table format in documentation for I/O wait events 2018-07-09 10:46:27 +09:00
mvcc.sgml Revert MERGE patch 2018-04-12 11:22:56 +01:00
nls.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
notation.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
oid2name.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pageinspect.sgml Skip full index scan during cleanup of B-tree indexes when possible 2018-04-04 19:29:00 +03:00
parallel.sgml Remove dynamic_shared_memory_type=none 2018-07-10 18:35:24 +02:00
passwordcheck.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
perform.sgml Support partition pruning at execution time 2018-04-07 17:54:39 -03:00
pgbuffercache.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pgcrypto.sgml pgcrypto's encrypt() supports AES-128, AES-192, and AES-256 2018-01-31 16:33:11 -05:00
pgfreespacemap.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
pgprewarm.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pgrowlocks.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pgstandby.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pgstatstatements.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pgstattuple.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pgtrgm.sgml Fix a number of typos 2018-06-20 16:01:18 +02:00
pgvisibility.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
planstats.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
plhandler.sgml Remove remaining references to version-0 calling convention in docs. 2018-05-02 17:51:11 +03:00
plperl.sgml Allow committing inside cursor loop 2018-03-28 19:03:26 -04:00
plpgsql.sgml Doc: minor improvement in pl/pgsql FETCH/MOVE documentation. 2018-07-12 12:29:03 -04:00
plpython.sgml Allow committing inside cursor loop 2018-03-28 19:03:26 -04:00
pltcl.sgml Support INOUT arguments in procedures 2018-03-14 12:07:28 -04:00
postgres-fdw.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
postgres.sgml Add documentation for the JIT feature. 2018-03-28 14:22:42 -07:00
problems.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
protocol.sgml doc: clarify SCRAM channel binding 2018-05-14 20:45:35 -04:00
queries.sgml doc: Improve indentation of SQL examples 2018-04-04 20:57:26 -04:00
query.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
rangetypes.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
README.links docs: improve xref description for xreflabel and refentry links 2014-01-30 12:26:18 -05:00
recovery-config.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
reference.sgml Move pg_verify_checksum docs to Server utils 2018-06-20 14:28:56 +02:00
regress.sgml Tests for Kerberos/GSSAPI authentication 2018-03-06 10:57:36 -05:00
release-7.4.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
release-8.0.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
release-8.1.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
release-8.2.sgml Make capitalization of term "OpenSSL" more consistent 2018-06-29 09:45:44 +09:00
release-8.3.sgml Make capitalization of term "OpenSSL" more consistent 2018-06-29 09:45:44 +09:00
release-8.4.sgml Make capitalization of term "OpenSSL" more consistent 2018-06-29 09:45:44 +09:00
release-9.0.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
release-9.1.sgml doc: Fix links to pg_stat_replication 2018-03-03 14:16:39 -05:00
release-9.2.sgml Make capitalization of term "OpenSSL" more consistent 2018-06-29 09:45:44 +09:00
release-9.3.sgml Make capitalization of term "OpenSSL" more consistent 2018-06-29 09:45:44 +09:00
release-9.4.sgml Make capitalization of term "OpenSSL" more consistent 2018-06-29 09:45:44 +09:00
release-9.5.sgml Make capitalization of term "OpenSSL" more consistent 2018-06-29 09:45:44 +09:00
release-9.6.sgml Make capitalization of term "OpenSSL" more consistent 2018-06-29 09:45:44 +09:00
release-10.sgml rel notes: mention enabling of parallelism in PG 10 2018-07-09 11:19:18 -04:00
release-11.sgml Doc: clarify release note text about v11's new window function features. 2018-07-12 11:13:41 -04:00
release-old.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
release.sgml docs: initial draft of PG 11 release notes 2018-05-11 10:54:03 -04:00
replication-origins.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
rowtypes.sgml Consider syntactic form when disambiguating function vs column reference. 2018-06-18 11:39:33 -04:00
rules.sgml Fix creation of resjunk tlist entries for inherited mixed UPDATE/DELETE. 2017-11-27 17:54:07 -05:00
runtime.sgml doc: Suggest logical replication more prominently for upgrading 2018-06-11 21:34:32 -04:00
seg.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
sepgsql.sgml Update gratuitous use of MD5 in documentation 2018-02-22 11:34:54 -05:00
sourcerepo.sgml Change default git repo URL to https 2018-02-07 11:00:26 +01:00
sources.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
spgist.sgml doc: Fix some trailing whitespace 2018-05-21 14:49:53 -04:00
spi.sgml Remove remaining references to version-0 calling convention in docs. 2018-05-02 17:51:11 +03:00
sslinfo.sgml Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
standalone-install.xml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
standalone-profile.xsl Get rid of parameterized marked sections in SGML 2017-09-27 11:26:08 -04:00
start.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
storage.sgml Doc: fix bogus cross-reference link. 2018-05-21 11:21:08 -04:00
stylesheet-common.xsl doc: Turn on generate.consistent.ids parameter 2017-12-05 09:00:26 -05:00
stylesheet-fo.xsl doc: Improve PDF bookmarks 2017-08-15 14:37:44 -04:00
stylesheet-hh.xsl Fix display of <command> elements on man pages 2012-04-30 21:18:03 +03:00
stylesheet-html-common.xsl doc: Convert ids to upper case at build time 2017-11-03 14:14:02 -04:00
stylesheet-html-nochunk.xsl Remove use of Jade and DSSSL 2017-04-06 22:09:11 -04:00
stylesheet-man.xsl doc: Improve man build speed 2018-02-28 09:26:36 -05:00
stylesheet-speedup-common.xsl doc: Further speed improvements for HTML XSLT build 2016-12-22 15:41:44 -05:00
stylesheet-speedup-xhtml.xsl doc: Further speed improvements for HTML XSLT build 2016-12-22 15:41:44 -05:00
stylesheet-text.xsl Create INSTALL file via XSLT 2017-03-08 08:41:23 -05:00
stylesheet.css doc: Tweak CSS 2017-04-12 15:41:41 -04:00
stylesheet.xsl Change documentation references to PG website to use https: not http: 2017-05-20 21:50:47 -04:00
syntax.sgml Doc: update documentation for requirement of ORDER BY in GROUPS mode. 2018-07-12 11:10:24 -04:00
tablefunc.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
tablesample-method.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
tcn.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
test-decoding.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
textsearch.sgml doc: Fix some whitespace issues 2018-05-21 11:42:43 -04:00
trigger.sgml Revert MERGE patch 2018-04-12 11:22:56 +01:00
tsm-system-rows.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
tsm-system-time.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
typeconv.sgml Doc: add example of type resolution in nested UNIONs. 2018-03-25 16:15:15 -04:00
unaccent.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
user-manag.sgml Documentation spell checking and markup improvements 2018-06-29 21:26:41 +02:00
uuid-ossp.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
vacuumlo.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
wal.sgml Fix grammar in documentation related to checkpoint_flush_after 2018-06-11 09:54:25 +09:00
xaggr.sgml Improve spelling of new FINALFUNC_MODIFY aggregate attribute. 2018-05-21 11:41:42 -04:00
xfunc.sgml SQL procedures 2017-11-30 11:03:20 -05:00
xindex.sgml Support all SQL:2011 options for window frame clauses. 2018-02-07 00:06:56 -05:00
xml2.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
xoper.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
xplang.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
xtypes.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00

<!-- doc/src/sgml/README.links -->

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


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

<xref>
	use to get chapter/section number from the title of the target
	link, or xreflabel if defined at the target, or refentrytitle if target
        is a refentry;  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  Specific nouns like GUC variables, SQL commands, and contrib modules
   usually have xreflabels