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


Reply via email to