summaryrefslogtreecommitdiff
path: root/storage/connect/tabxcl.cpp
diff options
context:
space:
mode:
authorOlivier Bertrand <bertrandop@gmail.com>2013-08-29 12:01:27 +0200
committerOlivier Bertrand <bertrandop@gmail.com>2013-08-29 12:01:27 +0200
commitb344a49f7e54f93f7b4815441d0b51b5838b84af (patch)
tree0c4402d4bf825cee1a3ce8ce1704ac43c3039692 /storage/connect/tabxcl.cpp
parentdd0872eb9cb1068da7f148865a2eab49955762a5 (diff)
downloadmariadb-git-b344a49f7e54f93f7b4815441d0b51b5838b84af.tar.gz
- Fix a bug causing a crash when an XCOL table was the source of
a PROXY or PROXY based table. modified: storage/connect/colblk.cpp storage/connect/tabutil.cpp storage/connect/tabutil.h storage/connect/tabxcl.cpp storage/connect/tabxcl.h
Diffstat (limited to 'storage/connect/tabxcl.cpp')
-rw-r--r--storage/connect/tabxcl.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/storage/connect/tabxcl.cpp b/storage/connect/tabxcl.cpp
index eb9e9c0e4dc..33ec8984219 100644
--- a/storage/connect/tabxcl.cpp
+++ b/storage/connect/tabxcl.cpp
@@ -253,7 +253,7 @@ XCLCOL::XCLCOL(PGLOBAL g, PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i)
void XCLCOL::ReadColumn(PGLOBAL g)
{
if (((PTDBXCL)To_Tdb)->New) {
- Colp->ReadColumn(g);
+ Colp->Eval(g);
strcpy(Cbuf, To_Val->GetCharValue());
Cp = Cbuf;
} // endif New
@@ -272,9 +272,11 @@ void XCLCOL::ReadColumn(PGLOBAL g)
} else if (Nullable) {
Value->Reset();
Value->SetNull(true);
- } else
+ } else {
// Skip that row
((PTDBXCL)To_Tdb)->RowFlag = 2;
+ Colp->Reset();
+ } // endif Cp
if (Cp && *Cp)
// More to come from the same row