aboutsummaryrefslogtreecommitdiff
path: root/src/backend/nodes/nodeFuncs.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2015-02-22 14:40:27 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2015-02-22 14:40:27 -0500
commitc063da1769229efa8d8d21f0d068b3199ea3a6b3 (patch)
tree9337be8e39f8e5d3f2091ed2bf5e1e7828e46798 /src/backend/nodes/nodeFuncs.c
parent6a75562ed16b5fa52cfd8830e4546972e647db26 (diff)
downloadpostgresql-c063da1769229efa8d8d21f0d068b3199ea3a6b3.tar.gz
postgresql-c063da1769229efa8d8d21f0d068b3199ea3a6b3.zip
Add parse location fields to NullTest and BooleanTest structs.
We did not need a location tag on NullTest or BooleanTest before, because no error messages referred directly to their locations. That's planned to change though, so add these fields in a separate housekeeping commit. Catversion bump because stored rules may change.
Diffstat (limited to 'src/backend/nodes/nodeFuncs.c')
-rw-r--r--src/backend/nodes/nodeFuncs.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/backend/nodes/nodeFuncs.c b/src/backend/nodes/nodeFuncs.c
index 21dfda7f795..d6f1f5bb6d7 100644
--- a/src/backend/nodes/nodeFuncs.c
+++ b/src/backend/nodes/nodeFuncs.c
@@ -1346,12 +1346,22 @@ exprLocation(const Node *expr)
}
break;
case T_NullTest:
- /* just use argument's location */
- loc = exprLocation((Node *) ((const NullTest *) expr)->arg);
+ {
+ const NullTest *nexpr = (const NullTest *) expr;
+
+ /* Much as above */
+ loc = leftmostLoc(nexpr->location,
+ exprLocation((Node *) nexpr->arg));
+ }
break;
case T_BooleanTest:
- /* just use argument's location */
- loc = exprLocation((Node *) ((const BooleanTest *) expr)->arg);
+ {
+ const BooleanTest *bexpr = (const BooleanTest *) expr;
+
+ /* Much as above */
+ loc = leftmostLoc(bexpr->location,
+ exprLocation((Node *) bexpr->arg));
+ }
break;
case T_CoerceToDomain:
{