mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
871532c3b9
modified: storage/connect/bson.cpp modified: storage/connect/bson.h modified: storage/connect/bsonudf.cpp modified: storage/connect/cmgfam.cpp modified: storage/connect/cmgfam.h modified: storage/connect/ha_connect.cc modified: storage/connect/jmgfam.cpp modified: storage/connect/jmgfam.h modified: storage/connect/jmgoconn.cpp modified: storage/connect/mycat.cc modified: storage/connect/tabbson.cpp modified: storage/connect/tabjson.cpp
82 lines
3 KiB
C++
82 lines
3 KiB
C++
/************** MongoFam H Declares Source Code File (.H) **************/
|
|
/* Name: jmgfam.h Version 1.1 */
|
|
/* */
|
|
/* (C) Copyright to the author Olivier BERTRAND 2017 - 2020 */
|
|
/* */
|
|
/* This file contains the JAVA MongoDB access method classes declares */
|
|
/***********************************************************************/
|
|
#pragma once
|
|
|
|
/***********************************************************************/
|
|
/* Include MongoDB library header files. */
|
|
/***********************************************************************/
|
|
#include "block.h"
|
|
//#include "mongo.h"
|
|
#include "jmgoconn.h"
|
|
|
|
typedef class JMGFAM *PJMGFAM;
|
|
typedef class MGODEF *PMGODEF;
|
|
|
|
/***********************************************************************/
|
|
/* This is the Java MongoDB Access Method class declaration. */
|
|
/***********************************************************************/
|
|
class DllExport JMGFAM : public DOSFAM {
|
|
friend void mongo_init(bool);
|
|
public:
|
|
// Constructor
|
|
JMGFAM(PJDEF tdp);
|
|
#if defined(BSON_SUPPORT)
|
|
JMGFAM(PBDEF tdp);
|
|
#endif // BSON_SUPPORT
|
|
JMGFAM(PJMGFAM txfp);
|
|
|
|
// Implementation
|
|
virtual AMT GetAmType(void) { return TYPE_AM_MGO; }
|
|
virtual bool GetUseTemp(void) { return false; }
|
|
virtual int GetPos(void);
|
|
virtual int GetNextPos(void);
|
|
virtual PTXF Duplicate(PGLOBAL g) { return (PTXF)new(g) JMGFAM(this); }
|
|
void SetLrecl(int lrecl) { Lrecl = lrecl; }
|
|
|
|
// Methods
|
|
virtual void Reset(void);
|
|
virtual int GetFileLength(PGLOBAL g);
|
|
virtual int Cardinality(PGLOBAL g);
|
|
virtual int MaxBlkSize(PGLOBAL g, int s);
|
|
virtual bool AllocateBuffer(PGLOBAL g) { return false; }
|
|
virtual int GetRowID(void);
|
|
virtual bool RecordPos(PGLOBAL g);
|
|
virtual bool SetPos(PGLOBAL g, int recpos);
|
|
virtual int SkipRecord(PGLOBAL g, bool header);
|
|
virtual bool OpenTableFile(PGLOBAL g);
|
|
virtual int ReadBuffer(PGLOBAL g);
|
|
virtual int WriteBuffer(PGLOBAL g);
|
|
virtual int DeleteRecords(PGLOBAL g, int irc);
|
|
virtual void CloseTableFile(PGLOBAL g, bool abort);
|
|
virtual void Rewind(void);
|
|
|
|
protected:
|
|
virtual bool OpenTempFile(PGLOBAL g) { return false; }
|
|
virtual bool MoveIntermediateLines(PGLOBAL g, bool *b) { return false; }
|
|
virtual int RenameTempFile(PGLOBAL g) { return RC_OK; }
|
|
virtual int InitDelete(PGLOBAL g, int fpos, int spos);
|
|
bool Init(PGLOBAL g);
|
|
//bool MakeCursor(PGLOBAL g);
|
|
|
|
// Members
|
|
JMgoConn *Jcp; // Points to a Mongo connection class
|
|
JDBCPARM Ops; // Additional parameters
|
|
PFBLOCK To_Fbt; // Pointer to temp file block
|
|
MODE Mode;
|
|
PCSZ Uristr;
|
|
PCSZ Db_name;
|
|
PCSZ Coll_name;
|
|
PCSZ Options;
|
|
PCSZ Filter;
|
|
PSZ Wrapname;
|
|
bool Done; // Init done
|
|
bool Pipe;
|
|
int Version;
|
|
int Curpos; // Cursor position of last fetch
|
|
}; // end of class JMGFAM
|
|
|