1
0
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:
Olivier Bertrand
2014-04-22 19:15:08 +02:00
parent 046ae9f5c6
commit 39750cd4db
8 changed files with 348 additions and 81 deletions

View File

@@ -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
/******************************************************************/