Re: Collation versioning

From: opolofdez <opolofdez(at)gmail(dot)com>
To: rjuju123(at)gmail(dot)com, michael(at)paquier(dot)xyz
Cc: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, Douglas Doole <dougdoole(at)gmail(dot)com>, Christoph Berg <myon(at)debian(dot)org>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Collation versioning
Date: 2020-03-17 14:23:47
Message-ID: shg1dtku9ieudv3ob7u0t04b.1584455027802@email.android.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

<div dir="ltr">njhjo<br>
</div><div dir="ltr"><br>
</div><div dir="ltr"><br>
</div><div dir="ltr"><br>
</div><div class="wps_signature">Enviado desde mi Redmi 4A</div><div class="wps_quotion">El Julien Rouhaud &lt;rjuju123(at)gmail(dot)com&gt;, 16 mar. 2020 3:05 p. m. escribió:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p></p><p dir="ltr">On Mon, Mar 16, 2020 at 04:57:38PM +0900, Michael Paquier wrote:
<br>
&gt; On Thu, Mar 12, 2020 at 03:00:26PM +0100, Julien Rouhaud wrote:
<br>
&gt; &gt; And v15 due to conflict with b08dee24a5 (Add pg_dump support for ALTER obj
<br>
&gt; &gt; DEPENDS ON EXTENSION).
<br>
&gt;
<br>
&gt; I have looked at patches 0001~0003 in the set for now.
<br>

<br>

<br>
Thanks!
<br>

<br>

<br>
&gt; In patch 0002, you have the following addition:
<br>
&gt; @@ -103,9 +103,10 @@ ORDER BY 1, 2;
<br>
&gt;   pg_class                | relacl        | aclitem[]
<br>
&gt;   pg_class                | reloptions    | text[]
<br>
&gt;   pg_class                | relpartbound  | pg_node_tree
<br>
&gt; + pg_depend               | refobjversion | text
<br>
&gt; This comes from a regression test doing a sanity check to look for
<br>
&gt; catalogs which have a toastable column but no toast tables.  As an
<br>
&gt; exception, it should be documented in the test&#39;s comment.  Actually,
<br>
&gt; does it need to be an exception?  This does not depend on
<br>
&gt; relation-level facilities so there should be no risk of recursive
<br>
&gt; dependencies, though I have not looked in details at this part.
<br>

<br>

<br>
I totally missed that, and I agree that there&#39;s no need for an exception, so
<br>
fixed.
<br>

<br>

<br>
&gt; +  &lt;para&gt;
<br>
&gt; +   The only current use of &lt;structfield&gt;refobjversion&lt;/structfield&gt; is to
<br>
&gt; +   record dependencies between indexes and collation versions.
<br>
&gt; +  &lt;/para&gt;
<br>
&gt; [...]
<br>
&gt; +     &lt;row&gt;
<br>
&gt; +      &lt;entry&gt;&lt;structfield&gt;refobjversion&lt;/structfield&gt;&lt;/entry&gt;
<br>
&gt; +      &lt;entry&gt;&lt;type&gt;text&lt;/type&gt;&lt;/entry&gt;
<br>
&gt; +      &lt;entry&gt;&lt;/entry&gt;
<br>
&gt; +      &lt;entry&gt;
<br>
&gt; +       An optional version for the referenced object; see text
<br>
&gt; +      &lt;/entry&gt;
<br>
&gt; +     &lt;/row&gt;
<br>
&gt; Couldn&#39;t you merge both paragraphs here?
<br>

<br>

<br>
Done.
<br>

<br>

<br>
&gt; Regarding patch 0003, it would be nice to include some tests
<br>
&gt; independent on the rest and making use of the new functions.  These
<br>
&gt; normally go in regproc.sql.  For example with a collation that needs
<br>
&gt; double quotes as this is not obvious:
<br>
&gt; =# select regcollation(&#39;&quot;POSIX&quot;&#39;);
<br>
&gt; regcollation
<br>
&gt;  --------------
<br>
&gt;  &quot;POSIX&quot;
<br>
&gt; (1 row)
<br>
&gt;
<br>
&gt; On top of that, this needs tests with to_regcollation() and tests with
<br>
&gt; schema-qualified collations.
<br>

<br>

<br>
Done too, using the same collation name, for both with and without schema
<br>
qualification.
<br>

<br>

<br>
&gt; Documentation for to_regcollation() is missing.  And it looks that
<br>
&gt; many parts of the documentation are missing an update.  One example in
<br>
&gt; datatype.sgml:
<br>
&gt;     Type &lt;type&gt;oid&lt;/type&gt; represents an object identifier.  There are also
<br>
&gt;     several alias types for &lt;type&gt;oid&lt;/type&gt;: &lt;type&gt;regproc&lt;/type&gt;,
<br>
&gt;     &lt;type&gt;regprocedure&lt;/type&gt;, &lt;type&gt;regoper&lt;/type&gt;, &lt;type&gt;regoperator&lt;/type&gt;,
<br>
&gt;     &lt;type&gt;regclass&lt;/type&gt;, &lt;type&gt;regtype&lt;/type&gt;, &lt;type&gt;regrole&lt;/type&gt;,
<br>
&gt;     &lt;type&gt;regnamespace&lt;/type&gt;, &lt;type&gt;regconfig&lt;/type&gt;, and
<br>
&gt;     &lt;type&gt;regdictionary&lt;/type&gt;.  &lt;xref linkend=&quot;datatype-oid-table&quot;/&gt; shows an
<br>
&gt;     overview.
<br>
&gt; At quick glance, there are more sections in need of a refresh..
<br>

<br>

<br>
Indeed.  I found missing reference in datatype.sgml; func.sgml and
<br>
pgupgrade.sgml.
<br>

<br>
v16 attached.
<br>
</p>
</blockquote></div>

Attachment Content-Type Size
unknown_filename text/html 4.3 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Justin Pryzby 2020-03-17 15:24:09 Re: Berserk Autovacuum (let's save next Mandrill)
Previous Message Chapman Flack 2020-03-17 14:17:37 Re: How to install https://github.com/sraoss/pgsql-ivm on postgress