Documentation
¶
Overview ¶
Package rawwalk is raw_expression_tree_walker (src/backend/nodes/ nodeFuncs.c, PostgreSQL 18) over the protobuf tree, gated exactly as pg_query_raw_tree_walker_supports allows: node types outside the walker's switch return false without descending. It drives the summary walks and the PL/pgSQL driver's statement collection.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Concrete ¶
concrete unwraps an *ast.Node into its inner concrete pointer (the oneof member), so callbacks can switch on one representation regardless of whether a child arrived generically (*ast.Node) or as a typed field (*ast.RangeVar, *ast.FuncCall, ...).
func WalkChildren ¶
walkChildren is raw_expression_tree_walker_impl (src/backend/nodes/ nodeFuncs.c, PostgreSQL 18) gated exactly as pg_query_raw_tree_walker_supports allows: node types outside the walker's switch return false without descending (the summary C files check the gate before calling the walker; folding it into the default arm is equivalent). Child order is the C walker's, verbatim — it decides the order of every summary list.
Types ¶
type NodeList ¶
The C walks operate on Node* where a node may be a T_List; the callback is invoked for list nodes too (which matters for the truncation walk's depth accounting). NodeList and RawStmtList model those list nodes over the protobuf tree.