REFRESH MATERIALIZED VIEW CONCURRENTLY was broken for any matview
containing a column of a type without a default btree operator
class. It also did not produce results consistent with a non-
concurrent REFRESH or a normal view if any column was of a type
which allowed user-visible differences between values which
compared as equal according to the type's default btree opclass.
Concurrent matview refresh was modified to use the new operators
to solve these problems.
Documentation was added for record comparison, both for the
default btree operator class for record, and the newly added
operators. Regression tests now check for proper behavior both
for a matview with a box column and a matview containing a citext
column.
Reviewed by Steve Singer, who suggested some of the doc language.
<!-- 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 # from the title of the target
link, or xreflabel if defined at the target; 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