pgpool2.git / summary / log / commit / refs

commit    4e42e9e83c4ff3a8d8e22539a9a9553a79892c7f
Author:   Tatsuo Ishii <ishii@postgresql.org>
Date:     Fri Oct 26 09:18:40 2012 +0000

    Fix pgpool does not recognize VIEWs other than in default schema,
    which is usually "public". This makes pgpool to create caches for such
    a VIEW's query results, which of course should not be allowed. Problem
    reported and patch provided by jgentsch in bug id #30.


pool_select_walker.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pool_select_walker.c b/pool_select_walker.c index f9e63c450..8a2e23222 100644 --- a/pool_select_walker.c +++ b/pool_select_walker.c @@ -368,6 +368,7 @@ static bool view_walker(Node *node, void *context) { SelectContext *ctx = (SelectContext *) context; + char *relname; if (node == NULL) return false; @@ -375,10 +376,10 @@ view_walker(Node *node, void *context) if (IsA(node, RangeVar)) { RangeVar *rgv = (RangeVar *)node; + relname = make_table_name_from_rangevar(rgv); + pool_debug("view_walker: relname: %s", relname); - pool_debug("view_walker: relname: %s", rgv->relname); - - if (is_view(rgv->relname)) + if (is_view(relname)) { ctx->has_view = true; return false; [parent: 4ceed7b25478]