Commit 69154073 authored by Olivier Bertrand's avatar Olivier Bertrand

- Until the problem is fixed, temporarily not use mapping on Linux for Update.

modified:
  storage/connect/tabdos.cpp
  storage/connect/tabfmt.cpp
  storage/connect/tabvct.cpp
parent 07beddc4
...@@ -284,11 +284,15 @@ PTDB DOSDEF::GetTable(PGLOBAL g, MODE mode) ...@@ -284,11 +284,15 @@ PTDB DOSDEF::GetTable(PGLOBAL g, MODE mode)
{ {
// Mapping not used for insert // Mapping not used for insert
USETEMP tmp = PlgGetUser(g)->UseTemp; USETEMP tmp = PlgGetUser(g)->UseTemp;
#if defined(WIN32)
bool map = Mapped && mode != MODE_INSERT && bool map = Mapped && mode != MODE_INSERT &&
!(tmp != TMP_NO && Recfm == RECFM_VAR !(tmp != TMP_NO && Recfm == RECFM_VAR
&& mode == MODE_UPDATE) && && mode == MODE_UPDATE) &&
!(tmp == TMP_FORCE && !(tmp == TMP_FORCE &&
(mode == MODE_UPDATE || mode == MODE_DELETE)); (mode == MODE_UPDATE || mode == MODE_DELETE));
#else // !WIN32
bool map = Mapped && mode == MODE_READ;
#endif // !WIN32
PTXF txfp; PTXF txfp;
PTDBASE tdbp; PTDBASE tdbp;
......
...@@ -444,10 +444,14 @@ PTDB CSVDEF::GetTable(PGLOBAL g, MODE mode) ...@@ -444,10 +444,14 @@ PTDB CSVDEF::GetTable(PGLOBAL g, MODE mode)
if (Catfunc != FNC_COL) { if (Catfunc != FNC_COL) {
USETEMP tmp = PlgGetUser(g)->UseTemp; USETEMP tmp = PlgGetUser(g)->UseTemp;
#if defined(WIN32)
bool map = Mapped && mode != MODE_INSERT && bool map = Mapped && mode != MODE_INSERT &&
!(tmp != TMP_NO && mode == MODE_UPDATE) && !(tmp != TMP_NO && mode == MODE_UPDATE) &&
!(tmp == TMP_FORCE && !(tmp == TMP_FORCE &&
(mode == MODE_UPDATE || mode == MODE_DELETE)); (mode == MODE_UPDATE || mode == MODE_DELETE));
#else // !WIN32
bool map = Mapped && mode == MODE_READ;
#endif // !WIN32
PTXF txfp; PTXF txfp;
/*******************************************************************/ /*******************************************************************/
......
...@@ -197,9 +197,13 @@ PTDB VCTDEF::GetTable(PGLOBAL g, MODE mode) ...@@ -197,9 +197,13 @@ PTDB VCTDEF::GetTable(PGLOBAL g, MODE mode)
/*********************************************************************/ /*********************************************************************/
// Mapping not used for insert (except for true VEC not split tables) // Mapping not used for insert (except for true VEC not split tables)
// or when UseTemp is forced // or when UseTemp is forced
#if defined(WIN32)
bool map = Mapped && (Estimate || mode != MODE_INSERT) && bool map = Mapped && (Estimate || mode != MODE_INSERT) &&
!(PlgGetUser(g)->UseTemp == TMP_FORCE && !(PlgGetUser(g)->UseTemp == TMP_FORCE &&
(mode == MODE_UPDATE || mode == MODE_DELETE)); (mode == MODE_UPDATE || mode == MODE_DELETE));
#else // !WIN32
bool map = Mapped && mode == MODE_READ;
#endif // !WIN32
PTXF txfp; PTXF txfp;
PTDB tdbp; PTDB tdbp;
......
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