diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2001-04-18 20:42:56 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2001-04-18 20:42:56 +0000 |
| commit | d5096af2c42a78b2fccf24057a1eacb892399b40 (patch) | |
| tree | f2e1b09d6e65e3fc3c977826ac07ad537562594a /src/backend/rewrite/rewriteManip.c | |
| parent | e4c06b21251965fd8cea93764c65848430f5aa0a (diff) | |
| download | postgresql-d5096af2c42a78b2fccf24057a1eacb892399b40.tar.gz | |
Make the world safe for passing whole rows of views to functions. This
already worked fine for whole rows of tables, but not so well for views...
Diffstat (limited to 'src/backend/rewrite/rewriteManip.c')
| -rw-r--r-- | src/backend/rewrite/rewriteManip.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/backend/rewrite/rewriteManip.c b/src/backend/rewrite/rewriteManip.c index 663b67708e..45115b8d04 100644 --- a/src/backend/rewrite/rewriteManip.c +++ b/src/backend/rewrite/rewriteManip.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteManip.c,v 1.56 2001/03/22 03:59:44 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteManip.c,v 1.57 2001/04/18 20:42:55 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -765,8 +765,13 @@ ResolveNew_mutator(Node *node, ResolveNew_context *context) if (this_varno == context->target_varno && this_varlevelsup == context->sublevels_up) { - Node *n = FindMatchingNew(context->targetlist, - var->varattno); + Node *n; + + /* band-aid: don't do the wrong thing with a whole-tuple Var */ + if (var->varattno == InvalidAttrNumber) + elog(ERROR, "ResolveNew: can't handle whole-tuple reference"); + + n = FindMatchingNew(context->targetlist, var->varattno); if (n == NULL) { |
