summaryrefslogtreecommitdiff
path: root/storage/connect/tabxml.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'storage/connect/tabxml.cpp')
-rw-r--r--storage/connect/tabxml.cpp11
1 files changed, 7 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