postgresql/doc/src/sgml
Tom Lane bc8393cf27 Further adjust SPITupleTable to provide a public row-count field.
Now that commit fec0778c8 drew a clear line between public and private
fields in SPITupleTable, it seems pretty silly that the count of valid
tuples isn't on the public side of that line.  The reason why not was
that there wasn't such a count.  For reasons lost in the mists of time,
spi.c preferred to keep a count of remaining free entries in the array.
But that seems pretty pointless: it's unlike the way we handle similar
code everywhere else, and it involves extra subtractions that surely
outweigh having to do a comparison rather than test-for-zero to check
for array-full.

Hence, rearrange so that this code does the expansible array logic
the same as everywhere else, with a count of valid entries alongside
the allocated array length.  And document the count as public.

I looked for core-code callers where it would make sense to start
relying on tuptable->numvals rather than the separate SPI_processed
variable.  Right now there don't seem to be places where it'd be
a win to do so without more code restructuring than I care to
undertake today.  In principle, though, having SPITupleTables be
fully self-contained should be helpful down the line.

Discussion: https://postgr.es/m/16852.1563395722@sss.pgh.pa.us
2019-07-18 10:37:13 -04:00
..
images Add XSL stylesheet to fix up SVG files 2019-06-19 21:26:42 +02:00
keywords Update SQL keywords list to SQL:2016 2019-05-14 15:44:37 +02:00
ref Simplify description of --data-checksums in documentation of initdb 2019-07-18 10:05:59 +09:00
.gitignore doc: Generate keywords table automatically 2019-05-07 15:29:39 +02:00
acronyms.sgml doc: Update redirecting links 2018-07-16 10:48:05 +02: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 Allow amcheck to re-find tuples using new search. 2019-03-20 10:41:36 -07:00
arch-dev.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
array.sgml docs: remove use of escape strings and use bytea hex output 2018-09-21 19:55:07 -04:00
auth-delay.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
auto-explain.sgml Fix more typos and inconsistencies in documentation 2019-04-28 22:53:33 +09:00
backup.sgml Fix and improve several places in the docs 2019-07-13 14:43:29 +09:00
bgworker.sgml Add missing documentation for BGWORKER_BYPASS_ALLOWCONN 2018-04-22 14:03:36 +02:00
biblio.sgml Fix and improve several places in the docs 2019-07-13 14:43:29 +09:00
bki.sgml Sync commentary in transam.h and bki.sgml. 2019-03-14 00:23:40 -04:00
bloom.sgml Fix some grammar errors in bloom.sgml 2018-10-22 00:28:56 +03:00
brin.sgml Remove deprecated abstime, reltime, tinterval datatypes. 2018-10-11 11:59:15 -07: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 doc: Spell checking 2019-07-05 08:34:54 +02:00
catalogs.sgml docs: remove pg_roles mention of the oid column being displayed 2019-07-10 14:24:36 -04:00
charset.sgml Remove dead encoding-conversion functions. 2019-07-05 14:17:27 -04:00
citext.sgml Collations with nondeterministic comparison 2019-03-22 12:12:43 +01:00
client-auth.sgml doc: mention pg_reload_conf() for reloading the config file 2019-07-15 20:57:24 -04:00
config.sgml doc: Spell checking 2019-07-05 08:34:54 +02:00
contrib-spi.sgml Remove timetravel extension. 2018-10-11 11:43:56 -07: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 Call set_rel_pathlist_hook before generate_gather_paths, not after. 2019-02-09 11:41:09 -05:00
datatype.sgml Add gen_random_uuid function 2019-07-14 14:30:27 +02:00
datetime.sgml Document handling of invalid/ambiguous timestamp input near DST boundaries. 2018-11-29 18:28:10 -05:00
dblink.sgml Fix documentation for dblink_error_message() return value 2019-02-17 13:17:34 -05:00
ddl.sgml Mention limitation of unique in partitioned tables 2019-07-10 09:12:49 -04: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 Fix many typos and inconsistencies 2019-07-01 10:00:23 +09:00
dml.sgml Fix typo 2018-06-20 16:06:03 +02:00
docguide.sgml Doc: fix typo in URL of OASIS group web site. 2019-01-23 13:06:45 +09:00
earthdistance.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
ecpg.sgml Fix collection of typos and grammar mistakes in docs and comments 2019-04-19 16:57:40 +09:00
errcodes.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
event-trigger.sgml Change PROCEDURE to FUNCTION in CREATE TRIGGER syntax 2018-08-22 14:44:49 +02:00
extend.sgml Add PG_CFLAGS, PG_CXXFLAGS, and PG_LDFLAGS variables to PGXS 2019-02-03 17:48:09 +09:00
external-projects.sgml Correct the URL pointing to PL/R 2019-04-27 09:30:22 -04:00
fdwhandler.sgml Doc: Update FDW documentation about GetForeignUpperPaths(). 2019-05-09 19:50:15 +09:00
features.sgml Update SQL features/conformance information to SQL:2016 2019-05-14 15:44:37 +02:00
file-fdw.sgml Fix some typos 2019-06-09 11:25:56 +09:00
filelist.sgml Stamp HEAD as 13devel. 2019-07-01 12:50:55 -04:00
func.sgml Add gen_random_uuid function 2019-07-14 14:30:27 +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 2019 2019-01-02 12:44:25 -05:00
generate-keywords-table.pl Update SQL keywords list to SQL:2016 2019-05-14 15:44:37 +02: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 doc: Spell checking 2019-07-05 08:34:54 +02:00
gist.sgml Fix inconsistencies and typos in the tree 2019-07-16 13:23:53 +09:00
high-availability.sgml doc: Fix whitespace 2019-04-08 22:32:46 +02:00
history.sgml doc: Update redirecting links 2018-07-16 10:48:05 +02:00
hstore.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
indexam.sgml tableam: basic documentation. 2019-04-03 17:40:29 -07:00
indices.sgml Doc: clarify partial-index example. 2019-04-03 18:28:26 -04:00
info.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
information_schema.sgml Fix documentation of check_option in information_schema.views 2019-06-01 15:33:47 -04:00
install-windows.sgml Add support for Visual Studio 2019 in build scripts 2019-07-02 14:02:33 +09:00
installation.sgml Improve installation instructions with pg_ctl in documentation 2019-02-02 13:23:26 +09: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 doc: Update redirecting links 2018-07-16 10:48:05 +02:00
jit.sgml Fix issues around EXPLAIN with JIT. 2018-10-03 12:48:37 -07:00
json.sgml Assorted fixes for jsonpath documentation 2019-07-10 07:48:55 +03:00
keywords.sgml doc: Generate keywords table automatically 2019-05-07 15:29:39 +02:00
legal.sgml Update copyright for 2019 2019-01-02 12:44:25 -05:00
libpq.sgml doc: adjust libpq wording to be neither/nor 2019-04-11 13:25:34 -04:00
limits.sgml doc: Add appendix detailing some limits of PostgreSQL 2018-11-29 14:01:11 +01:00
lo.sgml Change PROCEDURE to FUNCTION in CREATE TRIGGER syntax 2018-08-22 14:44:49 +02:00
lobj.sgml Update copyright for 2019 2019-01-02 12:44:25 -05:00
logical-replication.sgml doc: Clarify logical replication documentation 2019-07-08 14:28:42 +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 Mention REINDEX CONCURRENTLY in documentation about index maintenance 2019-04-27 09:06:39 +09:00
Makefile doc: Generate keywords table automatically 2019-05-07 15:29:39 +02: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 Add command column to pg_stat_progress_create_index 2019-06-04 09:29:02 +02:00
mvcc.sgml REINDEX CONCURRENTLY 2019-03-29 08:26:33 +01:00
nls.sgml doc: Update redirecting links 2018-07-16 10:48:05 +02:00
notation.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
oid2name.sgml Rework option set of oid2name 2018-08-28 21:33:32 +09:00
pageinspect.sgml Remove extra comma 2019-03-13 13:41:14 +01:00
parallel.sgml doc: Fix whitespace 2019-04-08 22:32:46 +02:00
passwordcheck.sgml doc: Update redirecting links 2018-07-16 10:48:05 +02:00
perform.sgml Rework the pg_statistic_ext catalog 2019-06-16 01:20:31 +02:00
pgbuffercache.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pgcrypto.sgml Add gen_random_uuid function 2019-07-14 14:30:27 +02:00
pgfreespacemap.sgml Revert "Avoid the creation of the free space map for small heap relations". 2019-05-07 09:30:24 +05:30
pgprewarm.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
pgrowlocks.sgml Fix documentation of pgrowlocks using "lock_type" instead of "modes" 2018-10-02 16:34:41 +09:00
pgstandby.sgml Integrate recovery.conf into postgresql.conf 2018-11-25 16:33:40 +01:00
pgstatstatements.sgml Extend pg_stat_statements_reset to reset statistics specific to a 2019-01-11 08:50:09 +05:30
pgstattuple.sgml Revert "Avoid the creation of the free space map for small heap relations". 2019-05-07 09:30:24 +05:30
pgtrgm.sgml Add docs of missing GUC to pgtrgm.sgml 2019-06-10 19:42:36 +03:00
pgvisibility.sgml Don't use SGML empty tags 2017-10-17 15:10:33 -04:00
planstats.sgml Rework the pg_statistic_ext catalog 2019-06-16 01:20:31 +02:00
plhandler.sgml Change function call information to be variable length. 2019-01-26 14:17:52 -08:00
plperl.sgml Change PROCEDURE to FUNCTION in CREATE TRIGGER syntax 2018-08-22 14:44:49 +02:00
plpgsql.sgml Fix grammar in error message 2019-05-09 09:16:59 +02:00
plpython.sgml docs: clarify plpython SD and GD dictionary behavior 2018-08-25 11:52:30 -04:00
pltcl.sgml Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
postgres-fdw.sgml postgres_fdw: Fix incorrect handling of row movement for remote partitions. 2019-04-24 18:31:50 +09:00
postgres.sgml tableam: basic documentation. 2019-04-03 17:40:29 -07:00
problems.sgml Replace references to mailinglists with @lists.postgresql.org 2019-01-17 13:42:40 +01:00
protocol.sgml Fix typos in documentatoin of GSSAPI encryption 2019-05-17 08:22:28 +09:00
queries.sgml Allow user control of CTE materialization, and change the default behavior. 2019-02-16 16:11:12 -05: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 doc: Refine README.links further 2019-03-29 13:36:24 +01:00
reference.sgml Rename pg_verify_checksums to pg_checksums 2019-03-13 10:43:20 +09:00
regress.sgml Add an enforcement mechanism for global object names in regression tests. 2019-06-29 11:34:00 -04:00
release-13.sgml Stamp HEAD as 13devel. 2019-07-01 12:50:55 -04:00
release.sgml Stamp HEAD as 13devel. 2019-07-01 12:50:55 -04:00
replication-origins.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
rowtypes.sgml docs: remove use of escape strings and use bytea hex output 2018-09-21 19:55:07 -04:00
rules.sgml Doc: remove ancient comment. 2019-02-17 20:23:10 +09:00
runtime.sgml Fix some typos 2019-06-09 11:25:56 +09:00
seg.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
sepgsql.sgml Doc: explain where to find Makefile used to build sepgsql-regtest.pp. 2019-07-17 13:13:15 -04:00
sourcerepo.sgml Change default git repo URL to https 2018-02-07 11:00:26 +01:00
sources.sgml Fix more typos and inconsistencies in documentation 2019-04-28 22:53:33 +09:00
spgist.sgml Add support for <-> (box, point) operator to SP-GiST box_ops 2019-07-14 15:09:23 +03:00
spi.sgml Further adjust SPITupleTable to provide a public row-count field. 2019-07-18 10:37:13 -04:00
sslinfo.sgml doc: Add link from sslinfo to pg_stat_ssl 2019-01-28 14:41:38 +01:00
standalone-install.xml Improve installation instructions with pg_ctl in documentation 2019-02-02 13:23:26 +09: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 Fix typos. 2019-05-26 18:28:18 +05:30
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 doc: Add some images 2019-03-27 23:10:23 +01:00
stylesheet-html-common.xsl Better scaling of images in HTML output 2019-04-16 14:27:56 +02:00
stylesheet-html-nochunk.xsl doc: Add some images 2019-03-27 23:10:23 +01: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 Better scaling of images in HTML output 2019-04-16 14:27:56 +02:00
stylesheet.xsl doc: Add some images 2019-03-27 23:10:23 +01:00
syntax.sgml Document security implications of qualified names. 2018-07-28 20:08:01 -07:00
tableam.sgml docs: correct typo-ed path to heapam_handler.c. 2019-04-17 17:31:54 -07:00
tablefunc.sgml Convert documentation to DocBook XML 2017-11-23 09:44:28 -05:00
tablesample-method.sgml Fix some documentation about access methods 2019-05-29 11:37:37 -04:00
tcn.sgml Change PROCEDURE to FUNCTION in CREATE TRIGGER syntax 2018-08-22 14:44:49 +02:00
test-decoding.sgml doc: Fix reference to "decoder" to instead be the correct "output plugin". 2018-07-24 10:42:59 -07:00
textsearch.sgml Sync our Snowball stemmer dictionaries with current upstream 2019-07-04 13:26:48 +02:00
trigger.sgml Generated columns 2019-03-30 08:15:57 +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 Document security implications of qualified names. 2018-07-28 20:08:01 -07:00
unaccent.sgml Make contrib/unaccent's unaccent() function work when not in search path. 2018-09-06 10:49:45 -04:00
user-manag.sgml Documentation spell checking and markup improvements 2018-06-29 21:26:41 +02:00
uuid-ossp.sgml Add gen_random_uuid function 2019-07-14 14:30:27 +02:00
vacuumlo.sgml Rework option set of vacuumlo 2018-08-28 21:42:45 +09:00
wal.sgml doc: Update redirecting links 2018-07-16 10:48:05 +02:00
xaggr.sgml Improve spelling of new FINALFUNC_MODIFY aggregate attribute. 2018-05-21 11:41:42 -04:00
xfunc.sgml doc: Spell checking 2019-07-05 08:34:54 +02:00
xindex.sgml Add support for nearest-neighbor (KNN) searches to SP-GiST 2018-09-19 01:54:10 +03:00
xml2.sgml Replace references to mailinglists with @lists.postgresql.org 2019-01-17 13:42:40 +01:00
xoper.sgml Create the infrastructure for planner support functions. 2019-02-09 18:08:48 -05:00
xplang.sgml Remove unnecessary use of PROCEDURAL 2019-02-25 08:38:59 +01:00
xtypes.sgml Deduplicate "invalid input syntax" messages for various types. 2018-07-22 14:58:01 -07:00

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

Linking within DocBook 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
----------

- For an internal link, if you want to supply text, use <link>, else
  <xref>.

- Specific nouns like GUC variables, SQL commands, and contrib modules
  usually have xreflabels.

- For an external link, use <ulink>, with or without link text.