Commit c7b95cb9 authored by Olivier Bertrand's avatar Olivier Bertrand

- Delete ALL or truncate must not be done using file mapping.

modified:
  storage/connect/tabdos.cpp
  storage/connect/tabfix.cpp
  storage/connect/tabvct.cpp
parent 3342df63
......@@ -721,7 +721,11 @@ bool TDBDOS::OpenDB(PGLOBAL g)
return false;
} // endif use
if (Txfp->Blocked && (Mode == MODE_DELETE ||
if (Mode == MODE_DELETE && !Next && Txfp->GetAmType() != TYPE_AM_DOS) {
// Delete all lines. Not handled in MAP or block mode
Txfp = new(g) DOSFAM((PDOSDEF)To_Def);
Txfp->SetTdbp(this);
} else if (Txfp->Blocked && (Mode == MODE_DELETE ||
(Mode == MODE_UPDATE && PlgGetUser(g)->UseTemp != TMP_NO))) {
/*******************************************************************/
/* Delete is not currently handled in block mode neither Update */
......
......@@ -249,6 +249,12 @@ bool TDBFIX::OpenDB(PGLOBAL g)
return false;
} // endif use
if (Mode == MODE_DELETE && !Next && Txfp->GetAmType() == TYPE_AM_MAP) {
// Delete all lines. Not handled in MAP mode
Txfp = new(g) FIXFAM((PDOSDEF)To_Def);
Txfp->SetTdbp(this);
} // endif Mode
/*********************************************************************/
/* Call Cardinality to calculate Block in the case of Func queries. */
/* and also in the case of multiple tables. */
......
......@@ -299,18 +299,11 @@ bool TDBVCT::OpenDB(PGLOBAL g)
} // endif Use
/*********************************************************************/
/* Insert is not handled using file mapping. */
/* Delete all is not handled using file mapping. */
/*********************************************************************/
if (Mode == MODE_INSERT && !((PVCTDEF)To_Def)->GetEstimate() &&
Txfp->GetAmType() == TYPE_AM_VMP) {
if (!((PVCTFAM)Txfp)->Split) {
Txfp = new(g) VCTFAM((PVCTDEF)To_Def);
Txfp->SetTdbp(this);
} else {
Txfp = new(g) VECFAM((PVCTDEF)To_Def);
Txfp->SetTdbp(this);
} // endif Split
if (Mode == MODE_DELETE && !Next && Txfp->GetAmType() == TYPE_AM_MAP) {
Txfp = new(g) VCTFAM((PVCTDEF)To_Def);
Txfp->SetTdbp(this);
} // endif Mode
/*********************************************************************/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment