diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2008-08-30 01:39:14 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2008-08-30 01:39:14 +0000 |
commit | 449a00fbbd49c00ba031432e8b6913a55e8ad1f6 (patch) | |
tree | c19cdeb09e444071accc7f4984d2067741988f86 /src/backend/commands/async.c | |
parent | 6253f9de6702fa73101997034b4fec038d547f6d (diff) | |
download | postgresql-449a00fbbd49c00ba031432e8b6913a55e8ad1f6.tar.gz postgresql-449a00fbbd49c00ba031432e8b6913a55e8ad1f6.zip |
Fix the raw-parsetree representation of star (as in SELECT * FROM or
SELECT foo.*) so that it cannot be confused with a quoted identifier "*".
Instead create a separate node type A_Star to represent this notation.
Per pgsql-hackers discussion of 2007-Sep-27.
Diffstat (limited to 'src/backend/commands/async.c')
-rw-r--r-- | src/backend/commands/async.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/backend/commands/async.c b/src/backend/commands/async.c index 0a58d5e752a..fabba799c4a 100644 --- a/src/backend/commands/async.c +++ b/src/backend/commands/async.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/async.c,v 1.140 2008/03/26 21:10:37 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/commands/async.c,v 1.141 2008/08/30 01:39:13 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -274,24 +274,16 @@ Async_Listen(const char *relname) void Async_Unlisten(const char *relname) { - /* Handle specially the `unlisten "*"' command */ - if ((!relname) || (*relname == '\0') || (strcmp(relname, "*") == 0)) - { - Async_UnlistenAll(); - } - else - { - if (Trace_notify) - elog(DEBUG1, "Async_Unlisten(%s,%d)", relname, MyProcPid); + if (Trace_notify) + elog(DEBUG1, "Async_Unlisten(%s,%d)", relname, MyProcPid); - queue_listen(LISTEN_UNLISTEN, relname); - } + queue_listen(LISTEN_UNLISTEN, relname); } /* * Async_UnlistenAll * - * This is invoked by UNLISTEN "*" command, and also at backend exit. + * This is invoked by UNLISTEN * command, and also at backend exit. */ void Async_UnlistenAll(void) |