Re: "an SQL" vs. "a SQL"

Alvaro Herrera <alvherre@alvh.no-ip.org>

From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: David Rowley <dgrowleyml@gmail.com>
Cc: PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2021-06-10T14:35:05Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Doc: use "an SQL" consistently rather than "a SQL"

  2. Doc: use "an SQL" instead of "a SQL"

  3. Use the correct article for abbreviations

On 2021-Jun-10, David Rowley wrote:

> I thought it might be worth having this conversation before we branch for v15.
> 
> It seems we have no standard as to if we say "a SQL" or "an SQL".

I was just reading the standard a couple of days ago and happened to
notice that the standard itself in some places uses "a SQL" and in other
places "an SQL".  I didn't stop to make an analysis of that, so I don't
know how prevalent each form is -- I just giggled and moved on.

> My regex foo is not strong enough to think how I might find multiline instances.

This catches some of these:

ag "\sa[\s*]*\n[\s*]*(A|E|F|H|I|L|M|N|O|S|X)[A-Z]{2,5}\s"

You get a bunch of "a NULL" or "a NOT" and so on, but here's a few valid ones:

contrib/tablefunc/tablefunc.c:316: * crosstab - create a crosstab of rowids and values columns from a
contrib/tablefunc/tablefunc.c:317: * SQL statement returning one rowid column, one category column,

contrib/tablefunc/tablefunc.c:607: * crosstab - create a crosstab of rowids and values columns from a
contrib/tablefunc/tablefunc.c:608: * SQL statement returning one rowid column, one category column,

doc/src/sgml/plpgsql.sgml
1127:     The result of a
1128:     SQL command yielding a single row (possibly of multiple

src/backend/catalog/pg_subscription.c:438:			 * translator: first %s is a SQL ALTER command and second %s is a
src/backend/catalog/pg_subscription.c:439:			 * SQL DROP command

src/backend/replication/logical/logical.c:126:	 * 1) We need to be able to correctly and quickly identify the timeline a
src/backend/replication/logical/logical.c:127:	 *	  LSN belongs to

src/backend/libpq/auth.c:847:	 * has.  If it's an MD5 hash, we must do MD5 authentication, and if it's a
src/backend/libpq/auth.c:848:	 * SCRAM secret, we must do SCRAM authentication.

-- 
Álvaro Herrera       Valdivia, Chile