aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2007-01-07 22:49:56 +0000
committerPeter Eisentraut <peter_e@gmx.net>2007-01-07 22:49:56 +0000
commitd807c7ef3f1a04026c3c4b5b24954f7fc84d0e46 (patch)
tree592a826a1d9a2cf29e6acae3f6cc0d5283708286 /src/backend/executor
parentde9aa5a7b4d9696b1daceba01d155cbd783bc883 (diff)
downloadpostgresql-d807c7ef3f1a04026c3c4b5b24954f7fc84d0e46.tar.gz
postgresql-d807c7ef3f1a04026c3c4b5b24954f7fc84d0e46.zip
Some fine-tuning of xmlpi in corner cases:
- correct error codes - do syntax checks in correct order - strip leading spaces of argument
Diffstat (limited to 'src/backend/executor')
-rw-r--r--src/backend/executor/execQual.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/backend/executor/execQual.c b/src/backend/executor/execQual.c
index d38c9fb1a37..c23680f11be 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.203 2007/01/05 22:19:27 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/executor/execQual.c,v 1.204 2007/01/07 22:49:55 petere Exp $
*
*-------------------------------------------------------------------------
*/
@@ -2803,15 +2803,17 @@ ExecEvalXml(XmlExprState *xmlExpr, ExprContext *econtext,
e = (ExprState *) linitial(xmlExpr->args);
value = ExecEvalExpr(e, econtext, &isnull, NULL);
if (isnull)
- return (Datum) 0;
- arg = DatumGetTextP(value);
+ arg = NULL;
+ else
+ arg = DatumGetTextP(value);
}
else
+ {
arg = NULL;
+ isnull = false;
+ }
- *isNull = false;
-
- return PointerGetDatum(xmlpi(xexpr->name, arg));
+ return PointerGetDatum(xmlpi(xexpr->name, arg, isnull, isNull));
}
break;