mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
0f18135ec8
modified: storage/connect/bsonudf.cpp modified: storage/connect/jsonudf.cpp - Stringify option is now a ; separated list of columns modified: storage/connect/json.cpp modified: storage/connect/json.h modified: storage/connect/mongo.h modified: storage/connect/tabbson.cpp modified: storage/connect/tabcmg.cpp modified: storage/connect/tabcmg.h modified: storage/connect/tabjmg.cpp modified: storage/connect/tabjmg.h modified: storage/connect/tabjson.cpp - PrepareColist not a static function anymore (+ typo) modified: storage/connect/taboccur.cpp - JDVC: Recognize schema (database) from a wrapper server modified: storage/connect/tabjdbc.cpp
91 lines
2.9 KiB
C++
91 lines
2.9 KiB
C++
/**************** mongo H Declares Source Code File (.H) ***************/
|
|
/* Name: mongo.h Version 1.1 */
|
|
/* */
|
|
/* (C) Copyright to the author Olivier BERTRAND 2021 */
|
|
/* */
|
|
/* This file contains the common MongoDB classes declares. */
|
|
/***********************************************************************/
|
|
#ifndef __MONGO_H
|
|
#define __MONGO_H
|
|
|
|
#include "osutil.h"
|
|
#include "block.h"
|
|
#include "colblk.h"
|
|
|
|
typedef class MGODEF *PMGODEF;
|
|
|
|
typedef struct _bncol {
|
|
struct _bncol *Next;
|
|
char *Name;
|
|
char *Fmt;
|
|
int Type;
|
|
int Len;
|
|
int Scale;
|
|
bool Cbn;
|
|
bool Found;
|
|
} BCOL, *PBCOL;
|
|
|
|
/***********************************************************************/
|
|
/* Class used to get the columns of a mongo collection. */
|
|
/***********************************************************************/
|
|
class MGODISC : public BLOCK {
|
|
public:
|
|
// Constructor
|
|
MGODISC(PGLOBAL g, int *lg);
|
|
|
|
// Methods
|
|
virtual bool Init(PGLOBAL g) { return false; }
|
|
virtual void GetDoc(void) {}
|
|
virtual bool Find(PGLOBAL g) = 0;
|
|
|
|
// Functions
|
|
int GetColumns(PGLOBAL g, PCSZ db, PCSZ uri, PTOS topt);
|
|
void AddColumn(PGLOBAL g, PCSZ colname, PCSZ fmt, int k);
|
|
|
|
// Members
|
|
BCOL bcol;
|
|
PBCOL bcp, fbcp, pbcp;
|
|
PMGODEF tdp;
|
|
PTDB tmgp;
|
|
PCSZ drv;
|
|
int *length;
|
|
int i, ncol, lvl;
|
|
bool all;
|
|
}; // end of MGODISC
|
|
|
|
/***********************************************************************/
|
|
/* MongoDB table. */
|
|
/***********************************************************************/
|
|
class DllExport MGODEF : public EXTDEF { /* Table description */
|
|
friend class TDBCMG;
|
|
friend class TDBJMG;
|
|
friend class TDBGOL;
|
|
friend class TDBJGL;
|
|
friend class CMGFAM;
|
|
friend class MGODISC;
|
|
friend DllExport PQRYRES MGOColumns(PGLOBAL, PCSZ, PCSZ, PTOS, bool);
|
|
public:
|
|
// Constructor
|
|
MGODEF(void);
|
|
|
|
// Implementation
|
|
virtual const char *GetType(void) { return "MONGO"; }
|
|
|
|
// Methods
|
|
virtual bool DefineAM(PGLOBAL g, LPCSTR am, int poff);
|
|
virtual PTDB GetTable(PGLOBAL g, MODE m);
|
|
|
|
protected:
|
|
// Members
|
|
PCSZ Driver; /* MongoDB Driver (C or JAVA) */
|
|
PCSZ Uri; /* MongoDB connection URI */
|
|
PSZ Wrapname; /* Java wrapper name */
|
|
PCSZ Colist; /* Options list */
|
|
PCSZ Filter; /* Filtering query */
|
|
PCSZ Strfy; /* The stringify columns */
|
|
int Base; /* The array index base */
|
|
int Version; /* The Java driver version */
|
|
bool Pipe; /* True is Colist is a pipeline */
|
|
}; // end of MGODEF
|
|
|
|
#endif // __MONGO_H
|