> On Jul 10, 2026, at 11:07, Xuneng Zhou <[email protected]> wrote: > > Hi Guoqing, > > On Wed, Jul 1, 2026 at 9:45 AM Guoqing Yang <[email protected]> wrote: >> >> Fix grammar in buffer lock wait message >> >> Correct the wait message from "Waiting to acquire a exclusive lock on a >> buffer" >> to "Waiting to acquire an exclusive lock on a buffer". >> >> The word "exclusive" starts with a vowel sound, so the indefinite article >> should be "an" instead of "a". > > This seems to be a typo. I asked Sol to check this kind of issue in > the tree, and it found a bunch of them. Do you bother to do a further > check? As John suggested, we better fix grammar issues wholesale[1]. > > [1] > https://www.postgresql.org/message-id/CANWCAZaZgQN54ccVheWd%3Dyg2KW_c1vTPB7hd0CXkqBNLD2-pDA%40mail.gmail.com > > -- > Regards, > Xuneng Zhou > HighGo Software Co., Ltd. > <fix-indefinite-articles.patch><check_indefinite_articles.py>
Hi Xuneng, Thanks for the thorough fixes. I think Guoqing’s fix is a back-patch candidate for v19, as it was an oversight of "[fcb9c977] bufmgr: Implement buffer content locks independently of lwlocks". So, I added your new findings to 0002, and I think they should be applied to master only. Although AI can help here, TBH, I think it would be better if English-speaking folks could review them. To make it easier for reviewers, here is a summary of all the changes in 0002: ``` event-trigger.sgml: a EventTriggerData structure -> an EventTriggerData structure func-admin.sgml: an one-dimension array -> a one-dimensional array libpq.sgml: a EXECUTE command -> an EXECUTE command logical-replication.sgml: a update_missing conflict -> an update_missing conflict alter_table.sgml: a inheritable constraint -> an inheritable constraint pg_createsubscriber.sgml: a initial replication location -> an initial replication location tidstore.c: a in-memory data structure -> an in-memory data structure ginget.c: a ItemPointer -> an ItemPointer heap.c: all functions in use a immutable -> all functions in use are immutable publicationcmds.c: a ALL state -> an ALL state execExpr.c: a EEOP_HASHED_SCALARARRAYOP step -> an EEOP_HASHED_SCALARARRAYOP step execExpr.c: a EEOP_SCALARARRAYOP -> an EEOP_SCALARARRAYOP execExpr.c: a EEOP_JSONEXPR_COERCION step -> an EEOP_JSONEXPR_COERCION step execExprInterp.c: a EEOP_*_FETCHSOME operation -> an EEOP_*_FETCHSOME operation hba.c: a AuthToken struct -> an AuthToken struct parse_oper.c: a ObjectWithArgs node -> an ObjectWithArgs node wait_event_names.txt: a IO -> I/O wait_event_names.txt: a exclusive lock -> an exclusive lock pg_dependencies.c: an dependency key -> a dependency key uuid.c: an UNIX epoch timestamp -> a Unix epoch timestamp uuid.c: an UUIDv7 -> a UUIDv7 queryenvironment.c: a Ephemeral Named Relation -> an Ephemeral Named Relation aset.c: a AllocFreeListLink -> an AllocFreeListLink aset.c: Obtain a AllocFreeListLink -> Obtain an AllocFreeListLink astreamer_inject.c: Create a astreamer -> Create an astreamer pg_restore.c: an utility -> a utility astreamer_verify.c: processing for a astreamer_verify stream -> processing for an astreamer_verify stream astreamer_verify.c: memory associated with a astreamer_verify stream -> memory associated with an astreamer_verify stream astreamer_file.c: Create a astreamer that just writes data -> Create an astreamer that just writes data astreamer_file.c: Create a astreamer that extracts an archive -> Create an astreamer that extracts an archive astreamer_gzip.c: Create a astreamer that just compresses data -> Create an astreamer that just compresses data astreamer_tar.c: Create a astreamer that can parse a stream -> Create an astreamer that can parse a stream astreamer_tar.c: Create a astreamer that can generate a tar archive -> Create an astreamer that can generate a tar archive astreamer_tar.c: If a ASTREAMER_MEMBER_HEADER chunk -> If an ASTREAMER_MEMBER_HEADER chunk astreamer_tar.c: Create a astreamer that blindly adds two blocks -> Create an astreamer that blindly adds two blocks relscan.h: it must act as a information what to scan for those workers -> to tell those workers what to scan astreamer.h: passed to a astreamer -> passed to an astreamer astreamer.h: A astreamer that does not -> An astreamer that does not astreamer.h: callbacks for a astreamer -> callbacks for an astreamer astreamer.h: Send some content to a astreamer -> Send some content to an astreamer astreamer.h: Finalize a astreamer -> Finalize an astreamer astreamer.h: Free a astreamer -> Free an astreamer astreamer.h: implementing a astreamer -> implementing an astreamer astreamer.h: implementing a astreamer -> implementing an astreamer jsonb.h: an JB_FOBJECT -> a JB_FOBJECT ``` Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/
v2-0001-Fix-grammar-in-BUFFER_EXCLUSIVE-wait-event-descri.patch
Description: Binary data
v2-0002-Fix-assorted-grammar-errors-in-documentation-and-.patch
Description: Binary data
