Skip site navigation (1) Skip section navigation (2)

Re: expression_tree_walker() and primitive node types

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Neil Conway <neilc(at)samurai(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: expression_tree_walker() and primitive node types
Date: 2007-10-12 14:23:17
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-bugs
Neil Conway <neilc(at)samurai(dot)com> writes:
> I wouldn't call this behavior buggy, but I found it somewhat surprising.
> expression_tree_walker() assumes that the walker has already been
> invoked on the current node (the node that a given recursive call of
> expression_tree_walker() has been invoked on). Therefore, calling
> expression_tree_walker() on a primitive node type, such as a Var, is a
> no-op.

The documented usage method is to call the walker itself at the top
level of recursion.  The walker calls expression_tree_walker (after
doing its thing on the node); other code should not call
expression_tree_walker directly.

			regards, tom lane

In response to

pgsql-bugs by date

Next:From: Martin PittDate: 2007-10-12 14:33:38
Subject: libpq5 8.3 breaks 8.2 compatibility with encodings
Previous:From: Heikki LinnakangasDate: 2007-10-12 13:34:59
Subject: Re: BUG #3673: Untrusted perl language: ERROR: could not open relation 1663/16384/1259: No such file or directory

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group