Re: Make primnodes.h gender neutral

From: Mark Dilger <hornschnorter(at)gmail(dot)com>
To: Peter Geoghegan <pg(at)heroku(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, Chapman Flack <chap(at)anastigmatix(dot)net>, Kevin Grittner <kgrittn(at)gmail(dot)com>, "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Make primnodes.h gender neutral
Date: 2016-03-18 00:48:02
Message-ID: AC791A50-1B1D-4E07-B86E-42B3E56F1758@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> On Mar 17, 2016, at 5:40 PM, Mark Dilger <hornschnorter(at)gmail(dot)com> wrote:
>
>
>> On Mar 17, 2016, at 5:05 PM, Peter Geoghegan <pg(at)heroku(dot)com> wrote:
>>
>> On Thu, Mar 17, 2016 at 4:46 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>> Alvaro's original complaint that the sentences no longer agree as to
>>> person is on-point.
>>
>> That's reasonable. Still, there are only a few existing instances of
>> gendered pronouns in the code, so fixing them carefully, without
>> losing anything important seems like a relatively straightforward
>> task.
>
> I have compiled a list of all the ones I found, manually excluding instances
> where the pronoun is appropriate:
>
> ./configure.in
> --------------
> line 751: # so we make the user say which one she wants.
>
> ./doc/src/sgml/release-7.4.sgml
> -------------------------------
> line 223: a database he owns, this would remove all special parameter settings
>
> ./doc/src/sgml/release-8.0.sgml
> -------------------------------
> line 293: a database he owns, this would remove all special parameter settings
>
> ./doc/src/sgml/release-8.1.sgml
> -------------------------------
> line 520: a database he owns, this would remove all special parameter settings
> line 3446: Once a user logs into a role, she obtains capabilities of
> line 3448: <command>SET ROLE</> to switch to other roles she is a member of.
>
> ./doc/src/sgml/release-8.2.sgml
> -------------------------------
> line 1423: a database he owns, this would remove all special parameter settings
>
> ./doc/src/sgml/release-8.3.sgml
> -------------------------------
> line 1072: function with forged input data, by installing it on a table he owns.
> line 2996: a database he owns, this would remove all special parameter settings
>
> ./doc/src/sgml/release-8.4.sgml
> -------------------------------
> line 492: revoke the access of others, contrary to the wishes of his grantor.
> line 494: uncooperative role member could provide most of his rights to others
> line 2719: function with forged input data, by installing it on a table he owns.
> line 5223: a database he owns, this would remove all special parameter settings
>
> ./doc/src/sgml/release-9.0.sgml
> -------------------------------
> line 1220: within a command parameter might succeed in injecting his own SQL
> line 2382: revoke the access of others, contrary to the wishes of his grantor.
> line 2384: uncooperative role member could provide most of his rights to others
> line 5089: function with forged input data, by installing it on a table he owns.
>
> ./doc/src/sgml/release-9.1.sgml
> -------------------------------
> line 1867: within a command parameter might succeed in injecting his own SQL
> line 3164: revoke the access of others, contrary to the wishes of his grantor.
> line 3166: uncooperative role member could provide most of his rights to others
> line 6551: function with forged input data, by installing it on a table he owns.
>
> ./doc/src/sgml/release-9.2.sgml
> -------------------------------
> line 2006: within a command parameter might succeed in injecting his own SQL
> line 3521: revoke the access of others, contrary to the wishes of his grantor.
> line 3523: uncooperative role member could provide most of his rights to others
>
> ./doc/src/sgml/release-9.3.sgml
> -------------------------------
> line 2273: within a command parameter might succeed in injecting his own SQL
> line 5641: revoke the access of others, contrary to the wishes of his grantor.
> line 5643: uncooperative role member could provide most of his rights to others
>
> ./doc/src/sgml/release-9.4.sgml
> -------------------------------
> line 4394: within a command parameter might succeed in injecting his own SQL
>
> ./doc/src/sgml/user-manag.sgml
> ------------------------------
> line 132: need not match his or her real name.) Since the role
>
> ./src/backend/access/hash/README
> --------------------------------
> line 446: page acquirer will scan more bitmap bits than he needs to. What must be
>
> ./src/backend/access/heap/heapam.c
> ----------------------------------
> line 5274: * It's a committed update, so we need to preserve him as updater of
> line 5381: * It's a committed update, so we gotta preserve him as updater of the
> line 6557: * the VACUUM and perhaps truncate off the part of pg_clog he needs. Getting
>
> ./src/backend/access/index/genam.c
> ----------------------------------
> line 48: * whatever kind of locking he wants.
>
> ./src/backend/access/transam/README
> -----------------------------------
> line 108: she sees and types ABORT (syntax error, etc)
>
> ./src/backend/access/transam/twophase.c
> ---------------------------------------
> line 624: * yet. The caller should filter them out if he doesn't want them.
>
> ./src/backend/access/transam/xact.c
> -----------------------------------
> line 3004: * will interpret the error as meaning the BEGIN failed to get him
>
> ./src/backend/access/transam/xlog.c
> -----------------------------------
> line 8386: * we wait till he's out of his commit critical section before proceeding.
> line 8399: * risk, since he's not inserted his commit record yet; and one that's
> line 8400: * already cleared it is not at risk either, since he's done fixing clog
> line 10498: * knowledge of those mechanisms, so it's up to the user to ensure that he
> line 10507: * assume the admin wanted his backup to work completely. If you don't
>
> ./src/backend/catalog/aclchk.c
> ------------------------------
> line 175: * The reason is that if a user would re-grant a privilege that he
> line 1004: * he has that, he could become that role anyway via SET ROLE, so
> line 1049: * allow the ALTER; if the user lacks CREATE he'll find out when
> line 1050: * he tries to create an object.
>
> ./src/backend/catalog/pg_shdepend.c
> -----------------------------------
> line 449: * Skip the owner: he has an OWNER shdep entry instead. (This is
>
> ./src/backend/commands/indexcmds.c
> ----------------------------------
> line 1358: * to specify which one he wants. (The preferred-type special case is a
>
> ./src/backend/commands/user.c
> -----------------------------
> line 1014: * Lock the role, so nobody can add dependencies to her while we drop
> line 1015: * her. We keep the lock until the end of transaction.
>
> ./src/backend/commands/vacuum.c
> -------------------------------
> line 1266: * We allow the user to vacuum a table if he is superuser, the table
>
> ./src/backend/executor/execQual.c
> ---------------------------------
> line 5483: * data will be valid, he must call ExecMaterializeSlot on the
>
> ./src/backend/executor/functions.c
> ----------------------------------
> line 1489: * to be sure that the user is returning the type he claims. There are
>
> ./src/backend/libpq/auth.c
> --------------------------
> line 1393: * owns the tcp connection from his port "remote_port" to port
>
> ./src/backend/libpq/hba.c
> -------------------------
> line 6: * says he comes from and choosing authentication method based on it).
>
> ./src/backend/nodes/makefuncs.c
> -------------------------------
> line 247: * We always set these fields to 0. If the caller wants to change them he
>
> ./src/backend/optimizer/plan/planner.c
> --------------------------------------
> line 276: * from a cursor, but it is often the case that he doesn't want 'em
> line 277: * all, or would prefer a fast-start plan anyway so that he can
>
> ./src/backend/parser/parse_clause.c
> -----------------------------------
> line 1631: * since the user didn't write them in his SELECT list.
> line 2004: * used by GROUP BY, should she be working with a datatype that has
> line 2523: * should she be working with a datatype that has more than one equality
> line 2612: * should she be working with a datatype that has more than one equality
>
> ./src/backend/port/sysv_sema.c
> ------------------------------
> line 256: * sema key before we did. Let him have that one, loop around to try
>
> ./src/backend/port/sysv_shmem.c
> -------------------------------
> line 534: * shmem key before we did. Let him have that one, loop around to try
>
> ./src/backend/postmaster/autovacuum.c
> -------------------------------------
> line 1670: * Wake the launcher up so that he can launch a new worker immediately
> line 2870: * All we do here is annoy the user if he got it wrong.
>
> ./src/backend/postmaster/pgarch.c
> ---------------------------------
> line 333: * signal ... however, the archiver exists to protect our data, so she
>
> ./src/backend/postmaster/pgstat.c
> ---------------------------------
> line 938: * Will tell the collector about objects he can get rid of.
>
> ./src/backend/postmaster/postmaster.c
> -------------------------------------
> line 4137: * process for nearly twice AuthenticationTimeout before we kick him off.
>
> ./src/backend/regex/regerror.c
> ------------------------------
> line 88: { /* unknown; tell him the number */
>
> ./src/backend/storage/buffer/bufmgr.c
> -------------------------------------
> line 3695: * io_in_progress lock until he's done.
> line 3726: * him to get unwedged.
>
> ./src/backend/storage/buffer/freelist.c
> ---------------------------------------
> line 599: * buffer with the normal allocation strategy. He will then fill this
> line 629: * strategy. He'll then replace this ring element via AddBufferToRing.
>
> ./src/backend/storage/ipc/sinvaladt.c
> -------------------------------------
> line 680: * him into reset state and then ignore until he catches up.
> line 685: /* no point in signaling him ... */
>
> ./src/backend/storage/lmgr/lock.c
> ---------------------------------
> line 1469: * some waiter, who could now be awakened because he doesn't conflict with
> line 1470: * his own locks.
>
> ./src/backend/storage/lmgr/proc.c
> ---------------------------------
> line 149: * than his kernel will support, he'll find out sooner rather than later.
> line 1063: /* Must he wait for me? */
> line 1066: /* Must I wait for him ? */
> line 1092: /* Break out of loop to put myself before him */
> line 1599: * Cannot wake this guy. Remember his request for later checks.
>
> ./src/backend/tcop/pquery.c
> ---------------------------
> line 500: * Fire her up according to the strategy
>
> ./src/backend/utils/adt/acl.c
> -----------------------------
> line 819: * options. This is because his grant options come "from the system" and
> line 820: * not from his own efforts. (The SQL spec says that the owner's rights
> line 822: * owner's ordinary privileges are self-granted; this lets him revoke
> line 4939: * FROM carol". If he creates an expression index calling that
>
> ./src/backend/utils/adt/ruleutils.c
> -----------------------------------
> line 2080: * shouldn't use a short delimiter that he might easily create a conflict
>
> ./src/backend/utils/cache/plancache.c
> -------------------------------------
> line 1313: /* OK, let the caller keep the plan where he wishes */
>
> ./src/backend/utils/fmgr/fmgr.c
> -------------------------------
> line 2484: * calls to validators that he could not achieve with CREATE FUNCTION or by
>
> ./src/bin/pg_dump/pg_backup_directory.c
> ---------------------------------------
> line 47: * Our archive location. This is basically what the user specified as his
>
> ./src/common/pg_lzcompress.c
> ----------------------------
> line 160: * is omitted and only his history entry added.
>
> ./src/include/c.h
> -----------------
> line 868: * that the pointer is suitably aligned (typically, because he just got it
>
> ./src/include/nodes/primnodes.h
> -------------------------------
> line 1329: * If he writes NATURAL then parse analysis generates the equivalent USING()
> line 1331: * If he writes USING() then "quals" is filled with equality comparisons.
> line 1332: * If he writes ON() then only "quals" is set. Note that NATURAL/USING
>
> ./src/interfaces/libpq/fe-lobj.c
> --------------------------------
> line 165: * function being available, he could have called lo_truncate64 for
>
> ./src/interfaces/libpq/fe-secure-openssl.c
> ------------------------------------------
> line 750: * If the caller has told us (through PQinitOpenSSL) that he's taking care
>
> ./src/nls-global.mk
> -------------------
> line 30: # If user specified the languages he wants in --enable-nls=LANGUAGES,
>
> ./src/test/regress/expected/dependency.out
> ------------------------------------------
> line 26: -- now we are OK to drop him
>
> ./src/test/regress/sql/dependency.sql
> -------------------------------------
> line 27: -- now we are OK to drop him
>
> ./src/tools/msvc/README
> -----------------------
> line 89: (i. e. path to bison and flex). In addition his config.pl file is merged into
>
>

My apologies. I'd already fixed a few, so my script no longer picked them up. They are:

diff --git a/configure b/configure
index a45be67..e67f045 100755
--- a/configure
+++ b/configure
@@ -5817,7 +5817,7 @@ fi
# There are at least three UUID libraries in common use: the FreeBSD/NetBSD
# library, the e2fsprogs libuuid (now part of util-linux-ng), and the OSSP
# UUID library. More than one of these might be present on a given platform,
-# so we make the user say which one she wants.
+# so we make the user say which one is wanted.
#


diff --git a/contrib/postgres_fdw/connection.c b/contrib/postgres_fdw/connection.c
index 189f290..b690d68 100644
--- a/contrib/postgres_fdw/connection.c
+++ b/contrib/postgres_fdw/connection.c
@@ -242,7 +242,7 @@ connect_pg_server(ForeignServer *server, UserMapping *user)

/*
* Check that non-superuser has used password to establish connection;
- * otherwise, he's piggybacking on the postgres server's user
+ * otherwise, the user is piggybacking on the postgres server's user
* identity. See also dblink_security_check() in contrib/dblink.
*/
if (!superuser() && !PQconnectionUsedPassword(conn))
diff --git a/contrib/postgres_fdw/postgres_fdw.c b/contrib/postgres_fdw/postgres_fdw.c
index e446cc5..b4d801a 100644
--- a/contrib/postgres_fdw/postgres_fdw.c
+++ b/contrib/postgres_fdw/postgres_fdw.c
@@ -3447,7 +3447,7 @@ foreign_join_ok(PlannerInfo *root, RelOptInfo *joinrel, JoinType jointype,

/*
* If user is willing to estimate cost for a scan of either of the joining
- * relations using EXPLAIN, he intends to estimate scans on that relation
+ * relations using EXPLAIN, user intends to estimate scans on that relation
* more accurately. Then, it makes sense to estimate the cost the join
* with that relation more accurately using EXPLAIN.
*/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jim Nasby 2016-03-18 00:59:03 Re: typmod is always -1
Previous Message David G. Johnston 2016-03-18 00:44:38 Re: Request - repeat value of \pset title during \watch interations