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:
@ -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)
|
||||
|
Reference in New Issue
Block a user