Re: Issue: Deprecation of the XML2 module 'xml_is_well_formed' function - Mailing list pgsql-hackers

From Mike Berrow
Subject Re: Issue: Deprecation of the XML2 module 'xml_is_well_formed' function
Date
Msg-id AANLkTiluhEk6AtUbrJl03Ox2AUpymBYU_8mCYrBWfRx7@mail.gmail.com
Whole thread Raw
In response to Re: Issue: Deprecation of the XML2 module 'xml_is_well_formed' function  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Yes, I went ahead and tried the original suggestion.

Here is what the added function went in as:

CREATE OR REPLACE FUNCTION xml_is_ok(x text)
  RETURNS boolean AS
$BODY$
BEGIN
 PERFORM XMLPARSE( DOCUMENT x::XML );
 RETURN TRUE;
EXCEPTION WHEN OTHERS THEN
 RETURN FALSE;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;
ALTER FUNCTION xml_is_ok(text) OWNER TO postgres;

It worked fine. Thanks Mike and David.

The only other issue is that when I benchmarked it on a 5,000 record data set that I have,
the original XML2 function ('xml_is_well_formed') took about 9.5 seconds
and this (deprecation driven) replacement took about 17.2 seconds.

-- Mike Berrow

On Mon, Jun 28, 2010 at 7:51 PM, Robert Haas <robertmhaas@gmail.com> wrote:
On Mon, Jun 28, 2010 at 11:03 AM, Mike Berrow <mberrow@gmail.com> wrote:
> Is there some way to use the new, core XML functionality to simply return a
> truth value
> in the way that we need?.

Have you tried using a wrapper function like the one suggested
independently by Mike Rylander and David Fetter upthread?  If so,
how'd it work out for you?

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company

pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Issue: Deprecation of the XML2 module 'xml_is_well_formed' function
Next
From: Fujii Masao
Date:
Subject: Re: keepalives on MacOS X