1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-11 20:28:21 +03:00

Add support for xmlval IS DOCUMENT expression.

This commit is contained in:
Peter Eisentraut
2007-01-14 13:11:54 +00:00
parent 62c06186f5
commit 2f8f76bcd5
11 changed files with 156 additions and 11 deletions

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/executor/execQual.c,v 1.206 2007/01/12 21:47:26 petere Exp $
* $PostgreSQL: pgsql/src/backend/executor/execQual.c,v 1.207 2007/01/14 13:11:53 petere Exp $
*
*-------------------------------------------------------------------------
*/
@ -2808,6 +2808,25 @@ ExecEvalXml(XmlExprState *xmlExpr, ExprContext *econtext,
standalone));
}
break;
case IS_DOCUMENT:
{
ExprState *e;
/* optional argument is known to be xml */
Assert(list_length(xmlExpr->args) == 1);
e = (ExprState *) linitial(xmlExpr->args);
value = ExecEvalExpr(e, econtext, &isnull, NULL);
if (isnull)
return (Datum) 0;
else
{
*isNull = false;
return BoolGetDatum(xml_is_document(DatumGetXmlP(value)));
}
}
break;
}
if (*isNull)