mirror of
https://github.com/postgres/postgres.git
synced 2025-08-24 09:27:52 +03:00
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
<!-- 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.