diff options
author | Olivier Bertrand <bertrandop@gmail.com> | 2014-05-10 12:21:08 +0200 |
---|---|---|
committer | Olivier Bertrand <bertrandop@gmail.com> | 2014-05-10 12:21:08 +0200 |
commit | 9cb4b6c00985b3f70ed30dcefc8770b34f334c47 (patch) | |
tree | 964c94f4886e2e013579feb5628a31130dd72fb0 /storage/connect/connect.cc | |
parent | cdbb79583778827e7ceb90f3e9230062327e0b09 (diff) | |
download | mariadb-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.cc | 15 |
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); |