aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_expr.c
diff options
context:
space:
mode:
authorNeil Conway <neilc@samurai.com>2004-05-30 23:40:41 +0000
committerNeil Conway <neilc@samurai.com>2004-05-30 23:40:41 +0000
commit72b6ad6313387110cb36b69a3732cd0936c3eba4 (patch)
treee43da77aaeb3a9d7f4997ddb2b91ae88001ea462 /src/backend/parser/parse_expr.c
parentec0b1f271639ff0fafd1310de3c47cbb214c6294 (diff)
downloadpostgresql-72b6ad6313387110cb36b69a3732cd0936c3eba4.tar.gz
postgresql-72b6ad6313387110cb36b69a3732cd0936c3eba4.zip
Use the new List API function names throughout the backend, and disable the
list compatibility API by default. While doing this, I decided to keep the llast() macro around and introduce llast_int() and llast_oid() variants.
Diffstat (limited to 'src/backend/parser/parse_expr.c')
-rw-r--r--src/backend/parser/parse_expr.c70
1 files changed, 35 insertions, 35 deletions
diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c
index 9efebdfdb48..5dbac6338bc 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.171 2004/05/26 04:41:30 neilc Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/parse_expr.c,v 1.172 2004/05/30 23:40:35 neilc Exp $
*
*-------------------------------------------------------------------------
*/
@@ -153,8 +153,8 @@ transformExpr(ParseState *pstate, Node *expr)
foreach(fields, pref->fields)
{
result = ParseFuncOrColumn(pstate,
- makeList1(lfirst(fields)),
- makeList1(result),
+ list_make1(lfirst(fields)),
+ list_make1(result),
false, false, true);
}
/* handle subscripts, if any */
@@ -183,8 +183,8 @@ transformExpr(ParseState *pstate, Node *expr)
foreach(fields, efs->fields)
{
result = ParseFuncOrColumn(pstate,
- makeList1(lfirst(fields)),
- makeList1(result),
+ list_make1(lfirst(fields)),
+ list_make1(result),
false, false, true);
}
/* handle subscripts, if any */
@@ -218,7 +218,7 @@ transformExpr(ParseState *pstate, Node *expr)
* into IS NULL exprs.
*/
if (Transform_null_equals &&
- length(a->name) == 1 &&
+ list_length(a->name) == 1 &&
strcmp(strVal(linitial(a->name)), "=") == 0 &&
(exprIsNullConstant(lexpr) ||
exprIsNullConstant(rexpr)))
@@ -284,8 +284,8 @@ transformExpr(ParseState *pstate, Node *expr)
rexpr = coerce_to_boolean(pstate, rexpr, "AND");
result = (Node *) makeBoolExpr(AND_EXPR,
- makeList2(lexpr,
- rexpr));
+ list_make2(lexpr,
+ rexpr));
}
break;
case AEXPR_OR:
@@ -299,8 +299,8 @@ transformExpr(ParseState *pstate, Node *expr)
rexpr = coerce_to_boolean(pstate, rexpr, "OR");
result = (Node *) makeBoolExpr(OR_EXPR,
- makeList2(lexpr,
- rexpr));
+ list_make2(lexpr,
+ rexpr));
}
break;
case AEXPR_NOT:
@@ -311,7 +311,7 @@ transformExpr(ParseState *pstate, Node *expr)
rexpr = coerce_to_boolean(pstate, rexpr, "NOT");
result = (Node *) makeBoolExpr(NOT_EXPR,
- makeList1(rexpr));
+ list_make1(rexpr));
}
break;
case AEXPR_OP_ANY:
@@ -446,7 +446,7 @@ transformExpr(ParseState *pstate, Node *expr)
* XXX: repeated lappend() would no longer result in
* O(n^2) behavior; worth reconsidering this design?
*/
- targs = listCopy(fn->args);
+ targs = list_copy(fn->args);
foreach(args, targs)
{
lfirst(args) = transformExpr(pstate,
@@ -474,7 +474,7 @@ transformExpr(ParseState *pstate, Node *expr)
}
pstate->p_hasSubLinks = true;
qtrees = parse_sub_analyze(sublink->subselect, pstate);
- if (length(qtrees) != 1)
+ if (list_length(qtrees) != 1)
elog(ERROR, "bad query in sub-select");
qtree = (Query *) linitial(qtrees);
if (qtree->commandType != CMD_SELECT ||
@@ -530,7 +530,7 @@ transformExpr(ParseState *pstate, Node *expr)
/* ALL, ANY, or MULTIEXPR: generate operator list */
List *left_list = sublink->lefthand;
List *right_list = qtree->targetList;
- int row_length = length(left_list);
+ int row_length = list_length(left_list);
bool needNot = false;
List *op = sublink->operName;
char *opname = strVal(llast(op));
@@ -548,11 +548,11 @@ transformExpr(ParseState *pstate, Node *expr)
* pre-7.4 Postgres.
*/
if (sublink->subLinkType == ALL_SUBLINK &&
- length(op) == 1 && strcmp(opname, "<>") == 0)
+ list_length(op) == 1 && strcmp(opname, "<>") == 0)
{
sublink->subLinkType = ANY_SUBLINK;
opname = pstrdup("=");
- op = makeList1(makeString(opname));
+ op = list_make1(makeString(opname));
sublink->operName = op;
needNot = true;
}
@@ -626,8 +626,8 @@ transformExpr(ParseState *pstate, Node *expr)
opname),
errhint("The operator of a quantified predicate subquery must return type boolean.")));
- sublink->operOids = lappendo(sublink->operOids,
- oprid(optup));
+ sublink->operOids = lappend_oid(sublink->operOids,
+ oprid(optup));
ReleaseSysCache(optup);
}
@@ -640,7 +640,7 @@ transformExpr(ParseState *pstate, Node *expr)
{
expr = coerce_to_boolean(pstate, expr, "NOT");
expr = (Node *) makeBoolExpr(NOT_EXPR,
- makeList1(expr));
+ list_make1(expr));
}
}
result = (Node *) expr;
@@ -709,7 +709,7 @@ transformExpr(ParseState *pstate, Node *expr)
neww->result = (Expr *) transformExpr(pstate, warg);
newargs = lappend(newargs, neww);
- typeids = lappendo(typeids, exprType((Node *) neww->result));
+ typeids = lappend_oid(typeids, exprType((Node *) neww->result));
}
newc->args = newargs;
@@ -731,7 +731,7 @@ transformExpr(ParseState *pstate, Node *expr)
* code worked before, but it seems a little bogus to me
* --- tgl
*/
- typeids = lconso(exprType((Node *) newc->defresult), typeids);
+ typeids = lcons_oid(exprType((Node *) newc->defresult), typeids);
ptype = select_common_type(typeids, "CASE");
Assert(OidIsValid(ptype));
@@ -779,7 +779,7 @@ transformExpr(ParseState *pstate, Node *expr)
newe = transformExpr(pstate, e);
newelems = lappend(newelems, newe);
- typeids = lappendo(typeids, exprType(newe));
+ typeids = lappend_oid(typeids, exprType(newe));
}
/* Select a common type for the elements */
@@ -868,7 +868,7 @@ transformExpr(ParseState *pstate, Node *expr)
newe = transformExpr(pstate, e);
newargs = lappend(newargs, newe);
- typeids = lappendo(typeids, exprType(newe));
+ typeids = lappend_oid(typeids, exprType(newe));
}
newc->coalescetype = select_common_type(typeids, "COALESCE");
@@ -997,7 +997,7 @@ transformIndirection(ParseState *pstate, Node *basenode, List *indirection)
static Node *
transformColumnRef(ParseState *pstate, ColumnRef *cref)
{
- int numnames = length(cref->fields);
+ int numnames = list_length(cref->fields);
Node *node;
int levels_up;
@@ -1095,8 +1095,8 @@ transformColumnRef(ParseState *pstate, ColumnRef *cref)
*/
node = transformWholeRowRef(pstate, NULL, name1);
node = ParseFuncOrColumn(pstate,
- makeList1(makeString(name2)),
- makeList1(node),
+ list_make1(makeString(name2)),
+ list_make1(node),
false, false, true);
}
break;
@@ -1121,8 +1121,8 @@ transformColumnRef(ParseState *pstate, ColumnRef *cref)
/* Try it as a function call */
node = transformWholeRowRef(pstate, name1, name2);
node = ParseFuncOrColumn(pstate,
- makeList1(makeString(name3)),
- makeList1(node),
+ list_make1(makeString(name3)),
+ list_make1(node),
false, false, true);
}
break;
@@ -1157,8 +1157,8 @@ transformColumnRef(ParseState *pstate, ColumnRef *cref)
/* Try it as a function call */
node = transformWholeRowRef(pstate, name2, name3);
node = ParseFuncOrColumn(pstate,
- makeList1(makeString(name4)),
- makeList1(node),
+ list_make1(makeString(name4)),
+ list_make1(node),
false, false, true);
}
break;
@@ -1587,7 +1587,7 @@ exprIsLengthCoercion(Node *expr, int32 *coercedTypmod)
* second argument being an int4 constant, it can't have been created
* from a length coercion (it must be a type coercion, instead).
*/
- nargs = length(func->args);
+ nargs = list_length(func->args);
if (nargs < 2 || nargs > 3)
return false;
@@ -1661,7 +1661,7 @@ make_row_op(ParseState *pstate, List *opname, Node *ltree, Node *rtree)
largs = lrow->args;
rargs = rrow->args;
- if (length(largs) != length(rargs))
+ if (list_length(largs) != list_length(rargs))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("unequal number of entries in row expression")));
@@ -1706,7 +1706,7 @@ make_row_op(ParseState *pstate, List *opname, Node *ltree, Node *rtree)
result = cmp;
else
result = (Node *) makeBoolExpr(boolop,
- makeList2(result, cmp));
+ list_make2(result, cmp));
}
if (result == NULL)
@@ -1744,7 +1744,7 @@ make_row_distinct_op(ParseState *pstate, List *opname,
largs = lrow->args;
rargs = rrow->args;
- if (length(largs) != length(rargs))
+ if (list_length(largs) != list_length(rargs))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("unequal number of entries in row expression")));
@@ -1760,7 +1760,7 @@ make_row_distinct_op(ParseState *pstate, List *opname,
result = cmp;
else
result = (Node *) makeBoolExpr(OR_EXPR,
- makeList2(result, cmp));
+ list_make2(result, cmp));
}
if (result == NULL)