1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

- FIX assert failure when sorting JSON tables

modified:
  storage/connect/tabjson.cpp
  storage/connect/tabjson.h
This commit is contained in:
Olivier Bertrand
2015-02-25 11:59:00 +01:00
parent e027f5e8d5
commit aa107ef3ab
2 changed files with 8 additions and 5 deletions

View File

@@ -117,7 +117,8 @@ TDBJSN::TDBJSN(PJDEF tdp, PTXF txfp) : TDBDOS(tdp, txfp)
Jmode = tdp->Jmode;
Xcol = tdp->Xcol;
Fpos = -1;
Spos = N = 0;
//Spos = 0;
N = 0;
Limit = tdp->Limit;
NextSame = 0;
SameRow = 0;
@@ -134,7 +135,7 @@ TDBJSN::TDBJSN(TDBJSN *tdbp) : TDBDOS(NULL, tdbp)
Jmode = tdbp->Jmode;
Xcol = tdbp->Xcol;
Fpos = tdbp->Fpos;
Spos = tdbp->Spos;
//Spos = tdbp->Spos;
N = tdbp->N;
Limit = tdbp->Limit;
NextSame = tdbp->NextSame;
@@ -222,7 +223,7 @@ bool TDBJSN::OpenDB(PGLOBAL g)
/* Table already open replace it at its beginning. */
/*******************************************************************/
Fpos= -1;
Spos = 0;
// Spos = 0;
NextSame = 0;
SameRow = 0;
} else {
@@ -1299,7 +1300,6 @@ bool TDBJSON::OpenDB(PGLOBAL g)
/* Table already open replace it at its beginning. */
/*******************************************************************/
Fpos= -1;
Spos = 0;
NextSame = false;
SameRow = 0;
return false;

View File

@@ -94,7 +94,7 @@ class TDBJSN : public TDBDOS {
JMODE Jmode; // MODE_OBJECT by default
char *Xcol; // Name of expandable column
int Fpos; // The current row index
int Spos; // DELETE start index
//int Spos; // DELETE start index
int N; // The current Rownum
int Limit; // Limit of multiple values
int Pretty; // Depends on file structure
@@ -175,6 +175,9 @@ class TDBJSON : public TDBJSN {
virtual int GetMaxSize(PGLOBAL g);
virtual void ResetSize(void);
virtual int GetRecpos(void) {return Fpos;}
virtual int GetProgCur(void) {return N;}
virtual bool SetRecpos(PGLOBAL g, int recpos)
{Fpos = recpos - 1; return false;}
virtual bool OpenDB(PGLOBAL g);
virtual int ReadDB(PGLOBAL g);
virtual bool PrepareWriting(PGLOBAL g) {return false;}