contrib/xml2 updates from John Gray:

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.
This commit is contained in:
Neil Conway 2004-03-07 20:41:27 +00:00
parent 9e5a091f02
commit bab4269b95
3 changed files with 9 additions and 9 deletions

View File

@ -27,7 +27,7 @@ Description of functions
The first set of functions are straightforward XML parsing and XPath queries: 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 This parses the document text in its parameter and returns true if the
document is well-formed XML. document is well-formed XML.

View File

@ -1,6 +1,6 @@
--SQL for XML parser --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); AS 'MODULE_PATHNAME' LANGUAGE 'c' WITH (isStrict);
CREATE OR REPLACE FUNCTION xpath_string(text,text) RETURNS text CREATE OR REPLACE FUNCTION xpath_string(text,text) RETURNS text

View File

@ -39,7 +39,7 @@ xmlChar *pgxml_texttoxmlchar(text *textstring);
static xmlXPathObjectPtr pgxml_xpath(text *document, xmlChar* xpath); 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_nodeset(PG_FUNCTION_ARGS);
Datum xpath_string(PG_FUNCTION_ARGS); Datum xpath_string(PG_FUNCTION_ARGS);
Datum xpath_number(PG_FUNCTION_ARGS); Datum xpath_number(PG_FUNCTION_ARGS);
@ -162,12 +162,12 @@ pgxml_parser_init()
/* Returns true if document is well-formed */ /* Returns true if document is well-formed */
PG_FUNCTION_INFO_V1(pgxml_parse); PG_FUNCTION_INFO_V1(xml_valid);
Datum Datum
pgxml_parse(PG_FUNCTION_ARGS) xml_valid(PG_FUNCTION_ARGS)
{ {
/* called as pgxml_parse(document) */ /* called as xml_valid(document) */
xmlDocPtr doctree; xmlDocPtr doctree;
text *t = PG_GETARG_TEXT_P(0); /* document buffer */ text *t = PG_GETARG_TEXT_P(0); /* document buffer */
int32 docsize = VARSIZE(t) - VARHDRSZ; int32 docsize = VARSIZE(t) - VARHDRSZ;
@ -646,11 +646,11 @@ Datum xpath_table(PG_FUNCTION_ARGS)
per_query_ctx = rsinfo->econtext->ecxt_per_query_memory; per_query_ctx = rsinfo->econtext->ecxt_per_query_memory;
oldcontext = MemoryContextSwitchTo(per_query_ctx); oldcontext = MemoryContextSwitchTo(per_query_ctx);
/* Create the tuplestore - SortMem is the max in-memory size before it is /* Create the tuplestore - work_mem is the max in-memory size before a
* shipped to a disk heap file. Just like ... SortMem! * 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); MemoryContextSwitchTo(oldcontext);