Commit bab4269b authored by Neil Conway's avatar Neil Conway

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.
parent 9e5a091f
...@@ -27,7 +27,7 @@ Description of functions ...@@ -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.
......
--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
......
...@@ -39,7 +39,7 @@ xmlChar *pgxml_texttoxmlchar(text *textstring); ...@@ -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() ...@@ -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) ...@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment