diff options
author | Olivier Bertrand <bertrandop@gmail.com> | 2013-08-29 12:01:27 +0200 |
---|---|---|
committer | Olivier Bertrand <bertrandop@gmail.com> | 2013-08-29 12:01:27 +0200 |
commit | b344a49f7e54f93f7b4815441d0b51b5838b84af (patch) | |
tree | 0c4402d4bf825cee1a3ce8ce1704ac43c3039692 /storage/connect/tabxcl.cpp | |
parent | dd0872eb9cb1068da7f148865a2eab49955762a5 (diff) | |
download | mariadb-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.cpp | 6 |
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 |