On Mon, Apr 28, 2025 at 8:08 AM Peter Smith <smithpb2...@gmail.com> wrote: > > On Wed, Apr 23, 2025 at 10:33 AM David G. Johnston > <david.g.johns...@gmail.com> wrote: > ... > > In the column list I would stick to mentioning what cannot be specified, > > since it would be assumed by default that any column on the table is fair > > game. I believe that means not mentioning stored generated and instead > > mentioning virtual generated. It really seems odds mentioning stored > > generated being allowed before mentioning when they are optional, default > > excluded. > > > > Alternative: > > > > The optional column list may include any non-virtual columns of the table. > > If omitted, tables publish all (including future) non-generated columns by > > default, and may publish stored generated columns if the publication option > > publish_generated_columns is set to stored. See Section 29.5 for details > > about column lists. > > > > > > I don’t get why truncate is mentioned here. I omitted it intentionally. > > > > Hi David, > > Thanks for your feedback/suggestions. Sorry for my late reply -- I was > waiting for any other feedback, but none was forthcoming, so here is > my patch v2. > > I've rearranged the text and mentioned non-virtual and non-generated > as suggested. > > I also did not really understand why TRUNCATE is mentioned in this > paragraph, but I have left that as-is for now. >
I think TRUNCATE is mentioned because column_list has an impact on all other DML commands like insert, update, delete that gets replicated except Truncate. So, leaving Truncate as it is seems okay to me. - The column list can contain stored generated columns as well. If no - column list is specified, all table columns (except generated columns) - are replicated through this publication, including any columns added - later. It has no effect on <literal>TRUNCATE</literal> commands. See + The column list may include any non-virtual columns of the table. If the + column list is omitted, the publication will replicate all non-generated + columns (including any added in the future) by default. Stored generated + columns can also be replicated if <literal>publish_generated_columns</literal> + is set to <literal>stored</literal>. I find the use of non-virtual in the first line and non-generated in the second line a bit confusing. Can we keep the first line as it is (The column list can contain stored generated columns as well.)? -- With Regards, Amit Kapila.