summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2020-04-30 18:57:45 +0200
committerOleksandr Byelkin <sanja@mariadb.com>2020-04-30 18:57:45 +0200
commit4fc8961d491f63b869a6fdc8a9865b0a695f0a02 (patch)
tree5fae680b50a9d84b3146f5af001f8f40b45528d3
parentda1fbcb665194595e9f46756d8974edd91ce457b (diff)
parent41acc81f4d90df7b080722d276fe7cd0ca66e8e7 (diff)
downloadmariadb-git-4fc8961d491f63b869a6fdc8a9865b0a695f0a02.tar.gz
Merge remote-tracking branch 'connect/10.1' into 10.1
-rw-r--r--storage/connect/tabxml.cpp11
-rw-r--r--storage/connect/tabxml.h1
2 files changed, 8 insertions, 4 deletions
diff --git a/storage/connect/tabxml.cpp b/storage/connect/tabxml.cpp
index 717090e9c5a..68941c67be8 100644
--- a/storage/connect/tabxml.cpp
+++ b/storage/connect/tabxml.cpp
@@ -813,12 +813,15 @@ bool TDBXML::Initialize(PGLOBAL g)
if (Void)
return false;
- if (Columns && !Bufdone) {
+ if (Columns) {
// Allocate the buffers that will contain node values
for (colp = (PXMLCOL)Columns; colp; colp = (PXMLCOL)colp->GetNext())
- if (!colp->IsSpecial()) // Not a pseudo column
- if (colp->AllocBuf(g, Mode == MODE_INSERT))
- return true;
+ if (!colp->IsSpecial()) { // Not a pseudo column
+ if (!Bufdone && colp->AllocBuf(g, Mode == MODE_INSERT))
+ return true;
+
+ colp->Nx = colp->Sx = -1;
+ } // endif Special
Bufdone = true;
} // endif Bufdone
diff --git a/storage/connect/tabxml.h b/storage/connect/tabxml.h
index fb3913f08ea..42dbb038b47 100644
--- a/storage/connect/tabxml.h
+++ b/storage/connect/tabxml.h
@@ -157,6 +157,7 @@ class DllExport TDBXML : public TDBASE {
/* Class XMLCOL: XDB table access method column descriptor. */
/***********************************************************************/
class XMLCOL : public COLBLK {
+ friend class TDBXML;
public:
// Constructors
XMLCOL(PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i, PCSZ am = "XML");