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