diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2007-01-07 22:49:56 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2007-01-07 22:49:56 +0000 |
commit | d807c7ef3f1a04026c3c4b5b24954f7fc84d0e46 (patch) | |
tree | 592a826a1d9a2cf29e6acae3f6cc0d5283708286 /src/backend/executor | |
parent | de9aa5a7b4d9696b1daceba01d155cbd783bc883 (diff) | |
download | postgresql-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.c | 14 |
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; |