Delete contrib/xml2's legacy implementation of xml_is_well_formed().
authorTom Lane
Mon, 14 Feb 2022 15:56:19 +0000 (10:56 -0500)
committerTom Lane
Mon, 14 Feb 2022 15:56:19 +0000 (10:56 -0500)
This function is unreferenced in modern usage; it was superseded in 9.1
by a core function of the same name.  It has been left in place in the C
code only so that pre-9.1 SQL definitions of the contrib/xml2 functions
would continue to work.  Eleven years seems like enough time for people
to have updated to the extension-style version of the xml2 module, so
let's drop this.

We did this once before, in 20540710e, and then reverted it because
the intended change of PGDLLEXPORT markings didn't happen.  This
time the reason is to suppress link-time duplicate-symbol warnings
on AIX.  That's not worth a lot perhaps, but the value of keeping
this function has surely dropped to about zero by now.

Discussion: https://postgr.es/m/2717731.1644778752@sss.pgh.pa.us

contrib/xml2/xpath.c

index 1e5b71d9a02001a4523449b2eba40289284147ca..7fdde8eb510b6ad810e2dd408d4412bc292b325d 100644 (file)
@@ -81,51 +81,6 @@ pgxml_parser_init(PgXmlStrictness strictness)
 }
 
 
-/*
- * Returns true if document is well-formed
- *
- * Note: this has been superseded by a core function.  We still have to
- * have it in the contrib module so that existing SQL-level references
- * to the function won't fail; but in normal usage with up-to-date SQL
- * definitions for the contrib module, this won't be called.
- */
-
-PG_FUNCTION_INFO_V1(xml_is_well_formed);
-
-Datum
-xml_is_well_formed(PG_FUNCTION_ARGS)
-{
-   text       *t = PG_GETARG_TEXT_PP(0);   /* document buffer */
-   bool        result = false;
-   int32       docsize = VARSIZE_ANY_EXHDR(t);
-   xmlDocPtr   doctree;
-   PgXmlErrorContext *xmlerrcxt;
-
-   xmlerrcxt = pgxml_parser_init(PG_XML_STRICTNESS_LEGACY);
-
-   PG_TRY();
-   {
-       doctree = xmlParseMemory((char *) VARDATA_ANY(t), docsize);
-
-       result = (doctree != NULL);
-
-       if (doctree != NULL)
-           xmlFreeDoc(doctree);
-   }
-   PG_CATCH();
-   {
-       pg_xml_done(xmlerrcxt, true);
-
-       PG_RE_THROW();
-   }
-   PG_END_TRY();
-
-   pg_xml_done(xmlerrcxt, false);
-
-   PG_RETURN_BOOL(result);
-}
-
-
 /* Encodes special characters (<, >, &, " and \r) as XML entities */
 
 PG_FUNCTION_INFO_V1(xml_encode_special_chars);