Re: [doc] remove reference to pg_dump pre-8.1 switch behaviour - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: [doc] remove reference to pg_dump pre-8.1 switch behaviour
Date
Msg-id X8SYCnbcLTXUQrc7@paquier.xyz
Whole thread Raw
In response to Re: [doc] remove reference to pg_dump pre-8.1 switch behaviour  (Justin Pryzby <pryzby@telsasoft.com>)
Responses Re: [doc] remove reference to pg_dump pre-8.1 switch behaviour  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Sun, Nov 29, 2020 at 01:27:48PM -0600, Justin Pryzby wrote:
>          activity of scans already in progress.  This can result in
>          unpredictable changes in the row ordering returned by queries that
>          have no <literal>ORDER BY</literal> clause.  Setting this parameter to
> -        <literal>off</literal> ensures the pre-8.3 behavior in which a sequential
> +        <literal>off</literal> ensures the simple behavior in which a sequential
>          scan always starts from the beginning of the table.  The default
>          is <literal>on</literal>.

Mentioned upthread, but I see no problems in keeping this reference
either.

>     (last subscript varies most rapidly).
>     If the contents of two arrays are equal but the dimensionality is
>     different, the first difference in the dimensionality information
> -   determines the sort order.  (This is a change from versions of
> -   <productname>PostgreSQL</productname> prior to 8.2: older versions would claim
> -   that two arrays with the same contents were equal, even if the
> -   number of dimensions or subscript ranges were different.)
> +   determines the sort order.
>    </para>

OK to remove this one.  That was +1'd three times upthread.  I guess
that it just got missed.

>       <replaceable class="parameter">mode</replaceable> is unused and
> -     ignored as of <productname>PostgreSQL</productname> 8.1; however, for
> +     ignored since <productname>PostgreSQL</productname> 8.1; however, for
>       backward compatibility with earlier releases it is best to
>       set it to <symbol>INV_READ</symbol>, <symbol>INV_WRITE</symbol>,
>       or <symbol>INV_READ</symbol> <literal>|</literal> <symbol>INV_WRITE</symbol>

Don't see a point in changing that.  I don't agree with just removing
the parameter either as that may just break stuff.

>      Data of a particular data type might be transmitted in any of several
> -    different <firstterm>formats</firstterm>.  As of <productname>PostgreSQL</productname> 7.4
> +    different <firstterm>formats</firstterm>.  Currently
>      the only supported formats are <quote>text</quote> and <quote>binary</quote>,
>      but the protocol makes provision for future extensions.  The desired
>      format for any value is specified by a <firstterm>format code</firstterm>.

Don't think there was an agreement on that.

> -  <para>
> -   The syntax
> -<synopsis>
> -CLUSTER <replaceable class="parameter">index_name</replaceable> ON <replaceable
class="parameter">table_name</replaceable>
> -</synopsis>
> -  is also supported for compatibility with pre-8.3 <productname>PostgreSQL</productname>
> -  versions.
> -  </para>
>   </refsect1>
>
>   <refsect1>

Seems to me that this should be kept for now.

> -     Before <productname>PostgreSQL</productname> 8.3, these functions would
> -     silently accept values of several non-string data types as well, due to
> -     the presence of implicit coercions from those data types to
> -     <type>text</type>.  Those coercions have been removed because they frequently
> -     caused surprising behaviors.  However, the string concatenation operator
> -     (<literal>||</literal>) still accepts non-string input, so long as at least one
> -     input is of a string type, as shown in <xref
> -     linkend="functions-string-sql"/>.  For other cases, insert an explicit
> -     coercion to <type>text</type> if you need to duplicate the previous behavior.
> +     The string concatenation operator (<literal>||</literal>) will accept
> +     non-string input, so long as at least one input is of string type, as shown
> +     in <xref linkend="functions-string-sql"/>.  For other cases, inserting an
> +     explicit coercion to <type>text</type> can be used to have non-string input
> +     accepted.
>      </para>
>     </note>

Word-by-word what Stephen has written upthread.  Agreed that this is
an improvement.

> +     Building a <acronym>GIN</acronym> index after all of the data has been
> +     loaded will typically be faster than creating the index and then filling
> +     it.  There may also be cases where, for a sufficiently large update,
> +     dropping the <acronym>GIN</acronym> index, then performing the update,
> +     and then recreating the index will be faster than a routine update,
> +     however, one should review the delayed indexing technique used for
> +     <acronym>GIN</acronym> (see <xref linkend="gin-fast-update"/> for
> +     details) and the options it provides.

We are losing some context with this formulation, particularly for the
case of the insertion of multiple keys.  So I think that it is better
to just remove the Postgres 8.4 bit, and keep the second paragraph
mostly as-is.

> - <para>
> -  As of <productname>PostgreSQL</productname> 9.1, null key values can be
> -  included in the index.  Also, placeholder nulls are included in the index
> -  for indexed items that are null or contain no keys according to
> -  <function>extractValue</function>.  This allows searches that should find empty
> -  items to do so.
> - </para>

Let's keep that, as agreed upthread.

>   <para>
>    Multicolumn <acronym>GIN</acronym> indexes are implemented by building
>    a single B-tree over composite values (column number, key value).  The
> @@ -507,7 +499,7 @@
>     Updating a <acronym>GIN</acronym> index tends to be slow because of the
>     intrinsic nature of inverted indexes: inserting or updating one heap row
>     can cause many inserts into the index (one for each key extracted
> -   from the indexed item). As of <productname>PostgreSQL</productname> 8.4,
> +   from the indexed item).
>     <acronym>GIN</acronym> is capable of postponing much of this work by inserting
>     new tuples into a temporary, unsorted list of pending entries.
>     When the table is vacuumed or autoanalyzed, or when

Agreed to remove this reference to 8.4.

> -   this operation while the server is running. Note that in PostgreSQL 9.1
> -   and earlier you will also need to update the <structname>pg_tablespace</structname>
> -   catalog with the new locations. (If you do not, <literal>pg_dump</literal> will
> -   continue to output the old tablespace locations.)
> +   this operation while the server is running.
>    </para>

I think that this should be kept.  pg_dump is supported with 9.1.

> -  <para>
> -   Previous releases failed to preserve a lock which is upgraded by a later
> -   savepoint.  For example, this code:
> -<programlisting>
> -BEGIN;
> -SELECT * FROM mytable WHERE key = 1 FOR UPDATE;
> -SAVEPOINT s;
> -UPDATE mytable SET ... WHERE key = 1;
> -ROLLBACK TO s;
> -</programlisting>
> -   would fail to preserve the <literal>FOR UPDATE</literal> lock after the
> -   <command>ROLLBACK TO</command>.  This has been fixed in release 9.3.
> -  </para>

Feels a bit early to remove IMO.

> -   <para>
> -    Note that if a <literal>FROM</literal> clause is not specified,
> -    the query cannot reference any database tables. For example, the
> -    following query is invalid:
> -<programlisting>
> -SELECT distributors.* WHERE distributors.name = 'Westward';
> -</programlisting><productname>PostgreSQL</productname> releases prior to
> -    8.1 would accept queries of this form, and add an implicit entry
> -    to the query's <literal>FROM</literal> clause for each table
> -    referenced by the query. This is no longer allowed.
> -   </para>
>    </refsect2>

OK to remove the whole paragraph here.

> -     <para>
> -      The ability to use names to reference SQL function arguments was added
> -      in <productname>PostgreSQL</productname> 9.2.  Functions to be used in
> -      older servers must use the <literal>$<replaceable>n</replaceable></literal> notation.
> -     </para>
> -    </note>
>     </sect2>

I think that's too early to remove.

So this comes down to 5 items, as per the attached.  Thoughts?
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: "Drouvot, Bertrand"
Date:
Subject: Re: Add Information during standby recovery conflicts
Next
From: Masahiko Sawada
Date:
Subject: Re: Add Information during standby recovery conflicts