contrib/xml2 updates from John Gray:
authorNeil Conway
Sun, 7 Mar 2004 20:41:27 +0000 (20:41 +0000)
committerNeil Conway
Sun, 7 Mar 2004 20:41:27 +0000 (20:41 +0000)
I have changed the name of the new parse function to xml_valid and fixed
a reference to SortMem which meant that the code as supplied would work
against 7.3 and 7.4 but wouldn't work in CVS.

contrib/xml2/README.pgxml
contrib/xml2/pgxml.sql.in
contrib/xml2/xpath.c

index f29d071722eac00b695aca653d4dfa1a48cdefc1..88bc1c683fc42c00870fd064fc7775b09ded1653 100644 (file)
@@ -27,7 +27,7 @@ Description of functions
 
 The first set of functions are straightforward XML parsing and XPath queries:
 
-pgxml_parse(document) RETURNS bool
+xml_valid(document) RETURNS bool
 
 This parses the document text in its parameter and returns true if the
 document is well-formed XML.
index ff46e845b17157409f8cd3cf2e711ccef94c0ed0..9951d6c046131fdcbce88d8cc3babf351de70c20 100644 (file)
@@ -1,6 +1,6 @@
 --SQL for XML parser
 
-CREATE OR REPLACE FUNCTION pgxml_parse(text) RETURNS bool
+CREATE OR REPLACE FUNCTION xml_valid(text) RETURNS bool
    AS 'MODULE_PATHNAME' LANGUAGE 'c' WITH (isStrict);
 
 CREATE OR REPLACE FUNCTION xpath_string(text,text) RETURNS text
index b4fc82879865b6c61fd23418afb89e2867b1c635..84792ca24847891007b24611bba3fb65a7bdd8b9 100644 (file)
@@ -39,7 +39,7 @@ xmlChar *pgxml_texttoxmlchar(text *textstring);
 static xmlXPathObjectPtr pgxml_xpath(text *document, xmlChar* xpath);
 
 
-Datum      pgxml_parse(PG_FUNCTION_ARGS);
+Datum      xml_valid(PG_FUNCTION_ARGS);
 Datum           xpath_nodeset(PG_FUNCTION_ARGS);
 Datum      xpath_string(PG_FUNCTION_ARGS);
 Datum      xpath_number(PG_FUNCTION_ARGS);
@@ -162,12 +162,12 @@ pgxml_parser_init()
 
 /* Returns true if document is well-formed */
 
-PG_FUNCTION_INFO_V1(pgxml_parse);
+PG_FUNCTION_INFO_V1(xml_valid);
 
 Datum
-pgxml_parse(PG_FUNCTION_ARGS)
+xml_valid(PG_FUNCTION_ARGS)
 {
-   /* called as pgxml_parse(document) */
+   /* called as xml_valid(document) */
    xmlDocPtr   doctree;
    text       *t = PG_GETARG_TEXT_P(0);        /* document buffer */
    int32       docsize = VARSIZE(t) - VARHDRSZ;
@@ -646,11 +646,11 @@ Datum xpath_table(PG_FUNCTION_ARGS)
   per_query_ctx = rsinfo->econtext->ecxt_per_query_memory;
   oldcontext = MemoryContextSwitchTo(per_query_ctx);
 
-/* Create the tuplestore - SortMem is the max in-memory size before it is
- * shipped to a disk heap file. Just like ... SortMem!
+/* Create the tuplestore - work_mem is the max in-memory size before a
+ * file is created on disk to hold it.
  */
 
-  tupstore = tuplestore_begin_heap(true, false, SortMem);
+  tupstore = tuplestore_begin_heap(true, false, work_mem);
 
   MemoryContextSwitchTo(oldcontext);