On Sun, 15 Aug 2004, Frank van Vugt wrote:
> L.S.
>
> Either the docs or I are missing something....
>
> While using libpq I noticed that listen/notify calls were being converted to
> lowercase. A further look showed that the listen/notify calls seem to be
> totally case insensitive:
>
> free4testing=# select version();
> version
> ---------------------------------------------------------------------
> PostgreSQL 7.4.3 on i686-pc-linux-gnu, compiled by GCC egcs-2.91.66
>
> free4testing=# listen barcode_needed;
> LISTEN
> free4testing=# notify BARCODE_NEEDED;
> NOTIFY
> Asynchronous notification "barcode_needed" received from server process with
> PID 32638.
> free4testing=# unlisten BARCODE_NEEDED;
> UNLISTEN
> free4testing=#
>
>
> Obviously, things work and they probably work as intended, but I wasn't able
> to find anything on this behaviour in the docs. For a moment I thought that
> the syntax rule 'unquoted letters are forced to lowercase' of SQL applied
> here as well, but any double quotes used are simply interpreted as part of
> the name.
On my 7.4.2 machine, I can get:
sszabo=# listen foo;
LISTEN
sszabo=# notify "FOO";
NOTIFY
sszabo=# notify "foo";
NOTIFY
Asynchronous notification "foo" received from server process with PID
7042.
sszabo=# notify FOO;
NOTIFY
Asynchronous notification "foo" received from server process with PID
7042.
So, it looks to me that "FOO" is not being casefolded while FOO is, which
would be consistent with the identifier folding rules.