/**************** tabjmg H Declares Source Code File (.H) **************/ /* Name: tabjmg.h Version 1.3 */ /* */ /* (C) Copyright to the author Olivier BERTRAND 2017 - 2021 */ /* */ /* This file contains the MongoDB classes using the Java Driver. */ /***********************************************************************/ #include"mongo.h" #include"jmgoconn.h" #include"jdbccat.h"
/***********************************************************************/ /* Class used to get the columns of a mongo collection. */ /***********************************************************************/ class JMGDISC : public MGODISC { public: // Constructor
JMGDISC(PGLOBAL g, int *lg);
protected: // Function bool ColDesc(PGLOBAL g, jobject obj, char *pcn, char *pfmt, int ncol, int k);
// Members
JMgoConn *Jcp; // Points to a Mongo connection class
jmethodID columnid; // The ColumnDesc method ID
jmethodID bvnameid; // The ColDescName method ID
}; // end of JMGDISC
/* -------------------------- TDBJMG class --------------------------- */
/***********************************************************************/ /* This is the MongoDB Table Type using the Java Driver. */ /* The table is a collection, each record being a document. */ /***********************************************************************/ class DllExport TDBJMG : public TDBEXT { friendclass JMGCOL; friendclass MGODEF; friendclass JMGDISC; friendclass JAVAConn; friend PQRYRES MGOColumns(PGLOBAL, PCSZ, PCSZ, PTOS, bool); public: // Constructor
TDBJMG(PMGODEF tdp);
TDBJMG(TDBJMG *tdbp);
// Database routines int Cardinality(PGLOBAL g) override; int GetMaxSize(PGLOBAL g) override; bool OpenDB(PGLOBAL g) override; int ReadDB(PGLOBAL g) override; int WriteDB(PGLOBAL g) override; int DeleteDB(PGLOBAL g, int irc) override; void CloseDB(PGLOBAL g) override; bool ReadKey(PGLOBAL g, OPVAL op, const key_range *kr) override;
protected: bool Init(PGLOBAL g);
// Members
JMgoConn *Jcp; // Points to a Mongo connection class //JMGCOL *Cnp; // Points to count(*) column
JDBCPARM Ops; // Additional parameters
PCSZ Uri;
PCSZ Db_name;
PCSZ Coll_name;
PCSZ Options; // The MongoDB options
PCSZ Filter; // The filtering query
PCSZ Strfy; // The stringified columns
PSZ Wrapname; // Java wrapper name int Fpos; // The current row index int N; // The current Rownum int B; // Array index base bool Done; // Init done bool Pipe; // True for pipeline
}; // end of class TDBJMG
/* --------------------------- JMGCOL class -------------------------- */
/***********************************************************************/ /* Class JMGCOL: MongoDB access method column descriptor. */ /***********************************************************************/ class DllExport JMGCOL : public EXTCOL { friendclass TDBJMG; friendclass FILTER; public: // Constructors
JMGCOL(PGLOBAL g, PCOLDEF cdp, PTDB tdbp, PCOL cprec, int i);
JMGCOL(JMGCOL *colp, PTDB tdbp); // Constructor used in copy process
protected: // Default constructor not to be used
JMGCOL(void) = default; //char *GetProjPath(PGLOBAL g); //char *Mini(PGLOBAL g, const bson_t *bson, bool b);
// Members
TDBJMG *Tmgp; // To the MGO table block char *Jpath; // The json path bool Sgfy; // True if stringified
}; // end of class JMGCOL
/***********************************************************************/ /* This is the class declaration for the MONGO catalog table. */ /***********************************************************************/ class DllExport TDBJGL : public TDBCAT { public: // Constructor
TDBJGL(PMGODEF tdp);
protected: // Specific routines virtual PQRYRES GetResult(PGLOBAL g) override;
// Members
PTOS Topt;
PCSZ Uri;
PCSZ Db;
}; // end of class TDBGOL
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-10-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.