mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
f6ca3b05f2
Modified: ha_connect.cc (MakeRecord) Moved PlgAllocResult to plgdbutl.cpp Modified: mycat.cpp plgdbutl.cpp Continuing implementing the "catalog" tables (ex "info"). Already existing were the ODBC data source table and the WMI column info table. The common way to handle them was modified to enable each table types to send personalized data. Now takes care of all existing catalog functions for table types that can retrieve and use such information. Modified: ha_connect.cc odbconn.cpp tabodbc.h tabodbc.cpp tabfmt.h tabfmt.cpp tabmysql.h tabmysql.cpp tabwmi.h tabwmi.cpp myconn.h myconn.cpp filamdbf.cpp plgdbsem.h reldef.h reldef.cpp tabdos.h tabdos.cpp tabfix.h xtable.h table.cpp
99 lines
3.5 KiB
C++
99 lines
3.5 KiB
C++
/*************** TabDos H Declares Source Code File (.H) ***************/
|
|
/* Name: TABFIX.H Version 2.3 */
|
|
/* */
|
|
/* (C) Copyright to the author Olivier BERTRAND 1999-2012 */
|
|
/* */
|
|
/* This file contains the TDBFIX and (FIX/BIN)COL classes declares. */
|
|
/***********************************************************************/
|
|
#ifndef __TABFIX__
|
|
#define __TABFIX__
|
|
#include "tabdos.h" /* Base class declares */
|
|
#include "filamdbf.h"
|
|
|
|
typedef class FIXCOL *PFIXCOL;
|
|
typedef class BINCOL *PBINCOL;
|
|
typedef class TXTFAM *PTXF;
|
|
|
|
/***********************************************************************/
|
|
/* This is the DOS/UNIX Access Method class declaration for files */
|
|
/* that are standard files with columns starting at fixed offset. */
|
|
/* This class is for fixed formatted files. */
|
|
/***********************************************************************/
|
|
class DllExport TDBFIX : public TDBDOS {
|
|
friend class FIXCOL;
|
|
friend class BINCOL;
|
|
public:
|
|
// Constructor
|
|
TDBFIX(PDOSDEF tdp, PTXF txfp);
|
|
TDBFIX(PGLOBAL g, PTDBFIX tdbp);
|
|
|
|
// Implementation
|
|
virtual AMT GetAmType(void) {return TYPE_AM_FIX;}
|
|
virtual void RestoreNrec(void);
|
|
virtual PTDB Duplicate(PGLOBAL g)
|
|
{return (PTDB)new(g) TDBFIX(g, this);}
|
|
|
|
// Methods
|
|
virtual PTDB CopyOne(PTABS t);
|
|
virtual void ResetDB(void);
|
|
virtual bool IsUsingTemp(PGLOBAL g);
|
|
virtual int RowNumber(PGLOBAL g, bool b = false);
|
|
virtual int ResetTableOpt(PGLOBAL g, bool dox);
|
|
virtual void ResetSize(void);
|
|
virtual int GetBadLines(void) {return Txfp->GetNerr();}
|
|
|
|
// Database routines
|
|
virtual PCOL MakeCol(PGLOBAL g, PCOLDEF cdp, PCOL cprec, int n);
|
|
virtual int GetProgMax(PGLOBAL g);
|
|
virtual int Cardinality(PGLOBAL g);
|
|
virtual int GetMaxSize(PGLOBAL g);
|
|
virtual bool OpenDB(PGLOBAL g);
|
|
virtual int WriteDB(PGLOBAL g);
|
|
|
|
protected:
|
|
// Members are inherited from TDBDOS
|
|
}; // end of class TDBFIX
|
|
|
|
/***********************************************************************/
|
|
/* Class BINCOL: BIN access method column descriptor. */
|
|
/* This A.M. is used for file processed by blocks. */
|
|
/***********************************************************************/
|
|
class DllExport BINCOL : public DOSCOL {
|
|
friend class TDBFIX;
|
|
public:
|
|
// Constructors
|
|
BINCOL(PGLOBAL g, PCOLDEF cdp, PTDB tp, PCOL cp, int i, PSZ am = "BIN");
|
|
BINCOL(BINCOL *colp, PTDB tdbp); // Constructor used in copy process
|
|
|
|
// Implementation
|
|
virtual int GetAmType(void) {return TYPE_AM_BIN;}
|
|
|
|
// Methods
|
|
virtual void ReadColumn(PGLOBAL g);
|
|
virtual void WriteColumn(PGLOBAL g);
|
|
|
|
protected:
|
|
BINCOL(void) {} // Default constructor not to be used
|
|
|
|
// Members
|
|
char Fmt; // The column numeric format
|
|
}; // end of class BINCOL
|
|
|
|
/***********************************************************************/
|
|
/* This is the class declaration for the DBF columns catalog table. */
|
|
/***********************************************************************/
|
|
class TDBDCL : public TDBCAT {
|
|
public:
|
|
// Constructor
|
|
TDBDCL(PDOSDEF tdp) : TDBCAT(tdp) {Fn = tdp->GetFn();}
|
|
|
|
protected:
|
|
// Specific routines
|
|
virtual PQRYRES GetResult(PGLOBAL g) {return DBFColumns(g, Fn, false);}
|
|
|
|
// Members
|
|
char *Fn; // The DBF file (path) name
|
|
}; // end of class TDBOCL
|
|
|
|
|
|
#endif // __TABFIX__
|