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
timelinea
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