mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
3e36eb230b
modified: storage/connect/array.cpp modified: storage/connect/array.h modified: storage/connect/blkfil.cpp modified: storage/connect/blkfil.h modified: storage/connect/block.h modified: storage/connect/colblk.cpp modified: storage/connect/colblk.h modified: storage/connect/csort.h modified: storage/connect/filamvct.cpp modified: storage/connect/filter.cpp modified: storage/connect/filter.h modified: storage/connect/global.h modified: storage/connect/json.h modified: storage/connect/plgdbsem.h modified: storage/connect/plgdbutl.cpp modified: storage/connect/tabcol.cpp modified: storage/connect/tabcol.h modified: storage/connect/tabdos.cpp modified: storage/connect/tabdos.h modified: storage/connect/tabjson.cpp modified: storage/connect/table.cpp modified: storage/connect/tabodbc.cpp modified: storage/connect/tabodbc.h modified: storage/connect/tabsys.h modified: storage/connect/tabxml.h modified: storage/connect/value.cpp modified: storage/connect/value.h modified: storage/connect/xindex.cpp modified: storage/connect/xindex.h modified: storage/connect/xobject.cpp modified: storage/connect/xobject.h modified: storage/connect/xtable.h Set values as nullable when retrieving catalog info modified: storage/connect/jdbconn.cpp modified: storage/connect/mysql-test/connect/r/odbc_oracle.result modified: storage/connect/odbconn.cpp Change format of Jpath modified: storage/connect/json.cpp modified: storage/connect/jsonudf.cpp modified: storage/connect/mysql-test/connect/r/json.result modified: storage/connect/mysql-test/connect/r/json_udf.result modified: storage/connect/mysql-test/connect/r/json_udf_bin.result modified: storage/connect/mysql-test/connect/r/zip.result modified: storage/connect/mysql-test/connect/t/json.test modified: storage/connect/mysql-test/connect/t/json_udf.test modified: storage/connect/mysql-test/connect/t/json_udf_bin.test modified: storage/connect/mysql-test/connect/t/zip.test modified: storage/connect/tabjson.cpp modified: storage/connect/tabjson.h modified: storage/connect/tabmgo.cpp Change null representation from ??? to <null> modified: storage/connect/json.cpp Change the name of UDF that are equal to a native JSON function name modified: storage/connect/jsonudf.cpp modified: storage/connect/jsonudf.h modified: storage/connect/mysql-test/connect/t/json_udf.inc modified: storage/connect/mysql-test/connect/t/json_udf2.inc Fix bug in making JSON project info modified: storage/connect/mongofam.cpp Fix COMPUTE when one argument is null modified: storage/connect/value.cpp Value is null only when nullable modified: storage/connect/value.h
105 lines
4.2 KiB
C++
105 lines
4.2 KiB
C++
/*************** Catalog H Declares Source Code File (.H) **************/
|
|
/* Name: CATALOG.H Version 3.3 */
|
|
/* */
|
|
/* (C) Copyright to the author Olivier BERTRAND 2000-2015 */
|
|
/* */
|
|
/* This file contains the CATALOG PlugDB classes definitions. */
|
|
/***********************************************************************/
|
|
#ifndef __CATALOG__H
|
|
#define __CATALOG__H
|
|
|
|
#include "block.h"
|
|
|
|
/***********************************************************************/
|
|
/* Defines the length of a buffer to contain entire table section. */
|
|
/***********************************************************************/
|
|
#define PLG_MAX_PATH 144 /* Must be the same across systems */
|
|
#define PLG_BUFF_LEN 100 /* Number of lines in binary file buffer */
|
|
|
|
|
|
//typedef class INDEXDEF *PIXDEF;
|
|
|
|
/***********************************************************************/
|
|
/* Defines the structure used to enumerate tables or views. */
|
|
/***********************************************************************/
|
|
typedef struct _curtab {
|
|
PRELDEF CurTdb;
|
|
char *Curp;
|
|
char *Tabpat;
|
|
bool Ispat;
|
|
bool NoView;
|
|
int Nt;
|
|
char *Type[16];
|
|
} CURTAB, *PCURTAB;
|
|
|
|
/***********************************************************************/
|
|
/* Defines the structure used to get column catalog info. */
|
|
/***********************************************************************/
|
|
typedef struct _colinfo {
|
|
PCSZ Name;
|
|
int Type;
|
|
int Offset;
|
|
int Length;
|
|
int Key;
|
|
int Precision;
|
|
int Scale;
|
|
int Opt;
|
|
int Freq;
|
|
PCSZ Remark;
|
|
PCSZ Datefmt;
|
|
PCSZ Fieldfmt;
|
|
ushort Flags; // Used by MariaDB CONNECT handlers
|
|
} COLINFO, *PCOLINFO;
|
|
|
|
/***********************************************************************/
|
|
/* CATALOG: base class for catalog classes. */
|
|
/***********************************************************************/
|
|
class DllExport CATALOG {
|
|
friend class RELDEF;
|
|
friend class TABDEF;
|
|
friend class DIRDEF;
|
|
friend class OEMDEF;
|
|
public:
|
|
CATALOG(void); // Constructor
|
|
virtual ~CATALOG() { } // Make -Wdelete-non-virtual-dtor happy
|
|
|
|
// Implementation
|
|
int GetCblen(void) {return Cblen;}
|
|
bool GetDefHuge(void) {return DefHuge;}
|
|
void SetDefHuge(bool b) {DefHuge = b;}
|
|
char *GetCbuf(void) {return Cbuf;}
|
|
|
|
// Methods
|
|
virtual void Reset(void) {}
|
|
virtual bool CheckName(PGLOBAL, char*) {return true;}
|
|
virtual bool ClearName(PGLOBAL, PSZ) {return true;}
|
|
virtual PRELDEF MakeOneTableDesc(PGLOBAL, LPCSTR, LPCSTR) {return NULL;}
|
|
virtual PRELDEF GetTableDescEx(PGLOBAL, PTABLE) {return NULL;}
|
|
//virtual PRELDEF GetTableDesc(PGLOBAL, LPCSTR, LPCSTR,
|
|
// PRELDEF* = NULL) {return NULL;}
|
|
virtual PRELDEF GetFirstTable(PGLOBAL) {return NULL;}
|
|
virtual PRELDEF GetNextTable(PGLOBAL) {return NULL;}
|
|
virtual bool TestCond(PGLOBAL, const char*, const char*) {return true;}
|
|
virtual bool DropTable(PGLOBAL, PSZ, bool) {return true;}
|
|
virtual PTDB GetTable(PGLOBAL, PTABLE,
|
|
MODE = MODE_READ, LPCSTR = NULL) {return NULL;}
|
|
virtual void TableNames(PGLOBAL, char*, int, int[]) {}
|
|
virtual void ColumnNames(PGLOBAL, char*, char*, int, int[]) {}
|
|
virtual void ColumnDefs(PGLOBAL, char*, char*, int, int[]) {}
|
|
virtual void *DecodeValues(PGLOBAL, char*, char*, char*,
|
|
int, int[]) {return NULL;}
|
|
virtual int ColumnType(PGLOBAL, char*, char*) {return 0;}
|
|
virtual void ClearDB(PGLOBAL) {}
|
|
|
|
protected:
|
|
virtual bool ClearSection(PGLOBAL, const char*, const char*) {return true;}
|
|
//virtual PRELDEF MakeTableDesc(PGLOBAL, LPCSTR, LPCSTR) {return NULL;}
|
|
|
|
// Members
|
|
char *Cbuf; /* Buffer used for col section */
|
|
int Cblen; /* Length of suballoc. buffer */
|
|
CURTAB Ctb; /* Used to enumerate tables */
|
|
bool DefHuge; /* true: tables default to huge */
|
|
}; // end of class CATALOG
|
|
|
|
#endif // __CATALOG__H
|