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]