mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
- FIX a bug causing libxml2 not retrieving expanded multiple column values.
This was working but the cause probably comes from freeing Xop object to handle memory leaks reported by Valgrind. Also add a test case on XML multiple tables. added: storage/connect/mysql-test/connect/r/xml_mult.result storage/connect/mysql-test/connect/std_data/bookstore.xml storage/connect/mysql-test/connect/t/xml_mult.test modified: storage/connect/domdoc.cpp storage/connect/tabxml.cpp storage/connect/tabxml.h - Enhance the index types and flages returning functions. modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h - Suppress irrelevant warning message (MDEV-6117) modified: storage/connect/ha_connect.cc
This commit is contained in:
@@ -416,18 +416,24 @@ PXLIST DOMNODE::SelectNodes(PGLOBAL g, char *xp, PXLIST lp)
|
||||
/******************************************************************/
|
||||
PXNODE DOMNODE::SelectSingleNode(PGLOBAL g, char *xp, PXNODE np)
|
||||
{
|
||||
MSXML2::IXMLDOMNodePtr dnp = Nodep->selectSingleNode(xp);
|
||||
try {
|
||||
MSXML2::IXMLDOMNodePtr dnp = Nodep->selectSingleNode(xp);
|
||||
|
||||
if (dnp) {
|
||||
if (np) {
|
||||
((PDOMNODE)np)->Nodep = dnp;
|
||||
return np;
|
||||
} else
|
||||
return new(g) DOMNODE(Doc, dnp);
|
||||
if (dnp) {
|
||||
if (np) {
|
||||
((PDOMNODE)np)->Nodep = dnp;
|
||||
return np;
|
||||
} else
|
||||
return new(g) DOMNODE(Doc, dnp);
|
||||
|
||||
} else
|
||||
return NULL;
|
||||
} // endif dnp
|
||||
|
||||
} catch(_com_error e) {
|
||||
sprintf(g->Message, "%s: %s", MSG(COM_ERROR),
|
||||
_com_util::ConvertBSTRToString(e.Description()));
|
||||
} catch(...) {}
|
||||
|
||||
return NULL;
|
||||
} // end of SelectSingleNode
|
||||
|
||||
/******************************************************************/
|
||||
|
Reference in New Issue
Block a user