On 21.01.25 09:27, vignesh C wrote:
Maybe I have some fundamental misunderstanding here, but I don't see
why "this approach cannot be used with psql because older version
servers may not have these columns". Not having the columns is the
whole point of using an alias approach in the first place e.g. the
below table t1 does not have a column called "banana" but it works
just fine to select an alias using that name...

This is simpler than maintaining the indexes. I misunderstood your
comment to include displaying the columns for older versions, I did
not want to display a value for the older versions as these columns do
not exist. I have updated the patch based on the alias approach. The
attached patch has the changes for the same.

The v54-0004 patch looks ok to me.  Thanks for working on this.

I will wait until that gets committed before moving forward with the virtual generated columns patch.


A few quick comments on the v54-0005 patch (the documentation one):

+<programlisting>
+test_pub=# CREATE TABLE tab_gen_to_gen (a int, b int GENERATED ALWAYS AS (a + 1) STORED);

I don't like when examples include the prompt like this. Then it's harder to copy the commands out of the examples.

+     <row>
+ <entry>No</entry><entry>GENERATED</entry><entry>GENERATED</entry><entry>Publisher table column is not replicated. Use the subscriber table generated column value.</entry>
+     </row>

This should be formatted vertically, one line per <entry>.

+<programlisting>
+test_pub=# CREATE TABLE t1 (a int PRIMARY KEY, b int,
+test_pub(#                  c int GENERATED ALWAYS AS (a + 1) STORED,
+test_pub(#                  d int GENERATED ALWAYS AS (b + 1) STORED);

Also here check that this is formatted more consistently with the rest of the documentation.

+  <itemizedlist>
+   <listitem><para>
+ <literal>t1.a</literal> is a regular column. It gets replicated normally.
+   </para></listitem>
+   <listitem><para>
+ <literal>t1.b</literal> is a regular column. It gets replicated normally.
+   </para></listitem>

Leave more whitespace. Typically, there is a blank line between block elements on the same level.



Reply via email to