From 77d67a4a3be1a2114ff9869fc3552a39fa7c5e68 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 8 Apr 2009 21:51:38 +0000 Subject: XMLATTRIBUTES() should send the attribute values through map_sql_value_to_xml_value() instead of directly through the data type output function. This is per SQL standard, and consistent with XMLELEMENT(). --- src/backend/executor/execQual.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'src/backend/executor') diff --git a/src/backend/executor/execQual.c b/src/backend/executor/execQual.c index b831aa530fa..d9cbb1d763a 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.245 2009/04/05 20:32:06 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/executor/execQual.c,v 1.246 2009/04/08 21:51:38 petere Exp $ * *------------------------------------------------------------------------- */ @@ -4671,27 +4671,16 @@ ExecInitExpr(Expr *node, PlanState *parent) XmlExprState *xstate = makeNode(XmlExprState); List *outlist; ListCell *arg; - int i; xstate->xprstate.evalfunc = (ExprStateEvalFunc) ExecEvalXml; - xstate->named_outfuncs = (FmgrInfo *) - palloc0(list_length(xexpr->named_args) * sizeof(FmgrInfo)); outlist = NIL; - i = 0; foreach(arg, xexpr->named_args) { Expr *e = (Expr *) lfirst(arg); ExprState *estate; - Oid typOutFunc; - bool typIsVarlena; estate = ExecInitExpr(e, parent); outlist = lappend(outlist, estate); - - getTypeOutputInfo(exprType((Node *) e), - &typOutFunc, &typIsVarlena); - fmgr_info(typOutFunc, &xstate->named_outfuncs[i]); - i++; } xstate->named_args = outlist; -- cgit v1.2.3