diff options
Diffstat (limited to 'src/backend/executor')
-rw-r--r-- | src/backend/executor/nodeAgg.c | 14 | ||||
-rw-r--r-- | src/backend/executor/nodeGroup.c | 13 |
2 files changed, 11 insertions, 16 deletions
diff --git a/src/backend/executor/nodeAgg.c b/src/backend/executor/nodeAgg.c index bfb2646b6a6..f60f499e6be 100644 --- a/src/backend/executor/nodeAgg.c +++ b/src/backend/executor/nodeAgg.c @@ -46,7 +46,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/nodeAgg.c,v 1.74 2001/02/15 21:47:08 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/nodeAgg.c,v 1.75 2001/02/16 03:16:57 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -909,21 +909,19 @@ ExecInitAgg(Agg *node, EState *estate, Plan *parent) * (Consider COUNT(*).) */ Oid inputType = exprType(aggref->target); - Operator eq_operator; - Form_pg_operator pgopform; + Oid eq_function; peraggstate->inputType = inputType; get_typlenbyval(inputType, &peraggstate->inputtypeLen, &peraggstate->inputtypeByVal); - eq_operator = oper("=", inputType, inputType, true); - if (!HeapTupleIsValid(eq_operator)) + eq_function = compatible_oper_funcid("=", inputType, inputType, + true); + if (!OidIsValid(eq_function)) elog(ERROR, "Unable to identify an equality operator for type '%s'", typeidTypeName(inputType)); - pgopform = (Form_pg_operator) GETSTRUCT(eq_operator); - fmgr_info(pgopform->oprcode, &(peraggstate->equalfn)); - ReleaseSysCache(eq_operator); + fmgr_info(eq_function, &(peraggstate->equalfn)); peraggstate->sortOperator = any_ordering_op(inputType); peraggstate->sortstate = NULL; } diff --git a/src/backend/executor/nodeGroup.c b/src/backend/executor/nodeGroup.c index e98819a5d83..e4ede51852a 100644 --- a/src/backend/executor/nodeGroup.c +++ b/src/backend/executor/nodeGroup.c @@ -15,7 +15,7 @@ * locate group boundaries. * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/nodeGroup.c,v 1.40 2001/01/24 19:42:54 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/nodeGroup.c,v 1.41 2001/02/16 03:16:57 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -495,16 +495,13 @@ execTuplesMatchPrepare(TupleDesc tupdesc, { AttrNumber att = matchColIdx[i]; Oid typid = tupdesc->attrs[att - 1]->atttypid; - Operator eq_operator; - Form_pg_operator pgopform; + Oid eq_function; - eq_operator = oper("=", typid, typid, true); - if (!HeapTupleIsValid(eq_operator)) + eq_function = compatible_oper_funcid("=", typid, typid, true); + if (!OidIsValid(eq_function)) elog(ERROR, "Unable to identify an equality operator for type '%s'", typeidTypeName(typid)); - pgopform = (Form_pg_operator) GETSTRUCT(eq_operator); - fmgr_info(pgopform->oprcode, &eqfunctions[i]); - ReleaseSysCache(eq_operator); + fmgr_info(eq_function, &eqfunctions[i]); } return eqfunctions; |