This is a discussion on expression_tree_walker() and primitive node types within the pgsql Bugs forums, part of the PostgreSQL category; --> I wouldn't call this behavior buggy, but I found it somewhat surprising. expression_tree_walker() assumes that the walker has already ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| 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. ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match |
| ||||
| Neil Conway <neilc@samurai.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 ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@postgresql.org so that your message can get through to the mailing list cleanly |
| Thread Tools | |
| Display Modes | |
|
|