mariadb/storage/connect/jmgfam.h
Dave Gosselin db0c28eff8 MDEV-33746 Supply missing override markings
Find and fix missing virtual override markings.  Updates cmake
maintainer flags to include -Wsuggest-override and
-Winconsistent-missing-override.
2024-06-20 11:32:13 -04:00

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
AMT GetAmType(void) override { return TYPE_AM_MGO; }
bool GetUseTemp(void) override { return false; }
int GetPos(void) override;
int GetNextPos(void) override;
PTXF Duplicate(PGLOBAL g) override { return (PTXF)new(g) JMGFAM(this); }
void SetLrecl(int lrecl) { Lrecl = lrecl; }
// Methods
void Reset(void) override;
int GetFileLength(PGLOBAL g) override;
int Cardinality(PGLOBAL g) override;
int MaxBlkSize(PGLOBAL g, int s) override;
bool AllocateBuffer(PGLOBAL g) override { return false; }
int GetRowID(void) override;
bool RecordPos(PGLOBAL g) override;
bool SetPos(PGLOBAL g, int recpos) override;
int SkipRecord(PGLOBAL g, bool header) override;
bool OpenTableFile(PGLOBAL g) override;
int ReadBuffer(PGLOBAL g) override;
int WriteBuffer(PGLOBAL g) override;
int DeleteRecords(PGLOBAL g, int irc) override;
void CloseTableFile(PGLOBAL g, bool abort) override;
void Rewind(void) override;
protected:
bool OpenTempFile(PGLOBAL g) override { return false; }
bool MoveIntermediateLines(PGLOBAL g, bool *b) override { return false; }
int RenameTempFile(PGLOBAL g) override { return RC_OK; }
int InitDelete(PGLOBAL g, int fpos, int spos) override;
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