|
|
|
@ -4534,13 +4534,7 @@ XmlTableFetchRow(TableFuncScanState *state) |
|
|
|
|
|
|
|
|
|
xtCxt = GetXmlTableBuilderPrivateData(state, "XmlTableFetchRow"); |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* XmlTable returns table - set of composite values. The error context, is |
|
|
|
|
* used for producement more values, between two calls, there can be |
|
|
|
|
* created and used another libxml2 error context. It is libxml2 global |
|
|
|
|
* value, so it should be refreshed any time before any libxml2 usage, |
|
|
|
|
* that is finished by returning some value. |
|
|
|
|
*/ |
|
|
|
|
/* Propagate our own error context to libxml2 */ |
|
|
|
|
xmlSetStructuredErrorFunc((void *) xtCxt->xmlerrcxt, xml_errorHandler); |
|
|
|
|
|
|
|
|
|
if (xtCxt->xpathobj == NULL) |
|
|
|
@ -4594,7 +4588,7 @@ XmlTableGetValue(TableFuncScanState *state, int colnum, |
|
|
|
|
xtCxt->xpathobj->type == XPATH_NODESET && |
|
|
|
|
xtCxt->xpathobj->nodesetval != NULL); |
|
|
|
|
|
|
|
|
|
/* Propagate context related error context to libxml2 */ |
|
|
|
|
/* Propagate our own error context to libxml2 */ |
|
|
|
|
xmlSetStructuredErrorFunc((void *) xtCxt->xmlerrcxt, xml_errorHandler); |
|
|
|
|
|
|
|
|
|
*isnull = false; |
|
|
|
@ -4737,7 +4731,7 @@ XmlTableDestroyOpaque(TableFuncScanState *state) |
|
|
|
|
|
|
|
|
|
xtCxt = GetXmlTableBuilderPrivateData(state, "XmlTableDestroyOpaque"); |
|
|
|
|
|
|
|
|
|
/* Propagate context related error context to libxml2 */ |
|
|
|
|
/* Propagate our own error context to libxml2 */ |
|
|
|
|
xmlSetStructuredErrorFunc((void *) xtCxt->xmlerrcxt, xml_errorHandler); |
|
|
|
|
|
|
|
|
|
if (xtCxt->xpathscomp != NULL) |
|
|
|
|