From 7839d35991f1c79a291e67635d5f4c5750c16e9b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 1 Jan 2010 23:03:10 +0000 Subject: Add an "argisrow" field to NullTest nodes, following a plan made way back in 8.2beta but never carried out. This avoids repetitive tests of whether the argument is of scalar or composite type. Also, be a bit more paranoid about composite arguments in some places where we previously weren't checking. --- src/backend/executor/execQual.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/backend/executor') diff --git a/src/backend/executor/execQual.c b/src/backend/executor/execQual.c index a5604537515..8f025cfba5e 100644 --- a/src/backend/executor/execQual.c +++ b/src/backend/executor/execQual.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/executor/execQual.c,v 1.257 2009/12/29 17:40:59 heikki Exp $ + * $PostgreSQL: pgsql/src/backend/executor/execQual.c,v 1.258 2010/01/01 23:03:09 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -3475,7 +3475,7 @@ ExecEvalNullTest(NullTestState *nstate, if (isDone && *isDone == ExprEndResult) return result; /* nothing to check */ - if (nstate->argisrow && !(*isNull)) + if (ntest->argisrow && !(*isNull)) { HeapTupleHeader tuple; Oid tupType; @@ -4704,7 +4704,6 @@ ExecInitExpr(Expr *node, PlanState *parent) nstate->xprstate.evalfunc = (ExprStateEvalFunc) ExecEvalNullTest; nstate->arg = ExecInitExpr(ntest->arg, parent); - nstate->argisrow = type_is_rowtype(exprType((Node *) ntest->arg)); nstate->argdesc = NULL; state = (ExprState *) nstate; } -- cgit v1.2.3