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

View File

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