aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_expr.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2004-08-29 05:07:03 +0000
committerBruce Momjian <bruce@momjian.us>2004-08-29 05:07:03 +0000
commitb6b71b85bc45b49005b5aec87cba2c33fc8baf49 (patch)
treec23dbd1dbc43972a8e48327c8a771baf36952f3d /src/backend/parser/parse_expr.c
parent90cb9c305140684b2b00c739b724f67915e11404 (diff)
downloadpostgresql-b6b71b85bc45b49005b5aec87cba2c33fc8baf49.tar.gz
postgresql-b6b71b85bc45b49005b5aec87cba2c33fc8baf49.zip
Pgindent run for 8.0.
Diffstat (limited to 'src/backend/parser/parse_expr.c')
-rw-r--r--src/backend/parser/parse_expr.c121
1 files changed, 58 insertions, 63 deletions
diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c
index 7093c88bb21..73d74a0535f 100644
--- a/src/backend/parser/parse_expr.c
+++ b/src/backend/parser/parse_expr.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/parse_expr.c,v 1.175 2004/08/29 04:12:41 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/parse_expr.c,v 1.176 2004/08/29 05:06:44 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -39,17 +39,17 @@ bool Transform_null_equals = false;
static Node *transformColumnRef(ParseState *pstate, ColumnRef *cref);
static Node *transformWholeRowRef(ParseState *pstate, char *schemaname,
- char *relname);
+ char *relname);
static Node *transformIndirection(ParseState *pstate, Node *basenode,
List *indirection);
static Node *typecast_expression(ParseState *pstate, Node *expr,
TypeName *typename);
static Node *make_row_op(ParseState *pstate, List *opname,
- Node *ltree, Node *rtree);
+ Node *ltree, Node *rtree);
static Node *make_row_distinct_op(ParseState *pstate, List *opname,
- Node *ltree, Node *rtree);
+ Node *ltree, Node *rtree);
static Expr *make_distinct_op(ParseState *pstate, List *opname,
- Node *ltree, Node *rtree);
+ Node *ltree, Node *rtree);
/*
@@ -162,7 +162,7 @@ transformExpr(ParseState *pstate, Node *expr)
}
case T_A_Indirection:
{
- A_Indirection *ind = (A_Indirection *) expr;
+ A_Indirection *ind = (A_Indirection *) expr;
result = transformExpr(pstate, ind->arg);
result = transformIndirection(pstate, result,
@@ -196,7 +196,7 @@ transformExpr(ParseState *pstate, Node *expr)
*/
if (Transform_null_equals &&
list_length(a->name) == 1 &&
- strcmp(strVal(linitial(a->name)), "=") == 0 &&
+ strcmp(strVal(linitial(a->name)), "=") == 0 &&
(exprIsNullConstant(lexpr) ||
exprIsNullConstant(rexpr)))
{
@@ -218,12 +218,12 @@ transformExpr(ParseState *pstate, Node *expr)
{
/*
* Convert "row op subselect" into a
- * MULTIEXPR sublink. Formerly the grammar
- * did this, but now that a row construct is
- * allowed anywhere in expressions, it's
- * easier to do it here.
+ * MULTIEXPR sublink. Formerly the
+ * grammar did this, but now that a row
+ * construct is allowed anywhere in
+ * expressions, it's easier to do it here.
*/
- SubLink *s = (SubLink *) rexpr;
+ SubLink *s = (SubLink *) rexpr;
s->subLinkType = MULTIEXPR_SUBLINK;
s->lefthand = ((RowExpr *) lexpr)->args;
@@ -261,8 +261,8 @@ transformExpr(ParseState *pstate, Node *expr)
rexpr = coerce_to_boolean(pstate, rexpr, "AND");
result = (Node *) makeBoolExpr(AND_EXPR,
- list_make2(lexpr,
- rexpr));
+ list_make2(lexpr,
+ rexpr));
}
break;
case AEXPR_OR:
@@ -276,8 +276,8 @@ transformExpr(ParseState *pstate, Node *expr)
rexpr = coerce_to_boolean(pstate, rexpr, "OR");
result = (Node *) makeBoolExpr(OR_EXPR,
- list_make2(lexpr,
- rexpr));
+ list_make2(lexpr,
+ rexpr));
}
break;
case AEXPR_NOT:
@@ -288,7 +288,7 @@ transformExpr(ParseState *pstate, Node *expr)
rexpr = coerce_to_boolean(pstate, rexpr, "NOT");
result = (Node *) makeBoolExpr(NOT_EXPR,
- list_make1(rexpr));
+ list_make1(rexpr));
}
break;
case AEXPR_OP_ANY:
@@ -329,7 +329,7 @@ transformExpr(ParseState *pstate, Node *expr)
{
/* "row op row" */
result = make_row_distinct_op(pstate, a->name,
- lexpr, rexpr);
+ lexpr, rexpr);
}
else
{
@@ -338,7 +338,7 @@ transformExpr(ParseState *pstate, Node *expr)
rexpr = transformExpr(pstate, rexpr);
result = (Node *) make_distinct_op(pstate,
- a->name,
+ a->name,
lexpr,
rexpr);
}
@@ -420,8 +420,8 @@ transformExpr(ParseState *pstate, Node *expr)
* copy and then transform-in-place to avoid O(N^2)
* behavior from repeated lappend's.
*
- * XXX: repeated lappend() would no longer result in
- * O(n^2) behavior; worth reconsidering this design?
+ * XXX: repeated lappend() would no longer result in O(n^2)
+ * behavior; worth reconsidering this design?
*/
targs = list_copy(fn->args);
foreach(args, targs)
@@ -480,10 +480,10 @@ transformExpr(ParseState *pstate, Node *expr)
* (ignoring resjunk targets).
*/
if (tlist_item == NULL ||
- ((TargetEntry *) lfirst(tlist_item))->resdom->resjunk)
+ ((TargetEntry *) lfirst(tlist_item))->resdom->resjunk)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("subquery must return a column")));
+ errmsg("subquery must return a column")));
while ((tlist_item = lnext(tlist_item)) != NULL)
{
if (!((TargetEntry *) lfirst(tlist_item))->resdom->resjunk)
@@ -573,7 +573,7 @@ transformExpr(ParseState *pstate, Node *expr)
if (ll_item == NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("subquery has too many columns")));
+ errmsg("subquery has too many columns")));
lexpr = lfirst(ll_item);
ll_item = lnext(ll_item);
@@ -611,7 +611,7 @@ transformExpr(ParseState *pstate, Node *expr)
if (ll_item != NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("subquery has too few columns")));
+ errmsg("subquery has too few columns")));
if (needNot)
{
@@ -673,7 +673,7 @@ transformExpr(ParseState *pstate, Node *expr)
{
/* shorthand form was specified, so expand... */
warg = (Node *) makeSimpleA_Expr(AEXPR_OP, "=",
- (Node *) placeholder,
+ (Node *) placeholder,
warg);
}
neww->expr = (Expr *) transformExpr(pstate, warg);
@@ -805,8 +805,8 @@ transformExpr(ParseState *pstate, Node *expr)
case T_RowExpr:
{
- RowExpr *r = (RowExpr *) expr;
- RowExpr *newr = makeNode(RowExpr);
+ RowExpr *r = (RowExpr *) expr;
+ RowExpr *newr = makeNode(RowExpr);
List *newargs = NIL;
ListCell *arg;
@@ -967,17 +967,15 @@ transformIndirection(ParseState *pstate, Node *basenode, List *indirection)
/*
* We have to split any field-selection operations apart from
- * subscripting. Adjacent A_Indices nodes have to be treated
- * as a single multidimensional subscript operation.
+ * subscripting. Adjacent A_Indices nodes have to be treated as a
+ * single multidimensional subscript operation.
*/
foreach(i, indirection)
{
- Node *n = lfirst(i);
+ Node *n = lfirst(i);
if (IsA(n, A_Indices))
- {
subscripts = lappend(subscripts, n);
- }
else
{
Assert(IsA(n, String));
@@ -986,7 +984,7 @@ transformIndirection(ParseState *pstate, Node *basenode, List *indirection)
if (subscripts)
result = (Node *) transformArraySubscripts(pstate,
result,
- exprType(result),
+ exprType(result),
InvalidOid,
-1,
subscripts,
@@ -1069,9 +1067,9 @@ transformColumnRef(ParseState *pstate, ColumnRef *cref)
}
/*
- * Try to find the name as a relation. Note that only
- * relations already entered into the rangetable will be
- * recognized.
+ * Try to find the name as a relation. Note that only
+ * relations already entered into the rangetable will
+ * be recognized.
*
* This is a hack for backwards compatibility with
* PostQUEL-inspired syntax. The preferred form now
@@ -1111,7 +1109,7 @@ transformColumnRef(ParseState *pstate, ColumnRef *cref)
*/
node = transformWholeRowRef(pstate, NULL, name1);
node = ParseFuncOrColumn(pstate,
- list_make1(makeString(name2)),
+ list_make1(makeString(name2)),
list_make1(node),
false, false, true);
}
@@ -1137,7 +1135,7 @@ transformColumnRef(ParseState *pstate, ColumnRef *cref)
/* Try it as a function call */
node = transformWholeRowRef(pstate, name1, name2);
node = ParseFuncOrColumn(pstate,
- list_make1(makeString(name3)),
+ list_make1(makeString(name3)),
list_make1(node),
false, false, true);
}
@@ -1173,7 +1171,7 @@ transformColumnRef(ParseState *pstate, ColumnRef *cref)
/* Try it as a function call */
node = transformWholeRowRef(pstate, name2, name3);
node = ParseFuncOrColumn(pstate,
- list_make1(makeString(name4)),
+ list_make1(makeString(name4)),
list_make1(node),
false, false, true);
}
@@ -1262,11 +1260,12 @@ transformWholeRowRef(ParseState *pstate, char *schemaname, char *relname)
}
break;
default:
+
/*
- * RTE is a join or subselect. We represent this as a whole-row
- * Var of RECORD type. (Note that in most cases the Var will
- * be expanded to a RowExpr during planning, but that is not
- * our concern here.)
+ * RTE is a join or subselect. We represent this as a
+ * whole-row Var of RECORD type. (Note that in most cases the
+ * Var will be expanded to a RowExpr during planning, but that
+ * is not our concern here.)
*/
result = (Node *) makeVar(vnum,
InvalidAttrNumber,
@@ -1666,7 +1665,7 @@ static Node *
make_row_op(ParseState *pstate, List *opname, Node *ltree, Node *rtree)
{
Node *result = NULL;
- RowExpr *lrow,
+ RowExpr *lrow,
*rrow;
List *largs,
*rargs;
@@ -1700,27 +1699,23 @@ make_row_op(ParseState *pstate, List *opname, Node *ltree, Node *rtree)
(strcmp(oprname, "<=") == 0) ||
(strcmp(oprname, ">") == 0) ||
(strcmp(oprname, ">=") == 0))
- {
boolop = AND_EXPR;
- }
else if (strcmp(oprname, "<>") == 0)
- {
boolop = OR_EXPR;
- }
else
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("operator %s is not supported for row expressions",
- oprname)));
- boolop = 0; /* keep compiler quiet */
+ errmsg("operator %s is not supported for row expressions",
+ oprname)));
+ boolop = 0; /* keep compiler quiet */
}
forboth(l, largs, r, rargs)
{
- Node *larg = (Node *) lfirst(l);
- Node *rarg = (Node *) lfirst(r);
- Node *cmp;
+ Node *larg = (Node *) lfirst(l);
+ Node *rarg = (Node *) lfirst(r);
+ Node *cmp;
cmp = (Node *) make_op(pstate, opname, larg, rarg);
cmp = coerce_to_boolean(pstate, cmp, "row comparison");
@@ -1751,7 +1746,7 @@ make_row_distinct_op(ParseState *pstate, List *opname,
Node *ltree, Node *rtree)
{
Node *result = NULL;
- RowExpr *lrow,
+ RowExpr *lrow,
*rrow;
List *largs,
*rargs;
@@ -1773,9 +1768,9 @@ make_row_distinct_op(ParseState *pstate, List *opname,
forboth(l, largs, r, rargs)
{
- Node *larg = (Node *) lfirst(l);
- Node *rarg = (Node *) lfirst(r);
- Node *cmp;
+ Node *larg = (Node *) lfirst(l);
+ Node *rarg = (Node *) lfirst(r);
+ Node *cmp;
cmp = (Node *) make_distinct_op(pstate, opname, larg, rarg);
if (result == NULL)
@@ -1800,16 +1795,16 @@ make_row_distinct_op(ParseState *pstate, List *opname,
static Expr *
make_distinct_op(ParseState *pstate, List *opname, Node *ltree, Node *rtree)
{
- Expr *result;
+ Expr *result;
result = make_op(pstate, opname, ltree, rtree);
if (((OpExpr *) result)->opresulttype != BOOLOID)
ereport(ERROR,
(errcode(ERRCODE_DATATYPE_MISMATCH),
- errmsg("IS DISTINCT FROM requires = operator to yield boolean")));
+ errmsg("IS DISTINCT FROM requires = operator to yield boolean")));
+
/*
- * We rely on DistinctExpr and OpExpr being
- * same struct
+ * We rely on DistinctExpr and OpExpr being same struct
*/
NodeSetTag(result, T_DistinctExpr);