summaryrefslogtreecommitdiff
path: root/storage/connect/connect.cc
diff options
context:
space:
mode:
authorOlivier Bertrand <bertrandop@gmail.com>2014-05-10 12:21:08 +0200
committerOlivier Bertrand <bertrandop@gmail.com>2014-05-10 12:21:08 +0200
commit9cb4b6c00985b3f70ed30dcefc8770b34f334c47 (patch)
tree964c94f4886e2e013579feb5628a31130dd72fb0 /storage/connect/connect.cc
parentcdbb79583778827e7ceb90f3e9230062327e0b09 (diff)
downloadmariadb-git-9cb4b6c00985b3f70ed30dcefc8770b34f334c47.tar.gz
- FIX some MAP and XMAP errors (such as mapped indexes not closed)
Do not put version in XML files header Remove HTON_NO_PARTITION for testing Fix a wrong return (instead of DBUG_RETURN) in index_init Plus a few typos modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/ha_connect.cc storage/connect/maputil.cpp storage/connect/mysql-test/connect/r/alter_xml.result storage/connect/mysql-test/connect/r/xml.result storage/connect/table.cpp storage/connect/tabxml.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h
Diffstat (limited to 'storage/connect/connect.cc')
-rw-r--r--storage/connect/connect.cc15
1 files changed, 10 insertions, 5 deletions
diff --git a/storage/connect/connect.cc b/storage/connect/connect.cc
index 9e551f2ccc7..70f05b242d5 100644
--- a/storage/connect/connect.cc
+++ b/storage/connect/connect.cc
@@ -439,10 +439,10 @@ RCODE CntReadNext(PGLOBAL g, PTDB tdbp)
// Reading sequencially an indexed table. This happens after the
// handler function records_in_range was called and MySQL decides
// to quit using the index (!!!) Drop the index.
- for (PCOL colp= tdbp->GetColumns(); colp; colp= colp->GetNext())
- colp->SetKcol(NULL);
+// for (PCOL colp= tdbp->GetColumns(); colp; colp= colp->GetNext())
+// colp->SetKcol(NULL);
- ((PTDBASE)tdbp)->SetKindex(g, NULL);
+ ((PTDBASE)tdbp)->ResetKindex(g, NULL);
} // endif index
// Save stack and allocation environment and prepare error return
@@ -456,7 +456,12 @@ RCODE CntReadNext(PGLOBAL g, PTDB tdbp)
goto err;
} // endif rc
- while ((rc= (RCODE)tdbp->ReadDB(g)) == RC_NF) ;
+ do {
+ if ((rc= (RCODE)tdbp->ReadDB(g)) == RC_OK)
+ if (!ApplyFilter(g, tdbp->GetFilter()))
+ rc= RC_NF;
+
+ } while (rc == RC_NF);
err:
g->jump_level--;
@@ -585,7 +590,7 @@ int CntCloseTable(PGLOBAL g, PTDB tdbp)
// Make all the eventual indexes
tbxp= (TDBDOX*)tdbp;
- tbxp->SetKindex(g, NULL);
+ tbxp->ResetKindex(g, NULL);
tbxp->To_Key_Col= NULL;
rc= tbxp->ResetTableOpt(g, true,
((PTDBASE)tdbp)->GetDef()->Indexable() == 1);