index 76b0affff069d54476e4e63dec536f7d643a3500..6c21002875394b9b8f04800cc81b994ebafbe705 100644 (file)
{ $$ = makeNotExpr(2,ドル @1); }
| a_expr LIKE a_expr
- { $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", 1,ドル 3,ドル @2); }
+ {
+ $$ = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
+ 1,ドル 3,ドル @2);
+ }
| a_expr LIKE a_expr ESCAPE a_expr
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2(3,ドル 5ドル),
@2);
- $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~", 1,ドル (Node *) n, @2);
+ $$ = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
+ 1,ドル (Node *) n, @2);
}
| a_expr NOT LIKE a_expr
- { $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", 1,ドル 4,ドル @2); }
+ {
+ $$ = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
+ 1,ドル 4,ドル @2);
+ }
| a_expr NOT LIKE a_expr ESCAPE a_expr
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2(4,ドル 6ドル),
@2);
- $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~", 1,ドル (Node *) n, @2);
+ $$ = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
+ 1,ドル (Node *) n, @2);
}
| a_expr ILIKE a_expr
- { $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", 1,ドル 3,ドル @2); }
+ {
+ $$ = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
+ 1,ドル 3,ドル @2);
+ }
| a_expr ILIKE a_expr ESCAPE a_expr
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2(3,ドル 5ドル),
@2);
- $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~~*", 1,ドル (Node *) n, @2);
+ $$ = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
+ 1,ドル (Node *) n, @2);
}
| a_expr NOT ILIKE a_expr
- { $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", 1,ドル 4,ドル @2); }
+ {
+ $$ = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
+ 1,ドル 4,ドル @2);
+ }
| a_expr NOT ILIKE a_expr ESCAPE a_expr
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2(4,ドル 6ドル),
@2);
- $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~~*", 1,ドル (Node *) n, @2);
+ $$ = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
+ 1,ドル (Node *) n, @2);
}
| a_expr SIMILAR TO a_expr %prec SIMILAR
FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
list_make2(4,ドル makeNullAConst(-1)),
@2);
- $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", 1,ドル (Node *) n, @2);
+ $$ = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
+ 1,ドル (Node *) n, @2);
}
| a_expr SIMILAR TO a_expr ESCAPE a_expr
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
list_make2(4,ドル 6ドル),
@2);
- $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "~", 1,ドル (Node *) n, @2);
+ $$ = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
+ 1,ドル (Node *) n, @2);
}
| a_expr NOT SIMILAR TO a_expr %prec SIMILAR
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
list_make2(5,ドル makeNullAConst(-1)),
@2);
- $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", 1,ドル (Node *) n, @2);
+ $$ = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
+ 1,ドル (Node *) n, @2);
}
| a_expr NOT SIMILAR TO a_expr ESCAPE a_expr
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
list_make2(5,ドル 7ドル),
@2);
- $$ = (Node *) makeSimpleA_Expr(AEXPR_OP, "!~", 1,ドル (Node *) n, @2);
+ $$ = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
+ 1,ドル (Node *) n, @2);
}
/* NullTest clause
n->subLinkType = ANY_SUBLINK;
n->subLinkId = 0;
n->testexpr = 1ドル;
- n->operName = list_make1(makeString("="));
+ n->operName = NIL; /* show it's IN not = ANY */
n->location = @2;
$$ = (Node *)n;
}
n->subLinkType = ANY_SUBLINK;
n->subLinkId = 0;
n->testexpr = 1ドル;
- n->operName = list_make1(makeString("="));
- n->location = @3;
- /* Stick a NOT on top */
+ n->operName = NIL; /* show it's IN not = ANY */
+ n->location = @2;
+ /* Stick a NOT on top; must have same parse location */
$$ = makeNotExpr((Node *) n, @2);
}
else