1
0
mirror of https://github.com/postgres/postgres.git synced 2025-08-24 09:27:52 +03:00
Files
postgres/doc/src/sgml
Tom Lane cbe25dcff7 Disallow making an empty lexeme via array_to_tsvector().
The tsvector data type has always forbidden lexemes to be empty.
However, array_to_tsvector() didn't get that memo, and would
allow an empty-string array element to become an empty lexeme.
This could result in dump/restore failures later, not to mention
whatever semantic issues might be behind the original prohibition.

However, other functions that take a plain text input directly as
a lexeme value do not need a similar restriction, because they only
match the string against existing tsvector entries.  In particular
it'd be a bad idea to make ts_delete() reject empty strings, since
that is the most convenient way to clean up any bad data that might
have gotten into a tsvector column via this bug.

Reflecting on that, let's also remove the prohibition against NULL
array elements in tsvector_delete_arr and tsvector_setweight_by_filter.
It seems more consistent to ignore them, as an empty-string element
would be ignored.

There's a case for back-patching this, since it's clearly a bug fix.
On balance though, it doesn't seem like something to change in a
minor release.

Jean-Christophe Arnu

Discussion: https://postgr.es/m/CAHZmTm1YVndPgUVRoag2WL0w900XcoiivDDj-gTTYBsG25c65A@mail.gmail.com
2021-11-06 13:28:53 -04:00
..
2021-09-28 15:26:25 +02:00
2020-07-05 15:37:57 +02:00
2020-09-10 14:15:26 +02:00
2021-07-16 12:39:45 +02:00
2020-10-26 19:17:05 -04:00
2021-09-29 11:56:13 +09:00
2021-01-29 14:09:41 +13:00
2021-09-26 19:17:30 +09:00
2020-07-18 22:43:35 +09:00
2021-04-07 13:52:26 +02:00
2020-10-19 13:48:00 +02:00
2020-06-07 13:18:36 +02:00
2021-07-05 09:36:11 +05:30
2020-07-18 22:43:35 +09:00
2021-07-05 09:36:11 +05:30
2021-07-16 12:39:45 +02:00
2020-07-18 22:43:35 +09:00
2020-10-19 19:28:54 +03:00
2021-07-16 12:39:45 +02:00
2021-01-02 13:06:25 -05:00
2021-09-19 11:36:53 -04:00
2021-08-27 18:20:40 +02:00
2021-10-21 08:01:25 +05:30
2021-01-05 14:26:37 -05:00
2020-08-28 08:19:12 +02:00
2021-07-16 12:39:45 +02:00
2020-12-23 09:33:20 -05:00
2021-07-05 09:36:11 +05:30
2021-06-28 11:31:16 -04:00
2021-06-28 11:31:16 -04:00
2021-08-06 20:55:59 +02:00
2021-09-29 11:56:13 +09:00
2021-07-16 12:39:45 +02: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

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

<link>
	use to supply text for the link, only uses linkend, requires </link>
	http://www.oasis-open.org/docbook/documentation/reference/html/link.html
	can be embedded inside of <command>, unlike <xref>


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.

- xreflabels added to tags prevent the chapter/section for id's from being
  referenced;  only the xreflabel is accessible.  Therefore, use xreflabels
  only when linking is common, and chapter/section information is unneeded.