From 9ab6c3033e1177d98f53a8f9f812c1428b2f8505 Mon Sep 17 00:00:00 2001 From: Tom Lane <tgl@sss.pgh.pa.us> Date: Wed, 4 Nov 2009 23:15:08 +0000 Subject: [PATCH] Make expression locations for LIKE and SIMILAR TO constructs uniformly point at the first keyword of the expression, rather than drawing a rather artificial distinction between the ESCAPE subclause and the rest. Per gripe from Gokulakannan Somasundaram and subsequent discusssion. --- src/backend/parser/gram.y | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 2fe6ab16120..058574a9a4e 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.686 2009/10/14 22:14:22 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.687 2009/11/04 23:15:08 tgl Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -8607,7 +8607,7 @@ a_expr: c_expr { $$ = $1; } n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = @4; + n->location = @2; $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", $1, (Node *) n, @2); } | a_expr NOT LIKE a_expr @@ -8621,7 +8621,7 @@ a_expr: c_expr { $$ = $1; } n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = @5; + n->location = @2; $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", $1, (Node *) n, @2); } | a_expr ILIKE a_expr @@ -8635,7 +8635,7 @@ a_expr: c_expr { $$ = $1; } n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = @4; + n->location = @2; $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", $1, (Node *) n, @2); } | a_expr NOT ILIKE a_expr @@ -8649,7 +8649,7 @@ a_expr: c_expr { $$ = $1; } n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = @5; + n->location = @2; $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", $1, (Node *) n, @2); } @@ -8674,7 +8674,7 @@ a_expr: c_expr { $$ = $1; } n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = @5; + n->location = @2; $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", $1, (Node *) n, @2); } | a_expr NOT SIMILAR TO a_expr %prec SIMILAR @@ -8686,7 +8686,7 @@ a_expr: c_expr { $$ = $1; } n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = @5; + n->location = @2; $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", $1, (Node *) n, @2); } | a_expr NOT SIMILAR TO a_expr ESCAPE a_expr @@ -8698,7 +8698,7 @@ a_expr: c_expr { $$ = $1; } n->agg_distinct = FALSE; n->func_variadic = FALSE; n->over = NULL; - n->location = @6; + n->location = @2; $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", $1, (Node *) n, @2); } -- GitLab