Skip to content
Snippets Groups Projects
Commit 9ab6c303 authored by Tom Lane's avatar Tom Lane
Browse files

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.
parent 9bedd128
No related branches found
No related tags found
No related merge requests found
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
* *
* *
* IDENTIFICATION * 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 * HISTORY
* AUTHOR DATE MAJOR EVENT * AUTHOR DATE MAJOR EVENT
...@@ -8607,7 +8607,7 @@ a_expr: c_expr { $$ = $1; } ...@@ -8607,7 +8607,7 @@ a_expr: c_expr { $$ = $1; }
n->agg_distinct = FALSE; n->agg_distinct = FALSE;
n->func_variadic = FALSE; n->func_variadic = FALSE;
n->over = NULL; n->over = NULL;
n->location = @4; n->location = @2;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", $1, (Node *) n, @2); $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", $1, (Node *) n, @2);
} }
| a_expr NOT LIKE a_expr | a_expr NOT LIKE a_expr
...@@ -8621,7 +8621,7 @@ a_expr: c_expr { $$ = $1; } ...@@ -8621,7 +8621,7 @@ a_expr: c_expr { $$ = $1; }
n->agg_distinct = FALSE; n->agg_distinct = FALSE;
n->func_variadic = FALSE; n->func_variadic = FALSE;
n->over = NULL; n->over = NULL;
n->location = @5; n->location = @2;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", $1, (Node *) n, @2); $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", $1, (Node *) n, @2);
} }
| a_expr ILIKE a_expr | a_expr ILIKE a_expr
...@@ -8635,7 +8635,7 @@ a_expr: c_expr { $$ = $1; } ...@@ -8635,7 +8635,7 @@ a_expr: c_expr { $$ = $1; }
n->agg_distinct = FALSE; n->agg_distinct = FALSE;
n->func_variadic = FALSE; n->func_variadic = FALSE;
n->over = NULL; n->over = NULL;
n->location = @4; n->location = @2;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", $1, (Node *) n, @2); $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", $1, (Node *) n, @2);
} }
| a_expr NOT ILIKE a_expr | a_expr NOT ILIKE a_expr
...@@ -8649,7 +8649,7 @@ a_expr: c_expr { $$ = $1; } ...@@ -8649,7 +8649,7 @@ a_expr: c_expr { $$ = $1; }
n->agg_distinct = FALSE; n->agg_distinct = FALSE;
n->func_variadic = FALSE; n->func_variadic = FALSE;
n->over = NULL; n->over = NULL;
n->location = @5; n->location = @2;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", $1, (Node *) n, @2); $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", $1, (Node *) n, @2);
} }
...@@ -8674,7 +8674,7 @@ a_expr: c_expr { $$ = $1; } ...@@ -8674,7 +8674,7 @@ a_expr: c_expr { $$ = $1; }
n->agg_distinct = FALSE; n->agg_distinct = FALSE;
n->func_variadic = FALSE; n->func_variadic = FALSE;
n->over = NULL; n->over = NULL;
n->location = @5; n->location = @2;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", $1, (Node *) n, @2); $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", $1, (Node *) n, @2);
} }
| a_expr NOT SIMILAR TO a_expr %prec SIMILAR | a_expr NOT SIMILAR TO a_expr %prec SIMILAR
...@@ -8686,7 +8686,7 @@ a_expr: c_expr { $$ = $1; } ...@@ -8686,7 +8686,7 @@ a_expr: c_expr { $$ = $1; }
n->agg_distinct = FALSE; n->agg_distinct = FALSE;
n->func_variadic = FALSE; n->func_variadic = FALSE;
n->over = NULL; n->over = NULL;
n->location = @5; n->location = @2;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", $1, (Node *) n, @2); $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", $1, (Node *) n, @2);
} }
| a_expr NOT SIMILAR TO a_expr ESCAPE a_expr | a_expr NOT SIMILAR TO a_expr ESCAPE a_expr
...@@ -8698,7 +8698,7 @@ a_expr: c_expr { $$ = $1; } ...@@ -8698,7 +8698,7 @@ a_expr: c_expr { $$ = $1; }
n->agg_distinct = FALSE; n->agg_distinct = FALSE;
n->func_variadic = FALSE; n->func_variadic = FALSE;
n->over = NULL; n->over = NULL;
n->location = @6; n->location = @2;
$$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", $1, (Node *) n, @2); $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", $1, (Node *) n, @2);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment