From 21d9c5824b92d28eb38c4346d4c06f47526aa33d Mon Sep 17 00:00:00 2001 From: Olivier Bertrand Date: Fri, 21 Mar 2014 23:58:11 +0100 Subject: - Fix bug MDEV-5928 modified: storage/connect/tabxml.cpp --- storage/connect/tabxml.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'storage/connect/tabxml.cpp') diff --git a/storage/connect/tabxml.cpp b/storage/connect/tabxml.cpp index 7a2c0169c2b..77dc7617e8a 100644 --- a/storage/connect/tabxml.cpp +++ b/storage/connect/tabxml.cpp @@ -1326,14 +1326,11 @@ void XMLCOL::WriteColumn(PGLOBAL g) if (Value != To_Val) Value->SetValue_pval(To_Val, false); // Convert the updated value - if (Value->IsNull()) - return; - /*********************************************************************/ /* If a check pass was done while updating, all node contruction */ /* has been already one. */ /*********************************************************************/ - if (Status && Tdbp->Checked) { + if (Status && Tdbp->Checked && !Value->IsNull()) { assert (ColNode != NULL); assert ((Type ? (void *)ValNode : (void *)AttNode) != NULL); goto fin; @@ -1346,6 +1343,12 @@ void XMLCOL::WriteColumn(PGLOBAL g) if (Tdbp->CheckRow(g, Nod || Tdbp->Colname)) longjmp(g->jumper[g->jump_level], TYPE_AM_XML); + /*********************************************************************/ + /* Null values are represented by no node. */ + /*********************************************************************/ + if (Value->IsNull()) + return; + /*********************************************************************/ /* Find the column and value nodes to update or insert. */ /*********************************************************************/ -- cgit v1.2.1