On Tue, Jan 14, 2025 at 1:24 AM Peter Smith <smithpb2...@gmail.com> wrote:
> On Tue, Jan 14, 2025 at 4:46 PM Robert Treat <r...@xzilla.net> wrote:
> > On Mon, Jan 13, 2025 at 8:07 PM Peter Smith <smithpb2...@gmail.com> wrote:
> > > On Tue, Jan 14, 2025 at 8:22 AM Robert Treat <r...@xzilla.net> wrote:
> > > > On Mon, Jan 13, 2025 at 3:55 AM Amit Kapila <amit.kapil...@gmail.com> 
> > > > wrote:
> > > > > On Mon, Jan 13, 2025 at 10:22 AM Robert Treat <r...@xzilla.net> wrote:
> > > > > > On Sun, Jan 12, 2025 at 11:00 PM Amit Kapila 
> > > > > > <amit.kapil...@gmail.com> wrote:
> > > > > > > On Sat, Jan 11, 2025 at 7:28 PM Robert Treat <r...@xzilla.net> 
> > > > > > > wrote:
> > > > > > > +    If a table with replica identity set to 
> > > > > > > <literal>NOTHING</literal>
> > > > > > > +    (or set <command>DEFAULT</command> but with no primary key, 
> > > > > > > or set
> > > > > > > +    <command>USING INDEX</command> but the index has been 
> > > > > > > dropped) is
> > > > > > > +    added to a publication that replicates 
> > > > > > > <command>UPDATE</command>
> > > > > > > +    or <command>DELETE</command> operations,
> > > > > > > +    subsequent <command>UPDATE</command> or 
> > > > > > > <command>DELETE</command>
> > > > > > > +    operations will cause an error on the publisher.
> > > > > > >
> > > > > > > In the above change, we missed the existing "a table without a 
> > > > > > > replica
> > > > > > > identity" part. A slightly different way to write the above change
> > > > > > > could be: "Tables lacking a replica identity or with an 
> > > > > > > insufficiently
> > > > > > > defined replica identity (e.g., set to NOTHING, set to DEFAULT but
> > > > > > > with no primary key, or set USING INDEX but the index has been
> > > > > > > dropped) cannot be updated or deleted when added to a publication 
> > > > > > > that
> > > > > > > replicates these operations. Attempting to do so will result in an
> > > > > > > error on the publisher."
> > > > > > >
> > > > <snip>
> > > > > > Aside from that, your above language is a little more compact with 
> > > > > > the
> > > > > > trade-off of being less explicit in talking about publication
> > > > > > properties; I didn't change that part because it didn't seem like an
> > > > > > issue, but we could update that second part if you feel strongly 
> > > > > > about
> > > > > > it. LMK.
> > > > >
> > > > > One of the reasons I tried to rephrase the sentence was it appears to
> > > > > be long. I agree that the way you proposed is more explicit but the
> > > > > way I phrased also conveys the information in a bit succinct form. I
> > > > > think you can once propose with the wording on those lines then let us
> > > > > what Peter or others think about it.
> > > >
> > > > Splitting the difference would look like this?
> > > >
> > > > "Tables with replica identity set <literal>NOTHING</literal>,
> > > > set <literal>DEFAULT</literal> but with no primary key, or set
> > > > <literal>USING INDEX</literal> but the index has been
> > > > dropped, cannot be updated or deleted when added to a publication that
> > > > replicates these operations. Attempting to do so will result in an
> > > > error on the publisher."
> > >
> > > I thought Amit's proposed text was mostly OK;  it only needed the
> > > "lacking a replica identity" part to be removed. (I've also changed
> > > the e.g. to i.e.)
> > >
> > > Like this:
> > >
> > > "Tables with an insufficiently defined replica identity (i.e., set to
> > > NOTHING, set to DEFAULT but with no primary key, or set USING INDEX
> > > but the index has been dropped) cannot be updated or ...".
> > >
> >
> > The term "insufficiently defined" feels off to me. If replica identity
> > is set DEFAULT, but the table has no primary key, is the replica
> > identity insufficiently defined, or is the table insufficiently
> > defined... especially in cases where the "solution" would be to add a
> > primary key, not change the replica identity. Similarly, I wouldn't
> > consider setting replica identity NOTHING as insufficiently defined
> > when it is actually intentionally defined.
> >
>
> Fair enough. At this point, I'm happy to agree to any wording provided
> it is correct and not misleading. I'll try to step back from quibbling
> about wording it unless I think it is saying something wrong because
> otherwise, this thread will be going in circles. I think in all
> likelihood Amit will be the committer who pushes this, so it is him
> you need to get on board.
>
> FYI, I fed your "split the difference" version into Chat-GPT and it
> came up with the following suggestion, which I thought was perhaps the
> best wording yet. (I added the <command> markup back to the
> UPDATE/DELETE.... somehow those got lost along the way and I don't
> know if that was deliberate)
>
> ------
> Tables with a replica identity defined as <literal>NOTHING</literal>,
> <literal>DEFAULT</literal> without a primary key, or <literal>USING
> INDEX</literal> with a dropped index cannot support
> <command>UPDATE</command> or <command>DELETE</command> operations when
> included in a publication replicating these actions. Attempting such
> operations will result in an error on the publisher.
> ------

Apologies, I think my late-night email missed cc-ing back to the list,
which I've added back in. I thought Peter's version above was good
enough to warrant an updated patch, which I'll (hopefully) leave to
Amit to be the final arbiter of :-)


Robert Treat
https://xzilla.net

Attachment: v4-0001-Expand-and-clarify-Replica-Identity-information.patch
Description: Binary data

Reply via email to