mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
- Fix conversion bug for MS-DOM XML tables. The node content was written
and read as if the table DATA_CHARSET was ANSI instead of UTF-8. Warning are now provided when the read content of a node is truncated. modified: storage/connect/domdoc.cpp storage/connect/domdoc.h storage/connect/libdoc.cpp storage/connect/libdoc.h storage/connect/plgxml.h storage/connect/tabxml.cpp - Conditional compilation of pre_create depending on the MARIADB setting. modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h
This commit is contained in:
@@ -1212,7 +1212,16 @@ void XMLCOL::ReadColumn(PGLOBAL g)
|
||||
} // endif type
|
||||
|
||||
// Get the Xname value from the XML file
|
||||
ValNode->GetText(Valbuf, Long);
|
||||
switch (ValNode->GetContent(g, Valbuf, Long + 1)) {
|
||||
case RC_OK:
|
||||
break;
|
||||
case RC_INFO:
|
||||
PushWarning(g, Tdbp);
|
||||
break;
|
||||
default:
|
||||
longjmp(g->jumper[g->jump_level], TYPE_AM_XML);
|
||||
} // endswitch
|
||||
|
||||
} else
|
||||
*Valbuf = '\0';
|
||||
|
||||
@@ -1405,7 +1414,15 @@ void XMULCOL::ReadColumn(PGLOBAL g)
|
||||
} // endif type
|
||||
|
||||
// Get the Xname value from the XML file
|
||||
ValNode->GetText(p, len);
|
||||
switch (ValNode->GetContent(g, p, len + 1)) {
|
||||
case RC_OK:
|
||||
break;
|
||||
case RC_INFO:
|
||||
PushWarning(g, Tdbp);
|
||||
break;
|
||||
default:
|
||||
longjmp(g->jumper[g->jump_level], TYPE_AM_XML);
|
||||
} // endswitch
|
||||
|
||||
if (!Tdbp->Xpand) {
|
||||
// Concatenate all values
|
||||
@@ -1627,7 +1644,15 @@ void XPOSCOL::ReadColumn(PGLOBAL g)
|
||||
|
||||
if ((ValNode = Tdbp->Clist->GetItem(g, Rank, Vxnp)))
|
||||
// Get the column value from the XML file
|
||||
ValNode->GetText(Valbuf, Long);
|
||||
switch (ValNode->GetContent(g, Valbuf, Long + 1)) {
|
||||
case RC_OK:
|
||||
break;
|
||||
case RC_INFO:
|
||||
PushWarning(g, Tdbp);
|
||||
break;
|
||||
default:
|
||||
longjmp(g->jumper[g->jump_level], TYPE_AM_XML);
|
||||
} // endswitch
|
||||
|
||||
Value->SetValue_psz(Valbuf);
|
||||
Nx = Tdbp->Irow;
|
||||
|
Reference in New Issue
Block a user